Análisis de malware
Análisis de malware: ransomware Ragnarok
22 de septiembre de por Pedro Tavares
Ragnarok es un ransomware reciente utilizado en ataques dirigidos contra servidores Citrix ADC sin parches vulnerables a la vulnerabilidad CVE–19781. Este artículo analizará los detalles de este ransomware, cómo funciona y cómo prevenirlo.
Antecedentes del ransomware Ragnarok
La empresa de seguridad FireEye publicó un informe sobre un nuevo ransomware llamado Ragnarok, que los delincuentes utilizan para atacar redes internas después de comprometer servidores Citrix ADC vulnerables al CVE–19781, una falla de la que se puede abusar para ejecutar código arbitrario.
La primera etapa del ransomware es un archivo PE responsable de inyectar en la memoria una DLL de Windows (la segunda etapa) empaquetada dentro del binario. La DLL del ransomware en sí se llama cry_demo.dll y contiene la configuración del malware, información sobre las actividades de cifrado, los países de la lista blanca y de destino, y la nota de rescate.
Ragnarok: análisis de la primera etapa
Del análisis del archivo binario, podemos observar que dentro de la sección .data, hay un archivo PE codificado en el desplazamiento 0x00011Eon el tamaño 93124. Este detalle revela que un segundo archivo, una DLL, se inyectará en la memoria. , descifrado y el flujo de ejecución transferido a él.
1: El primer binario revela otro archivo codificado dentro de la sección .data.
Después de ejecutar el cargador, el binario carga la DLL de la sección .data en la memoria mediante la llamada HeapAlloc(). A continuación, se desofuscan partes de la cadena mediante una operación NOT bit a bit y el código se inyecta con VirtualAlloc() como se presenta en la 2.
2: DLL codificada inyectada en la memoria (el propio Ragnarok).
La nueva DLL (Ragnarok ransomware) tiene el nombre original «cry_demo.dll». Fue creado con una marca de tiempo sin sentido y exporta solo una función: «iniciar». Este es su punto de entrada para iniciar la cadena de infección.
3: Detalles sobre la DLL Ragnarok inyectada en la memoria.
DLL Ragnarok
A primera vista, la DLL ha codificado algunas cadenas interesantes que se encuentran principalmente y están relacionadas con el mecanismo de cifrado de archivos, a saber:
- sprintf() y swprintf(); y
- MoveFileW(), CreateFileA(), WriteFile() y ReadFile();
4: Cadenas encontradas durante el análisis de DLL de Ragnarok.
Otras cadenas interesantes son «clave», «valor» e «idioma». Como se muestra a continuación, el ransomware comienza obteniendo el idioma del sistema para validar que esté dentro de una lista de permitidos codificada proporcionada por los desarrolladores del ransomware.
Las cadenas «ip», «puerto», «GET» y «HTTP/1.1» son indicadores claros de que este malware enviará información a su C2 durante la cadena de infección.
Finalmente, el ransomware parece eliminar las instantáneas después de dañar la máquina de destino al observar las cadenas “cmd_shadow” y “cmd_shadow1” dentro del archivo DLL. Sin embargo, parte de la información seguirá pareciendo confusa. La configuración del ransomware se descifra en tiempo de ejecución.
Profundizando en los detalles
Durante la ejecución del ransomware, la configuración del ransomware se descifra como un objeto JSON que contiene los diferentes campos.
5: Configuración de Ragnarok en formato JSON.
Algunas claves/valores interesantes disponibles en el archivo JSON son:
calc, white and black : extensiones de archivos de destino para cifrar y extensiones para omitir durante el proceso de cifrado.
6: Extensiones de destino y incluidas en la lista permitida.
ip y puerto: dirección IP y puerto C2.
6: Dirección IP y puerto de Ragnarok.
El ransomware envía una solicitud HTTP a su servidor C2 (IP y puerto contenidos en los campos de configuración). La solicitud se compone de los campos de nombre de host y dirección IP privada y el parámetro «Inicio», que indica el comienzo del proceso de cifrado.
nombre : el nombre de la nota de ransomware.
7: Archivos cifrados con la extensión . tor.
El malware cifra los archivos con algoritmos criptográficos RSA 4096 y AES. La extensión de archivo «.thor» se agrega a los archivos dañados y se crea un nuevo archivo llamado «!!Read_Me.html» en cada carpeta cifrada. Este archivo HTML contiene la nota del ransomware y otros detalles que los delincuentes proporcionan para convencer a las víctimas de que paguen para recuperar los archivos originales.
8: Nota de ransomware de Ragnarok.
proc : procesos que finalizarán durante la ejecución del ransomware. En detalle, el campo proc contiene una lista de procesos que pueden bloquear algunos archivos, y el ransomware debe eliminar esos procesos antes de iniciar la actividad de cifrado.
9: Procesos finalizados por Ragnarok durante el proceso de cifrado.
clave : rutas de registro con procesos para deshabilitar (firewall, instantáneas, etc.).
El ransomware ejecuta las operaciones presentes en los campos cmd_shadow, cmd_shadow1, cmd_boot, cmd_recovery y cmd_firewall según la arquitectura del sistema operativo. Por ejemplo, la ejecución del comando cmd_shadow eliminará las instantáneas de Windows. El firewall también está deshabilitado y se agregan algunas opciones a la configuración de inicio. Además, el ransomware también desactiva Windows Defender.
10: Operaciones realizadas por Ragnarok durante su ejecución. Las instantáneas se eliminan y Windows Defender y el firewall se desactivan.
idioma : países incluidos en la lista permitida en la configuración del ransomware.
Durante su ejecución, el ransomware realiza algunas consultas para obtener información adicional del registro de Windows. El ransomware finaliza su ejecución si coincide alguno de los códigos de los siguientes idiomas.
11: Códigos de idioma incluidos en la lista permitida contenidos dentro de la configuración del ransomware. Si algún idioma coincide, el ransomware finaliza su ejecución.
api : hash de API (los nombres de las llamadas originales).
Muchas llamadas a la API de Windows se asignan durante el tiempo de ejecución. Esta es una técnica utilizada por los desarrolladores de malware para evadir la detección de AV.
12: Parte de los nombres de API disponibles en el archivo de configuración.
Al final del proceso de cifrado, el ransomware envía una solicitud HTTP que contiene un parámetro llamado end, informando a su servidor C2 que el proceso de cifrado ha finalizado.
¡Conviértete en un ingeniero inverso certificado!
Obtenga capacitación práctica en vivo sobre análisis de malware desde cualquier lugar y conviértase en un analista certificado de ingeniería inversa. Comienza a aprender
Pensamientos finales
Los ataques de ransomware como Ragnarok ahora son comunes. Las recomendaciones generales para la prevención contra ellos son relativamente estándar, a saber:
- Cree una mentalidad de seguridad y mantenga actualizados los sistemas operativos, el software y los dispositivos de seguridad.
- Cree diferentes zonas de respaldo: fuera de línea y en línea.
- Tenga en cuenta que el correo electrónico es el vehículo más utilizado para distribuir malware en la naturaleza. Por lo tanto, los motores de spam y monitoreo del correo electrónico son la primera capa para bloquear las amenazas externas, incluido el ransomware.
- Utilice un canal VPN para proteger las redes internas, es decir, los servicios RDP expuestos.
- Impulsar un programa de formación continua de los empleados en torno a los fundamentos de la ciberseguridad.
Fuentes
- Buen intento: 501 (ransomware) no implementado , FireEye
- Ragnarok , BleepingComputer