Un regard technique au cœur du récent ransomware appelé Locky.
Ce nouveau cryptage de fichier, qui cible les utilisateurs de PC, a probablement été créé par les auteurs du célèbre botnet Dridex et il est propagé de la même façon.
Locky utilise toutes les fonctionnalités de « haut rang », telles qu'un algorithme de génération de domaine, une communication chiffrée personnalisée, un paiement en TOR ou en BitCoins, un solide chiffrement de fichier RSA-2048+AES-128 et la capacité de chiffrer plus de 160 types de fichiers différents, y compris des disques virtuels, des codes sources et des bases de données.
Nous avons examiné la « famille » Locky le mois dernier et découvert une seconde variante du programme malveillant, qui possède de nouvelles caractéristiques et un codage de programmation amélioré. Les auteurs de Locky ont ajouté une nouvelle valeur initiale codée en dur à l'algorithme de génération de domaine, qui leur permet de désactiver Locky sur les ordinateurs russes.
Vecteur d'infection
Locky se propage via des campagnes de spams par e-mail, très similaires à celles utilisées par le botnet Dridex. Ils utilisent des noms de fichiers similaires, les mêmes méthodes d'obscurcissement, de contenu de message et de structure des URL de téléchargement.
Nous avons observé trois versions différentes de campagne Locky, décrites ci-dessous.
Voici un exemple de l'un des e-mails de spam. Les e-mails sont conçus pour faire croire aux destinataires qu'ils ont été envoyés de la part d'une grande société comme Nordstrom, Symantec et Crown Holdings.

Nous avons trouvé différents documents malveillants (Word, Excel, etc.) joints aux e-mails qui incluent des macros comportant un VBS (Visual Basic Script) trompeusement obscurci. Les auteurs du programme malveillant utilisent uneingénierie sociale pour amener le destinataire à activer les macros désactivées par défaut. Le code malfaisant contient une commande sub Auto_open() qui déclenche l'exécution du VBS une fois que les macros ont été activées.

Campagne version 1

Les auteurs de Locky utilisent un obscurcissement inhabituel via la fonction CallByName et une chaîne significative pour générer le code VBS.

L'obscurcissement est simple et c'est le même que celui trouvé dans les campagnes d'e-mails Dridex. L'URL de téléchargement est « chiffrée » et codée en dur comme une matrice.
VBS après désobscurcissement :

Campagne version 2

Dans la deuxième campagne, les auteurs ont utilisé un obscurcissement plus compliqué des fichiers de script et ajouté plus d'étapes avant le téléchargement du fichier binaire PE final.
Fichier de commandes obscurci :

Visual Basic Script désobscurci final :

Script d'exécution et URL de téléchargement de texte codé en dur :

Campagne version 3

Nous avons également repéré des e-mails comportant un téléchargeur Javascript obscurci très générique, à l'intérieur des archives Zip.

Ici, il s'agit du même téléchargeur que celui utilisé dans la campagne version 2. Dans ce cas cependant, il a juste été réécrit en langage Javascript.
Voici le JavaScript après désobscurcissement :
Le téléchargement et l'exécution du programme malveillant Locky est l'étape ultime et finale des trois campagnes décrites.
Nous avons également détecté deux types spécifiques d'URL de téléchargement à l'intérieur des archives et documents infectés.
Domaine de type 1
|
Domaine de type 2
|
ecoledecorroy.be/1/1.exe
onigirigohan.web.fc2.com/1/1.exe
killerjeff.free.fr/2/2.exe
lasmak.pl/2/2.exe
animar.net.pl/3/3.exe
uponor.otistores.com/3/3.exe
premium34.tmweb.ru/4/4.exe
suicast.de/4/4.exe
bebikiask.bc00.info/5/5.exe
ratgeber-beziehung.de/5/5.exe
proteusnet.it/6/6.exe
test.rinzo.biz/6/6.exe
avp-mech.ru/7/7.exe
luigicalabrese.it/7/7.exe
|
173.214.183.81/~tomorrowhope/09u8h76f/65fg67n
66.133.129.5/~chuckgilbert/09u8h76f/65fg67n
iynus.net/~test/09u8h76f/65fg67n
mondero.ru/system/logs/56y4g45gh45h
neways-eurasia.com.ua/system/logs/7647gd7b43f43.exe
tcpos.com.vn/system/logs/56y4g45gh45h
tramviet.vn/system/logs/7647gd7b43f43.exe
www.bag-online.com/system/logs/56y4g45gh45h
choobyta.com/system/logs/23f3rf33.exe
bitmeyenkartusistanbul.com/system/logs/87h754/
shop.havtoto.bget.ru/system/logs/45g456jhyfg
www.iglobali.com/34gf5y/r34f3345g.exe
www.jesusdenazaret.com.ve/34gf5y/r34f3345g.exe
www.southlife.church/34gf5y/r34f3345g.exe
www.villaggio.airwave.at/34gf5y/r34f3345g.exe
|
Les documents malveillants de la campagne version 2 utilisent une fonction de décodage Base64 très spécifique, écrite en Visual Basic Script et que nous avons aussi découverte au sein d'autres campagnes malveillantes Banker/Banload/RAT au Brésil.

