El objetivo básico de Locky es cifrar determinados ficheros del sistema y unidades de red para, posteriormente, exigirle al usuario un rescate si desea recuperarlos, todos los ficheros los renombra con el [hash].locky

La infección se produce vía Email con un word adjunto. Cuando el usuario abre el documento Word activa una macro maliciosa que ejecuta un script para descargar el binario

código macro
Código Macro para ejecutar el script

 

El script se comunica con su servidor para primero descargar en %TEMP% y luego ejecutar el fichero malicioso.

 

traza locky
Traza con la que se descarga el locky al equipo

 

Una vez ejecutado el Locky genera un identificador único de maquina, mediante el GUID del sistema operativo y crea en el registro HKEY_CURRENT_USER\Software\Locky\id con el valor generado. Se comunica con el C&C para obtener la clave a utilizar durante el cifrado RSA-2048 y AES-128 de los ficheros y la almacena en el registro HKEY_CURRENT_USER\Software\Locky\pubkey .

Se descarga el fichero txt con las instrucciones , lo guarda en el registro HKEY_CURRENT_USER\Software\Locky\paytext y genera un fichero con el nombre __Locky_recover_instructions.txt en cada carpeta donde cifre un fichero cuando finalice el proceso de cifrado del disco duro hará uso de la api ShellExecuteA para abrir el fichero txt.

Locky enumerará todos los ficheros que existen en el equipo y seleccionará aquellos que coincidan con la lista de extensiones que incluye para cifrarlos con AES y renombrarlos a un hash con extensión .locky

Lista de extensiones que cifra el Locky

.m4u, .m3u, .mid, .wma, .flv, .3g2, .mkv, .3gp, .mp4, .mov, .avi, .asf, .mpeg, .vob, .mpg, .wmv, .fla, .swf, .wav, .mp3, .qcow2, .vdi, .vmdk, .vmx, .gpg, .aes, .ARC, .PAQ, .tar.bz2, .tbk, .bak, .tar, .tgz, .rar, .zip, .djv, .djvu, .svg, .bmp, .png, .gif, .raw, .cgm, .jpeg, .jpg, .tif, .tiff, .NEF, .psd, .cmd, .bat, .class, .jar, .java, .asp, .brd, .sch, .dch, .dip, .vbs, .asm, .pas, .cpp, .php, .ldf, .mdf, .ibd, .MYI, .MYD, .frm, .odb, .dbf, .mdb, .sql, .SQLITEDB, .SQLITE3, .asc, .lay6, .lay, .ms11 (Security copy), .ms11, .sldm, .sldx, .ppsm, .ppsx, .ppam, .docb, .mml, .sxm, .otg, .odg, .uop, .potx, .potm, .pptx, .pptm, .std, .sxd, .pot, .pps, .sti, .sxi, .otp, .odp, .wb2, .123, .wks, .wk1, .xltx, .xltm, .xlsx, .xlsm, .xlsb, .slk, .xlw, .xlt, .xlm, .xlc, .dif, .stc, .sxc, .ots, .ods, .hwp, .602, .dotm, .dotx, .docm, .docx, .DOT, .3dm, .max, .3ds, .xml, .txt, .CSV, .uot, .RTF, .pdf, .XLS, .PPT, .stw, .sxw, .ott, .odt, .DOC, .pem, .p12, .csr, .crt, .key

Por último deshabilita el servicio shadowcopy del ordenador mediante el comando vssadmin, impidiendo que el usuario no pueda recuperar las copias de seguridad creadas por el sistema operativo y finalmente trata de borrar el fichero .exe para borrar su rastro del equipo.

Aunque en esta versión no se detectó el uso de persistencia en otras versiones se puede observar que añade al sistema el siguiente registro:

HKEY_CURRENT_USER\ Software\Microsoft\Windows\CurrentVersion\Run “Locky” = “%TEMP%\[nombre].exe”