Una implementación profunda de Wakeup On Lan (WoL) de Ryuk


Tiempo estimado de lectura: 5 5 minutos

Quick Heal Security Labs recientemente encontró una variante de Ryuk Ransomware que contiene una característica adicional de identificación y cifrado de sistemas en una red de área local (LAN). Esta muestra se dirige a los sistemas que están presentes en suspensión, así como al estado en línea en la LAN. Esta muestra está empaquetada con un empacador personalizado. La rutina de desempaque final que extrae la carga útil de Ryuk Ransomware es como se muestra a continuación.

Fig. 1: Rutina de desempaque final

La carga útil contiene dos etapas de la rutina de descifrado. Básicamente, 1S t etapa es la entrada a 2Dakota del Norte comienza y descifra la cadena ofuscada "advapi32.dll" y sus nombres de funciones relacionadas, como CryptCreateHash, CryptHashData, CryptDestroyHash para invertir el hash md5 de "5d65e9cb5bc2a9b609299d8758d915ab" que está codificado en el archivo.

Fig. 2: Desfuscación de la cadena ofuscada de la primera etapa

Fig. 3: Después de la ofuscación

La búsqueda inversa de md5 de 5d65e9cb5bc2a9b609299d8758d915ab es 1560ddd.Durante el proceso de búsqueda inversa md5, la muestra toma una alta utilización del procesador, ya que el malware intenta calcular el hash md5 de cada valor de 0 a 1560ddd y compararlo con 5d65e9cb5bc2a9b609299d8758d915ab.

"1560ddd" como entrada a la siguiente función matemática que generará 2Dakota del Norte pila de teclas de etapa y se utiliza para desfuscar todas las cadenas utilizadas en la carga útil, mientras que 1S t La pila de claves de etapa ya está presente en el archivo.

Fig. 4: Generación de la pila de claves de la Etapa 2

Hemos utilizado IDA python para descifrar todas las cadenas ofuscadas y cambiar el nombre de las API de ventanas, nombres de funciones para un mejor análisis estático de la carga útil como se muestra en la figura siguiente.

Fig. 5: Parte de las cadenas ofuscadas y desfuscadas

Fig. 6: Después de cambiar el nombre de las API y las cadenas de ofuscación

Parte de ejecución:

Después de la resolución de las API y sus funciones relacionadas, verificará que el argumento de la línea de comando (CLA) sea "8" y "LAN". De lo contrario, suelta su copia automática en la ubicación actual con un nombre de archivo aleatorio y lo ejecuta invocando "ShellExecuteW".

Fig. 7: Proceso hijo creado con CLA "8 LAN"

Los argumentos de la línea de comandos anteriores son una parte interesante de la variante Ryuk, es decir, Wake on Lan (WoL). Es una característica de hardware que permite que una computadora se encienda o se active mediante un paquete de red. El paquete generalmente se envía a la computadora de destino mediante un programa ejecutado en un dispositivo conectado a la misma LAN. Esta característica se usa para funciones administrativas que desean enviar actualizaciones del sistema o ejecutar algunas tareas programadas cuando se activa el sistema. Para enviar paquetes WoL, recopila la tabla ARP (Protocolo de resolución de direcciones) del sistema llamando a GetIpNetTable, luego extrae la dirección IPv4 de la estructura ARP y luego envía paquetes WoL para cada entrada de dirección IP válida.

Fig. 8: Extracción de la tabla ARP del sistema

Fig. 9: Estructura de la tabla ARP

Podemos obtener la entrada ARP de un sistema ejecutando "ARP -A" en cmd. Después de extraer una dirección IPv4 válida, enviará el paquete mágico al host de destino. Este paquete se envía a través del socket del Protocolo de datagramas de usuario (UDP) con la opción de socket SO_BROADCAST utilizando el puerto de destino 7. El paquete mágico WoL comienza con FF FF FF FF FF FF seguido de la dirección MAC de la computadora del objetivo.

Higo 10: Paquete mágico para WoL

Fig 11: Paquete mágico para WoL implementado por Ryuk

Después de tener éxito en la operación WoL, intenta montar el recurso compartido c $ / administrativo del dispositivo remoto: si puede montar el recurso compartido, procederá a cifrar la unidad del host remoto. Pero antes del inicio del cifrado, verifica si se está ejecutando dentro de VM o no enumerando procesos y servicios.

Fig. 12: Enumere el proceso y el servicio para verificar máquinas virtuales

A continuación, procederá a importar la clave pública RSA de 2048 bits codificada en el archivo y eliminará la instantánea invocando "WMIC" y "vssadmin" como se muestra en la figura siguiente.

Fig. 13: Importar clave pública RSA y eliminar instantáneas

También ha tratado de moverse lateralmente a otros hosts en la red comprobando la dirección IP asignada al sistema. Una vez que la dirección IPv4 pertenece al rango de 172.16. o 192.168. (Direcciones IPv4 privadas generalmente asignadas en un entorno LAN), luego enviará el paquete "IcmpEchoRequest" utilizando la API "IcmpSendEcho" para apuntar a la dirección IPv4, en lugar de utilizar el comando ping nativo.

Si tiene acceso a ese host / sistema que está disponible en línea en LAN, también cifrará esos sistemas. Para el proceso de encriptación, ha utilizado una combinación de RSA-2048 bit y AES-256-bit, generará diferentes claves AES para cada archivo utilizando la API "CryptGenKey".

Fig. 14: Generando AES de 256 bits usando CryptGenKey

Después del cifrado del archivo, escribirá el marcador "HERMES" en el archivo, para identificar si el archivo se ha cifrado o no. Ryuk es el sucesor de Hermes Ransomware ya que tienen una similitud en la mayor parte de su implementación. Anexará la clave AES cifrada en formato SIMPLEBLOB de Microsoft al pie de página del archivo.

Fig. 15: Estructura de archivos cifrados

Conclusión:

Al utilizar las API de escaneo WoL y Ping para activar el sistema y moverse lateralmente dentro de la red, Ryuk ha intentado cifrar la cantidad máxima de sistemas. Estas características significan el enfoque de este ransomware para aumentar su monetización al infectar tantos sistemas como sea posible.

Ryuk se asoció inicialmente con el Grupo APT y permaneció sin ser detectado durante meses y un día evoluciona para encriptar todos los dispositivos de red, y ahora con WoL, activa el sistema en LAN para aumentar su éxito al encriptar una mayor cantidad de sistemas.

Cómo Quick Heal protege a sus usuarios de tales ataques:

Los productos Quick Heal están construidos con la siguiente seguridad de múltiples capas que ayuda a contrarrestar tales ataques.

1. Anti-Ransomware

Especialmente diseñada para contrarrestar los ataques de ransomware, esta característica detecta el ransomware mediante el seguimiento de su secuencia de ejecución.

2. Cortafuegos

Bloquea los intentos maliciosos de romper las conexiones de red.

3. IDS / IPS

Detecta intentos de fuerza bruta RDP y bloquea la IP del atacante remoto durante un período definido.

4.protección de virus

El servicio de protección antivirus en línea detecta las variantes conocidas del ransomware.

5. Sistema de detección basado en el comportamiento

Rastrea la actividad de los archivos ejecutables y bloquea los archivos maliciosos.

6. Copia de seguridad y restauración

Le ayuda a realizar copias de seguridad periódicas de sus datos y restaurarlos cuando sea necesario.

IoC:

987336D00FDBEC3BCDB95B078F7DE46F

Nombre de detección:

Trojan.HermezRI.S10666632

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



Enlace a la noticia original