Cryptor de fichier Locky
Nous avons d'abord vu des exemplaires de Locky se propager sans outil PE Packer, ce qui est étrange car les programmes malveillants contiennent généralement des outils génériques de conditionnement PE pour éviter les détections AV.
Voyez ci-dessous un graphique montrant les pays nouvellement infectés, au jour le jour (JJ/MM/AAAA). Il existe trois pics, qui représentent les nouvelles campagnes ciblant différentes géolocalisations. Le nombre total de pays infectés atteint plus de 160.

Date
|
Nombre
|
Pays infectés
|
18.02. 2016
|
18
|
Brésil, Viet Nam, Afrique du Sud, Ghana, Lithuanie, Bulgarie, Koweït, Croatie, Namibie, Allemagne, France, Espagne, Ukraine, Pérou, Mexique, Chili, Équateur, États-Unis
|
19.02. 2016
|
24
|
Philippines, Inde, Autriche, Liban, Corée du Sud, Thaïlande, Slovénie, République tchèque, Hongrie, Moldavie, Belgique, Italie, Grèce, Roumanie, Pays-Bas, Indonésie, Pologne, Maroc, Irlande, Kénya, Bolivie, Costa Rica, Jamaïque, Colombie
|
20.02. 2016
|
2
|
Malaisie, Paraguay
|
21.02. 2016
|
1
|
Argentine
|
22.02. 2016
|
4
|
Serbie, Luxembourg, Singapour, Bangladesh
|
23.02. 2016
|
2
|
Finlande, Puerto Rico
|
24.02.2016
|
12
|
Sri Lanka, Arabie saoudite, Brunei Darussalam, Pakistan, Cambodge, Grande-Bretagne, Taïwan, Guatemala, Curaçao, Canada, Portugal, Japon
|
25.02. 2016
|
4
|
Bosnie-Herzégovine, Azerbaïdjan, Tunisie, Slovaquie
|
26.02. 2016
|
22
|
Australie, Hong Kong, Israël, Kirghizistan, Turquie, Suisse, Estonie, Suède, Danemark, Guadeloupe, Fédération russe, Malte, Égypte, Réunion, Norvège, Chine, Martinique, Macédonie, Émirats Arabes Unis, Barbade, Chypre, Vénézuela
|
27.02. 2016
|
4
|
Quatar, Maldives, Zimbabwe, Algérie
|
28.02. 2016
|
5
|
Panama, Jordanie, Djibouti, Congo, Uruguay
|
29.02. 2016
|
7
|
Géorgie, Lettonie, Ouganda, Gabon, Angola, Nigéria, Cameroun
|
1.03. 2016
|
6
|
Comores, Congo, Sénégal, Nicaragua, Nouvelle-Calédonie, Salvador
|
2.03. 2016
|
6
|
Nouvelle-Zélande, Botswana, Niger, Madagascar, Haïti, Côte d’Ivoire
|
3.03. 2016
|
5
|
Biélorussie, Kazakhstan, Irak, Arménie, République dominicaine
|
4.03. 2016
|
3
|
Maurice, Bénin, Honduras
|
5.03. 2016
|
22
|
Zambie, Mali, Liechtenstein, Cap Vert, Islande, Yémen, Guernesey, Macao, Palestine, Monaco, Tanzanie, Guyane, Bahamas, Bahreïn, Togo, Saint-Marin, Îles Cook, Malawi, Cité du Vatican, Vanuatu, Grenade, Polynésie française
|
6.03. 2016
|
11
|
Îles Mariannes du Nord, Oman, Seychelles, Népal, Libéria, Libye, Gibraltar, Andorre, Monténégro, Îles d'Åland, Saint-Christophe-et-Niévès
|
7.03. 2016
|
9
|
Guyane française, Mongolie, République démocratique populaire lao, Tonga, Turkménistan, Éthiopie, Mozambique, Albanie, Swaziland
|
Le Top 10 des pays qui ont rencontré Locky est le suivant : France, Italie, Allemagne, Espagne, États-Unis, Grande-Bretagne, Pologne, Japon, République tchèque et Canada.
Persistance
Après son exécution, le fichier binaire Locky est copié dans le répertoire %TEMP% et renommé svchost.exe, pour le rendre plus difficile à trouver et à supprimer par le destinataire. Le programme malveillant supprime ensuite l'indicateur :Zone.Identifier du fichier svchost.exe nouvellement créé (pour contourner l'avertissement « Fichier téléchargé depuis Internet ») qu'il exécute.

