Siguiendo una nueva tendencia en la liga de ransomware


Tiempo estimado de lectura: 5 5 minutos

Los autores de ransomware siguen explorando nuevas formas de probar sus puntos fuertes frente a diversas técnicas de evasión de malware. El ransomware conocido como "Ouroboros" está intensificando su huella en el campo al traer más y más avances en su comportamiento a medida que actualiza su versión. Este análisis proporciona el comportamiento de la versión 6, algunas variantes anteriores y algunas ideas sobre la versión 7. Este Ransomware no solo aplica métodos convencionales sino que también adopta algunas técnicas nuevas que hacen que sea muy difícil de analizar.

Vector de infección
Ouroboros existe desde hace un año y se propaga a través de ataques RDP Bruteforce, descargas engañosas y a través del Bloque de mensajes del servidor (SMB), que generalmente se usa para compartir archivos y algunas tareas administrativas en los puntos finales de Windows conectados a través de una red.

Análisis técnico
Durante el análisis, descubrimos que inicialmente detiene el proceso SQL (SQLWriter, SQLBrowser, MSSQLSERVER, MSSQL $ CONTOSO1, MSDTC, SQLSERVERAGENT, MySQL, etc.) para cifrar los archivos que están abiertos en una base de datos creando el proceso cmd.exe con " comando net stop ”como se muestra en la figura a continuación.

Fig.1 Fragmento de código para detener el proceso SQL a través de cmd

También detiene algún otro proceso sql como sqlserver.exe, sqlagent.exe, etc., pero utiliza otro método para finalizar.

Fig.2 Adoptando un método diferente para detener otros procesos SQL

Semejanza con LockerGoga
Forma una pila de claves de 0x40 bytes que consta de 0x20 bytes de clave generados a partir de la API CryptGenKey Crypto y la combina con 0x20 bytes que ya están presentes en el archivo. Luego realiza operaciones AES en ellos similares a LockerGoga. Ouroboros y LockerGoga usan la biblioteca crypto ++ que dificulta el análisis. Si bien los pasos para cifrar los datos son los mismos, ambos utilizan diferentes modos de cifrado. LockerGoga usa AES en modo CTR, mientras que Ouroboros usa AES en modo CFB.
Ambas muestras utilizan instrucciones aesenc / aesenclast, que forman parte del conjunto de instrucciones AES-NI introducido por Intel alrededor de 2009.

Fig.3 Conjunto de instrucciones utilizado por malware

Procedimiento de cifrado
Como se explicó anteriormente, después de hacer una pila de claves de 0x40 bytes, expande la clave usando la expansión de clave Rijndael de 0x20 (256 bits) a 240 bytes realizando 15 rondas de varias expresiones matemáticas.

Fig.4 Tecla expandida usando la expansión de Rijndael

Construye el cifrado de bloque inicial utilizando el conjunto de instrucciones que se muestra en (fig.3) mediante el uso de clave expandida y IV.

Fig.5 Vector de inicialización

Después de formar el cifrado de bloque inicial de 0x40 bytes, se usa para cifrar datos de archivos leyendo bytes de un archivo y realizando operaciones en ellos. Estos bytes encriptados se almacenan en la memoria y luego se copian a un archivo mediante la API WriteFile.

Fig.6 XORing bytes de cifrado de bloque con bytes de archivo y almacenarlos

Este ransomware mantiene una clave pública RSA codificada PEM de 0x100 bytes en un archivo. Cifra la clave AES con esta clave pública RSA y la agrega al final del archivo como se muestra en la (Fig.7).

Fig.7 Anexar clave al final del archivo

Nota de rescate
En la máquina host, los archivos se cifran con la extensión (nombre del archivo original). Correo electrónico (* .com) ID = (XXXXXXXXX) .odveta

Fig.8 Formato de extensión

Fig.8 Formato de extensión

Después del cifrado, suelta Unlock-Files.txt en cada carpeta como una nota de rescate.

Fig.9 Nota de rescate

Análisis de red
Antes de conectarse al servidor CnC, realiza una consulta DNS en sfml-dev.org y realiza la Solicitud de obtención de HTTP para url /ip-provider.php y recibe la IP pública del sistema / host de la víctima en respuesta como se muestra en las siguientes figuras.

Fig.10 Consulta DNS para obtener la dirección pública de sfml

Fig.11 Consulta para obtener público del host

Luego inicia una conexión a CnC (IP: 92.222.149.118) a través del puerto 18 pero puede no conectarse debido a un puerto cerrado.
"No hubo respuesta del servidor cuando intentamos conectarnos a través de Telnet a través del puerto número 18, pero como estábamos tratando de conectarnos a través de otros puertos, dio una respuesta exitosa para el puerto número 22 (SSH)".

La conexión de red se produce antes de que comience el cifrado y, en versiones anteriores, no estaba claro qué es lo que pretende lograr el malware. Pero en la versión 7, hemos observado que después de una conexión exitosa a CnC (aunque la dirección IP es diferente), envía una clave privada RSA generada localmente sobre CnC, que podría ser el caso de la versión 6.

Evolución de Ouroboros

Análisis de Ouroboros versión 7
En esta versión, CnC (80.82.69.52) estaba en vivo, por lo que pudimos realizar análisis de red.

Antes de establecer la conexión, busca ids.txt, si ya está presente en ProgramData, omite la conexión y realiza el cifrado con una clave fuera de línea.
Pero si ids.txt no está presente, se conecta con CnC y resuelve la dirección pública del host, igual que en la versión 6.

Después de resolver la dirección pública del host, genera la clave RSA, no utiliza ningún tipo de biblioteca para su generación, pero ha implementado todo el algoritmo y ha generado localmente la clave pública y privada.

A continuación se muestra la parte donde se genera la clave.

Fig.12 Clave privada generada localmente

Después de formar una clave privada, envía la misma a CnC y da la respuesta como "Activa".

Fig.13 Envío de clave privada sobre CnC

Nota de rescate en la versión 7
Después del cifrado, suelta info.txt y uiapp.exe en C: ProgramData y elimina pKey.exe. Uiapp.exe es el archivo .Net creado para soltar la nota de rescate.

Fig.14 Nota de rescate Versión 7

Quick Heal proporciona protección multinivel para esta familia. Lo detecta y lo elimina en el escenario en tiempo real, así como en la detección de base de comportamiento y el módulo ARW.

Conclusión
Los ransomwares ahora no solo usan empacadores sino también bibliotecas, así como diferentes conjuntos de instrucciones para dificultar el análisis. Y al notar que otros ransomwares (LockerGoga) también han utilizado técnicas similares, podemos decir que esta tendencia se seguirá en el futuro.

COI
Version6:

1E73E78E60E3A2255C37D7181ADF16E6
1EA66E610493B9DB3F5AA6DA82CA2CE7
560EE81F4250138CE063FEC3F387690C
B316DB79241100B0E86C11352DD169A0
6330639300E22E956CC50CCBD4FD027E

Version7:
117C3707F4D8DB004A0E7EF86350612B
15F32A4EE7B75AEFA308866B4BD79539

Experto en la materia
Manisha Prajapati, Pooja Birajdar | Laboratorios de seguridad de curación rápida

¿Tienes algo que agregar a esta historia? Compártelo en el



Enlace a la noticia original