Análisis Malware VAI-TaskScheduler
Resumen Ejecutivo – Panorama del VAI-TaskScheduler Malware
Este análisis de malware VAI-TaskScheduler describe los mecanismos de ofuscación utilizados por la muestra y cómo el equipo de S4B extrajo los indicadores de compromiso (IOCs) asociados. Utiliza diferentes técnicas de ofuscación para dificultar su detección y análisis, como ingresar cadenas basura o, dividir los comandos en múltiples variables para luego ensamblarlo y ejecutarlo.
Este malware para Windows ha sido observado distribuyéndose como un script por lotes y aprovecha PowerShell, esteganografía y process hollowing para desplegar un Remote Access Trojan (RAT) basado en .NET en los hosts comprometidos. Además, emplea varias tácticas para dificultar su detección. Asimismo, La muestra analizada también cuenta con mecanismos de detección de ambientes virtuales o SandBox, evitando el comportamiento malicioso en cuando se está ejecutando en máquinas virtuales, terminando la ejecución del código malicioso.
Análisis de la muestra del VAI-TaskScheduler Malware
Estructura del script por lotes y ofuscación mediante cadenas basura en el VAI-TaskScheduler Malware
El equipo de Silent4Buisness tomó una muestra de código malicioso y procedió con el análisis para entender los mecanismos de ofuscación y despliegue en equipos víctima. La muestra es un script en batch que contiene una cadena en Base64, dicha cadena contiene en múltiples segmentos la sub-cadena «cebad»:

Estas cadenas basura serán eliminadas en la siguiente instrucción «set “gleen=%gleen:cebad=%”»

Como consecuencia, en la siguiente imagen podemos observar la integración de la cadena basura en la cadena Base64 que el script utilizará en la ejecución de instrucciones para PowerShell:

Ofuscación en PowerShell y reconstrucción del payload
Adicional al uso estas cadenas, se ha dividido en múltiples variables el comando que ejecutará las instrucciones en PowerShell, para esta muestra, se ha incluido la cadena «areosystyle», misma que será removida como en el caso anterior:

Una vez que se eliminan las cadenas basura, unimos el comando y obtendremos las siguientes instrucciones:

Las instrucciones en PowerShell observadas ejecutan las siguientes acciones:
- Configura la conexión de red para usar el protocolo TLS 1.2
- Crea un objeto WebClient para descargar el siguiente artefacto
- Descarga la imagen que contiene una DLL maliciosa oculta con técnicas de esteganografía
- Carga la DLL a la memoria, y hace uso del método VAI definido en la DLL pasando múltiples argumentos, incluyendo una ruta del SO, la cadena Base64 extraída de la imagen, una cadena Base64 adicional definida en el script y el nombre del proceso en el que inyectará su carga útil.

Esteganografía y extracción de la DLL
Después de estos pasos, la imagen que contiene la DLL es descargada, el offset inicio donde podremos encontrar la DLL (todavía como cadena Base64) es «1538A8», esta termina hasta el final de archivo:

Una vez extraída la DLL, utilizando la herramienta «Detect it Easy» podemos confirmar el binario como DLL con múltiples técnicas de ofuscación.

Anti-análisis, anti-depuración y detección de máquina virtual
Un análisis rápido a la DLL permite identificar que contiene mecanismos para la detección de máquinas virtuales, cuando la muestra es ejecutada en un ambiente virtual no realiza actividades maliciosas y termina su ejecución.

Dentro de la DLL se pueden identificar cadenas que permiten suponer que también cuenta con técnicas anti debugging, ya que se identifican cadenas como «IsDebuggerPresent» «IsAttached» «dnspy» entre otras, mismas que pueden ser utilizadas por el código malicioso para identificar si se está realizando un debbuging del mismo y, terminar la ejecución de actividades maliciosas.

Comportamiento de process hollowing utilizado por el VAI-TaskScheduler Malware
Namespace HackForums.gigajew y técnicas de inyección
Durante el análisis, identificamos dentro de la DLL un «namespace» de nombre HackForums.gigajew, los métodos que contiene, permiten suponer que son utilizados para inyectar código malicioso en un proceso, técnica conocida como Process Hollowing ya que:
- Permite crear un proceso (CreateProcess)
- Obtiene la información del hilo (GetThreatContext)
- Permite modificar el contexto del hilo (SetThreadContext)
- Realizar «unmap» una sección de memoria de un proceso (ZwUnmapViewOfSection)
- Escribir información en memoria (WriteProcessMemory)
- «Levantar» un proceso que ha sido suspendido (ResumeThread)
En conjunto, estos pasos son característicos del process injection y process hollowing clásicos:

CasPol.exe como objetivo de inyección
En la ejecución de la muestra en el ambiente controlado se puede confirmar que, se inicia el proceso «CasPol.exe», mismo que fue enviado como argumento a la función VAI desde el script de PowerShell:

Dicho proceso inicia una conexión de red con la dirección IP «172.245.112.200»

Mientras tanto, el análisis de la memoria del equipo comprometido, confirma la sospecha de la inyección de código «Process Hollowing»

Indicadores de Compromiso (IOCs)
| SHA256 | 133bacca2fa5c5213a66dc6caa3b0accf4c152a2050cd7b794bbf833a3a71baa | script.bat |
| SHA256 | 5235618ca44454fadf0d76437bfc6741e121a12427be07a76198593400e7f620 | MSI_PRO_with_b64.png |
| SHA256 | a1edf9b9b8aab1ce9b5e17d73e2a9a2c45cfb1894417aac1361ce370718cbbfe | abortorium.dll |
| URL | hxxp[:]//ia601400[.]us[.]archive[.]org/10/items/msi-pro-with-b-64_20251023/MSI_PRO_with_b64[.]png | |
| IP | 172.245.112.200 |
Conclusiones
Durante el análisis se pudo observar que el código malicioso utiliza múltiples técnicas de ofuscación para evadir las detecciones en las herramientas de seguridad, así como la implementación de diferentes mecanismos para evadir los análisis de comportamiento sospechoso en ambientes controlados, como son las SandBox.
Por medio de inteligencia, se puede concluir que la carga útil que entrega este código malicioso está asociado con un RAT (Remote Acces Trojan) con capacidades para robo de información, como credenciales de accesos en los equipos comprometidos.
Publicar comentario