Le premier fichier binaire Locky téléchargé est déplacé dans le répertoire %TEMP% et renommé « sys*.tmp », puis supprimé par cmd.exe.

Locky règle aussi une valeur de registre sur Software\Microsoft\Windows\CurrentVersion\Run pour le cas où l'ordinateur infecté serait redémarré avant que le programme malveillant ait chiffré tous les fichiers. Le cas échéant, Locky chiffre les fichiers lors de la session suivante.
Le programme malveillant crée un nouveau processus avec la valeur CommandLine « vssadmin.exe Delete Shadows /All /Quiet » et supprime les données stockées du Service de cliché instantané des volumes. Sur un ordinateur infecté, cette action empêche une récupération de sauvegarde ou une restauration du système depuis des données enregistrées précédemment.
Le programme malveillant ajoute ensuite une valeur « completed=1 » à la clé de registre Locky et supprime la valeur\CurrentVersion\Run précédemment ajoutée après le chiffrement de tous les fichiers possibles. Il ouvre aussi un fichier texte d'instructions, crée un fichier image du fichier texte et définit une image des instructions en tant que papier peint du Bureau de l'ordinateur.
Le processus malveillant est fermé et le fichier malveillant svchost.exe est supprimé du répertoire %TEMP% à la toute dernière étape.
Serveurs C&C
Locky contient des adresses IP codées en dur de serveurs C&C (Command and Control) et utilise aussi un algorithme de génération de domaine, qui sert probablement de générateur de secours si les adresses IP principales sont bloquées.
Les serveurs C&C sont utilisés pour signaler les infections et échanger des clés de chiffrement.
Algorithme de génération de domaine (DGA)
À l'origine, l'algorithme de génération de domaine (DGA, Domain Generation Algorithm) était basé sur deux valeurs initiales codées en dur et le temps sur le système courant d'une machine infectée. Cette version du DGA génère six domaines uniques tous les deux jours.

