BadRabbit es un
ransomware que cuenta con muchos elementos similares a NotPetya, lo que sugiere
que los autores detrás del ataque sean los mismos. Sin embargo esta vez el
cifrado se ha sustituido por una herramienta más avanzada para evitar los
errores cometidos anteriormente. Durante el análisis nos centraremos en la DLL
maliciosa.
A diferencia de
NotPetya, este malware no hace uso de EternalBlue para distribuirse. Sin
embargo, de manera similar utiliza 'WMIC' para distribuir los archivos y
realiza un escaneo de la red interna buscando 'SMB' compartidos, entre los que
se encuentran:
En esta ocasión se
cuenta con listado de credenciales empleadas para llevar a cabo ataques de
diccionario sobre los dispositivos remotos, junto con un módulo basado en
Mimikatz para recolectar usuarios y contraseñas.
Se puede observar
también que existen directorios que no se ven afectados por el ransomware. Los
directorios \\Windows, \\Program Files, \\ProgramData y \\AppData no son
cifrados.
La lista de
extensiones afectadas podemos verla a continuación.
.3ds .7z .accdb
.ai .asm .asp .aspx .avhd .back .bak .bmp .brw .c .cab .cc .cer .cfg .conf .cpp
.crt .cs .ctl .cxx .dbf .der .dib .disk .djvu .doc .docx .dwg .eml .fdb .gz .h
.hdd .hpp .hxx .iso .java .jfif .jpe .jpeg .jpg .js .kdbx .key .mail .mdb .msg
.nrg .odc .odf .odg .odi .odm .odp .ods .odt .ora .ost .ova .ovf .p12 .p7b .p7c
.pdf .pem .pfx .php .pmf .png .ppt .pptx .ps1 .pst .pvi .py .pyc .pyw .qcow
.qcow2 .rar .rb .rtf .scm .sln .sql .tar .tib .tif .tiff .vb .vbox .vbs .vcb
.vdi .vfd .vhd .vhdx .vmc .vmdk .vmsd .vmtm .vmx .vsdx .vsv .work .xls .xlsx .x
ml .xvd .zip
La mayoría de
extensiones son las más comunes entre el ransomware, aunque esta vez incluye objetivos
como archivos de maquinas virtuales para los distintos sistemas de
virtualización además de ficheros comprimidos, documentos de Office, vídeo,
código (.java, .c, .cpp, etc)
El cifrado se lleva a
cabo a través de DiskCryptor, un software legítimo utilizado para hacer un
cifrado completo del disco, el cual es instalado como servicio por el malware.
Las claves aleatorias se generan a través de una función criptográficamente
segura CryptGenRandom y luego son protegidos por una clave publica RSA 2048 harcodeada.
Finalmente, la clave
aleatoria es utilizada como argumento en otra herramienta encargada de hacer el
cifrado del archivo:
schtasks /Create /RU
SYSTEM /SC ONSTART /TN rhaegal /TR %ws /C Start \"\"
\"%wsdispci.exe\" -id %u && exit"
De momento, el ataque
parece dirigido a usuarios de Europa del Este por lo que los países como Rusia,
Bulgaria y Ukrania se ven afectados por el ataque en su mayoría; aunque también
Japón y Turquía reciben un numero elevado de infecciones. La distribución se
hace a través de un javascript malicioso.
Este malware necesita
permisos de creación de archivos en carpetas que requieren privilegios de
administrador. Por tanto, si el ransomware no es ejecutado como administrador y
existen unas políticas correctas en el sistema no se llegará a ejecutar con
éxito. Otra manera de evitar la infección, es crear un archivo C:\perfc.dat con
permisos de READ-ONLY (sólo lectura) que al estar presente provocará que el
ransomware no siga realizando ninguna acción.
Más información:
- infpub.dat (Empleada en el análisis) https://www.virustotal.com/#/file/579fd8a0385482fb4c789561a30b09f25671e86422f40ef5cca2036b28f99648/detection
- Mimikatz https://github.com/gentilkiwi/mimikatz
- NotPetya https://blog.malwarebytes.com/cybercrime/2017/06/petya-esque-ransomware-is-spreading-across-the-world/
- Bad Rabbit: Not-Petya is back with improved ransomware https://www.welivesecurity.com/2017/10/24/bad-rabbit-not-petya-back/