Les auteurs ont décidé de changer le DGA pour un algorithme moins déterministe après un rapide bloc ou naufrage de domaines des AV. Cette version du DGA est maintenant basée sur une valeur initiale codée en dur sur le fichier binaire malveillant et cette valeur peut être modifiée à tout moment ou dans chaque exemplaire. Elle génère aussi huit domaines uniques tous les deux jours.
Les deux versions exploitent les domaines de premier niveau suivants :
.be, .de, .eu, .fr, .in, .it, .nl, .pm, .pw, .ru, .tf, .uk, .us, .yt.
Vous pouvez télécharger les deux scripts DGA Python ici et ici.
Liste des adresses IP codées en dur :
Adresses IP codées en dur
|
ISP/Organisation/Géolocalisation
|
IP résolues
|
5.34.183.136
|
Ua Servers, UA
|
skaldin.uaservers.net
|
31.41.47.3
|
RelinkRoute, Relink LTD, RU
|
31.41.47.3
|
31.41.47.37
|
RelinkRoute, Relink LTD, RU
|
casader.ce
|
31.184.233.106
|
Virty.io Network, Virty.io, RU
|
31.184.233.106
|
46.4.239.76
|
Hetzner-rz-fks, ObjectNova, DE
|
static.76.239.4.46.clients.your-server.de
|
85.25.138.187
|
PlusServer AG, BSB-Service GmbH, DE
|
echo509.dedicatedpanel.com
|
86.104.134.144
|
One Telecom SRL, MD
|
144.onetelecom.md
|
91.121.97.170
|
Ovh Isp, Ovh Sas, FR
|
ns353643.ip-91-121-97.eu
|
91.195.12.185
|
Host4.Biz, PE Astakhov Pavel Viktorovich, UA
|
91-195-12-185.net.host4.biz
|
91.234.33.206
|
FOP Sedinkin Olexandr Valeriyovuch, UA
|
client.thehost.com.ua
|
94.242.57.45
|
NET Network & vStoike.com DC, RU
|
mail.hsaworkshop.ru
|
95.181.171.58
|
Qwarta.ru, QWARTA LLC, RU
|
95.181.171.58
|
109.237.111.168
|
Adman, Krek Ltd., RU
|
109.237.111.168
|
109.234.38.35
|
Vdsina, RU
|
qikos.sa
|
185.14.29.188
|
Camper Solutions, NL
|
skaldin11.example.com
|
185.14.30.97
|
Camper Solutions, NL
|
vepliok.pq
|
185.46.11.239
|
Agava, RU
|
kvm17915.hv9.ru
|
185.82.216.213
|
Itldc1-sof1, BG
|
skaldin21.example.com
|
188.138.88.184
|
Plusserver AG, intergenia AG, DE
|
xray730.dedicatedpanel.com
|
192.71.213.69
|
RIPE Network Coordination Center. FR
|
335.ES.multiservers.xyz
|
192.121.16.196
|
EDIS GmbH, AT
|
335.NL.multiservers.xyz
|
193.124.181.169
|
MAROSNET Telecommunication Company Network, RU
|
test.ru
|
195.154.241.208
|
Online SAS, FR
|
304.worldit.xyz
|
212.47.223.19
|
LINXTELECOM Linx Telecommunications B.V., EE
|
ought-scan.retirecompet.com.223.47.212.in-addr.arpa
|
Neuf serveurs sont situés en Russie, trois en Allemagne et les autres se trouvent en France, aux Pays-Bas, en Ukraine, Autriche, Bulgarie, Estonie et Moldavie.
Communication C&C
Toutes les requêtes C&C sont dans un format spécifique :
HTTP/1.1 POST http://{hardcoded_IP_or_DGA}/.main.php?{parameters}
Paramètres
Le programme malveillant calcule un ID utilisateur et réunit quelques informations sur la machine infectée. L'ID utilisateur n'est pas généré de façon aléatoire mais au contraire calculé comme une empreinte MD5 du GUID du point de montage de volume issu du disque dur de la machine infectée. Ce GUID peut être affiché si le cmd.exe est exécuté et si la commande « mountvol » est saisie.
Locky vérifie la version du système d'exploitation de l'appareil infecté, si c'est une version 32 ou 64 bits, si le service pack original est installé et quelle langue est utilisée sur l'ordinateur, afin de déterminer en quelle langue afficher le message de rançon. Les paramètres AffiliateID, la commande C&C et deux autres paramètres, &corp= et &serv=, sont également requis par le serveur C&C. La valeur Affiliate ID est codée en dur au sein du fichier binaire du Locky. Nous avons trouvé des AffiliateID avec des valeurs de 0, 1 et 3.
Tous les paramètres sont fusionnés :

Paramètres de commande Locky C&C « &act= » :
Paramètre
|
Action
|
getkey
|
Demande de clé RSA publique
|
stats&path + encrypted, failed, length
|
Statistiques globales de chiffrement et chemins d'accès aux fichiers chiffrés.
|
report&data
|
Liste de tous les fichiers chiffrés.
|
gettext&lang
|
Demande des fichiers de langue Locky
|
La totalité du trafic du programme malveillant est chiffré avec deux algorithmes différents pour les données entrantes et sortantes ; les deux algorithmes contiennent des clés codées en dur spécifiques. Les données à la fois de trafic entrant et sortant incluent une empreinte MD5 en tant que CRC du contenu des données.
Chiffrement des fichiers
Le programme malveillant commence le chiffrement des fichiers uniquement après avoir reporté l'infection au serveur C&C et renvoyé la clé RSA publique. Locky ne commence pas à chiffrer les fichiers sans la clé RSA requise ou si l'appareil est déconnecté d'Internet. Les clés RSA publique et privée pour chaque infection sont générées côté serveur, et un déchiffrement manuel est donc impossible.
Les attaquants utilisent le chiffrement RSA-2048 + AES-128 avec le mode ECB de chiffrement de fichier. Tous les fichiers chiffrés sont renommés pour former{USERID}{random_hash} avec l'extension .locky.
Types de fichiers affectés
Le programme malveillant Locky peut chiffrer 164 types de fichiers qui peuvent être répartis en 11 catégories :
Fichiers Office/Documents (62x) :
|
.123, .602, .CSV, .dif, .DOC, .docb, .docm, .docx, .DOT, .dotm, .dotx, .hwp, .mml, .odg, .odp, .ods, .odt, .otg, .otp, .ots, .ott, .pdf, .pot, .potm, .potx, .ppam, .pps, .ppsm, .ppsx, .PPT, .pptm, .pptx, .RTF, .sldm, .sldx, .slk, .stc, .std, .sti, .stw, .sxc, .sxd, .sxi, .sxm, .sxw, .txt, .uop, .uot, .wb2, .wk1, .wks, .xlc, .xlm, .XLS, .xlsb, .xlsm, .xlsx, .xlt, .xltm, .xltx, .xlw, .xml
|
Codes Scripts/Sources (23x) :
|
.asm, .asp, .bat, .brd, .c, .class, .cmd, .cpp, .cs, .dch, .dip, .h, .jar, .java, .js, .pas, .php, .pl, .rb, .sch, .sh, .vb, .vbs
|
Fichiers Multimédias (20x) :
|
.3g2, .3gp, .asf, .avi, .fla, .flv, .m3u, .m4u, .mid, .mkv, .mov, .mp3, .mp4, .mpeg, .mpg, .swf, .vob, .wav, .wma, .wmv
|
Fichiers Graphique/Image (14x) :
|
.bmp, .cgm, .djv, .djvu, .gif, .jpeg, .jpg, .NEF, .png, .psd, .raw, .svg, .tif, .tiff
|
Fichiers Bases de données (14x) :
|
.db, .dbf, .frm, .ibd, .ldf, .mdb, .mdf, .MYD, .MYI, .odb, .onenotec2, .sql, .SQLITE3, .SQLITEDB
|
Archives (11x) :
|
.7z, .ARC, .bak, .gz, .PAQ, .rar, .tar, .bz2, .tbk, .tgz, .zip
|
Fichiers CAD/CAM/3D (8x) :
|
.3dm, .3ds, .asc, .lay, .lay6, .max, .ms11, .ms11 (Security copy)
|
Certificats (5x) :
|
.crt, .csr, .key, .p12, .pem
|
HDD virtuel (4x) :
|
.qcow2, .vdi, .vmdk, .vmx
|
Chiffrement de données (2x) :
|
.aes, .gpg
|
Monnaie virtuelle (1x) :
|
wallet.dat
|
L'éventail des types de fichiers étant très large, ce programme malveillant peut aussi affecter un grand nombre d'entreprises. Les types de fichiers .ms11 présentent un intérêt particulier car ils sont créés par l'application CAD utilisée pour les cartes de circuits imprimés. Les types de fichiers de la catégorie HDD virtuel sont également d'un grand intérêt car ils sont utilisés par de nombreux développeurs, testeurs ou solutions d'entreprises virtualisées.
Locky ajoute également un fichier « _Locky_recover_instructions.txt » à chaque répertoire contenant des fichiers chiffrés et met en place un fichier « _Locky_recover_instructions.bmp » comme papier peint de Bureau.
Locky chiffre les fichiers sur tous les disques fixes, les disques amovibles et même sur les lecteurs de disque RAM. Les disques distants ne sont pas affectés.
Nous avons découverts certains changements au sein de la version binaire Locky la plus récente. L'algorithme est maintenant plus pointilleux et précis.
Exclusion des PC russes
Le version la plus récente du programme malveillant contient une nouvelle valeur de configuration codée en dur qui désactive le chiffrement Locky sur les ordinateurs dont les paramètres régionaux sont réglés sur Russie ou dont la langue est le russe (0x19). La valeur de configuration codée en dur détermine également combien de temps Locky devra rester dormant après son exécution pour éviter sa détection par un bac à sable (sandbox).
Structure de la configuration
Les exemplaires malveillants de la version récente contiennent des données de configuration codées en dur. Sont inclus le paramètre AffiliateID (DWORD), la valeur initiale DGA (DWORD), le nombre de secondes de dormance (DWORD), les données de création %TEMP%\svchost.exe (BYTE), la définition Locky du registre\CurrentVersion\RUN (BYTE), l'exclusion des machines RU et la liste des adresses IP codées en dur.
Méthode de paiement Locky
Le système de paiement Locky pour obtenir le déchiffrement des fichiers est le même que celui de nombreux autres ransomwares. Le site Web de Locky est dissimulé à l'intérieur du réseau TOR et la rançon est payable uniquement en BitCoins. Le prix du déchiffrement dépend vraisemblablement du nombre de fichiers chiffrés et la valeur de la rançon démarre généralement à 0,5 BitCoins.
Le déchiffreur de Locky se trouve sur les sites TOR suivants :
6dtxgqam4crv6rr6.onion
i3ezlvkoi7fwyood.onion
lpholfnvwbukqwye.onion
twbers4hmi6dc65f.onion
Les auteurs de Locky ont modifié la conception de la page Web du déchiffreur pendant sa campagne.
Conception originale :
Nouvelle conception :

Une fois que votre paiement aura été vérifié, vous pourrez télécharger le déchiffreur Locky. Le déchiffreur contient une clé RSA privée codée en dur et il est également possible de déchiffrer les fichiers avec d'autres fichiers de clé stockés en utilisant le paramètre /key.

Traces
À l'intérieur de certains documents malveillants de Locky, nous avons découvert plusieurs chaînes qui font la lumière sur les auteurs du programme malveillant. Comme précédemment mentionné, les créateurs de Locky sont probablement les mêmes que ceux du groupe Dridex, ou qui y sont liés de près, car ils utilisent les mêmes techniques d'obscurcissement et de campagne de spams par e-mail.
Nous suspectons également que les auteurs sont originaires de Russie car beaucoup de leurs serveurs C&C s'y trouvent. Ils ont aussi ajouté, au nouveau fichier binaire Locky, une fonction excluant les PC russes de l'infection.
En examinant d'encore plus près les chaînes du Locky, nous avons découvert que certains documents malveillants contiennent des chaînes d'accès incluant même des noms d'utilisateurs de PC. Incroyable !


Conclusions
Le ransomware Locky est actuellement un acteur majeur dans la sphère de la malveillance. L'examen de Locky montre qu'il se caractérise par des fonctionnalités importantes comme un système DGA temporisé, d'énormes campagnes de spams par e-mail, différentes langues de script, des outils PE Packer génériques, une fonction de génération de clés de chiffrement au niveau serveur et un paiement de la rançon en TOR ou en BitCoins.
Les auteurs de Locky sont doués et le développent encore plus. Ils ont répondu au blocage de l'infrastructure de leur serveur C&C par l'industrie AV en modifiant l'algorithme DGA, et en corrigeant quelques bogues mineurs dans la nouvelle version.
Le programme malveillant de chiffrement de fichiers est actuellement très répandu et peut rapporter très gros. Nous sommes donc convaincus que de nouvelles familles de ransomwares verront le jour cette année.
Comment se protéger
- Comme toujours, n'ouvrez aucune pièce jointe douteuse (p. ex. fichiers .doc, .xls et .zip).
- Désactivez les macros par défaut dans Microsoft Office et n'activez jamais des macros dans des pièces jointes bizarres ou inconnues reçues par e-mail.
- Gardez des copies de sauvegarde récentes de vos données importantes dans un endroit sûr, en ligne ou hors ligne.
- Vérifiez que votre système et vos applications sont régulièrement actualisé(e)s et corrigé(e)s.
Merci d’utiliser Avast Antivirus et de nous recommander à vos amis et votre famille. Pour connaître les dernières actualités, pensez à nous suivre sur Facebook, Twitter et Google+.