Análisis Profundo de la Nueva Campaña de XWorm Utilizando Correos Electrónicos de Phishing de Temas Múltiples
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
FortiGuard Labs observó una campaña de phishing en múltiples etapas distribuyendo el troyano de acceso remoto XWorm a través de archivos adjuntos de Excel maliciosos. El documento abusa de la vulnerabilidad CVE-2018-0802 en Microsoft Equation Editor para recuperar un archivo HTA, que luego desencadena un cargador sin archivos .NET que utiliza hollowing de proceso para inyectar XWorm en un nuevo proceso Msbuild.exe generado. El RAT se comunica con su C2 utilizando tráfico cifrado por AES y expone un amplio conjunto de comandos con soporte de complementos para control extendido. La campaña demuestra un uso sofisticado de binarios living-off-the-land y técnicas sin archivos para lograr un control remoto persistente en endpoints comprometidos.
Investigación
Los analistas reconstruyeron el flujo desde el correo electrónico de phishing hasta el exploit OLE de Excel, ejecución HTA, descarga del módulo .NET basado en PowerShell y el hollowing final del proceso en Msbuild.exe. La revisión estática y dinámica destacó datos de carga útil codificados en Base64 ocultos dentro de una imagen JPEG, con el componente final de XWorm cargado en memoria sin escribir un ejecutable descifrado en disco durante la ejecución. Las capturas de red mostraron paquetes cifrados por AES enviados al dominio C2 berlin101.com por el puerto 6000. El informe también catalogó el extenso conjunto de comandos y la arquitectura de complementos de XWorm.
Mitigación
FortiGuard recomienda habilitar las protecciones de macros y OLE, aplicar el parche para CVE-2018-0802 y restringir la ejecución de Msbuild, PowerShell y archivos HTA que se originen en contenido de correo electrónico. Desplegar filtros web, controles anti-phishing y firmas de IDS/IPS vinculadas a los indicadores observados para bloquear la entrega y el escaneo en la puerta de enlace. Supervisar los árboles de procesos anómalos, especialmente Msbuild.exe lanzado desde PowerShell, para detectar la explotación temprana.
Respuesta
Cuando se detecte, aísle el endpoint afectado, termine los procesos maliciosos y expulse el módulo XWorm cargado de la memoria. Recoja artefactos forenses incluidos la telemetría de línea de comandos, los registros de red y los cambios en el registro para analizar la intrusión. Restablezca las credenciales potencialmente comprometidas, actualice el componente vulnerable de Equation Editor y bloquee los dominios maliciosos y el servidor C2. Aplique actualizaciones de inteligencia de amenazas a las detecciones EDR/SIEM para prevenir recurrencias y busque actividades relacionadas en todo el entorno.
Flujo de Ataque
Detecciones
Cadenas de Powershell Sospechosas (a través de powershell)
Ver
Comportamiento de Evasión de Defensa de MSHTA Sospechoso LOLBAS por Detección de Comandos Asociados (vía creación_de_proceso)
Ver
Cadenas de Powershell Sospechosas (vía cmdline)
Ver
Llamar Métodos .NET Sospechosos desde Powershell (vía powershell)
Ver
IOCs (HashSha256) para detectar: Análisis Profundo de Nueva Campaña de XWorm Utilizando Múltiples Correos Electrónicos de Phishing Temáticos
Ver
Campaña XWorm Explotando CVE-2018-0802 con Múltiples Vectores de Ataque [Creación de Procesos de Windows]
Ver
Detectar Carga Útil de PowerShell Codificada en Base64 en la Campaña XWorm [Powershell de Windows]
Ver
Ejecución de Simulación
Requisito: La Verificación Previa de Telemetría y Línea Base debe haber pasado.
Justificación: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntan a generar la telemetría exacta esperada por la lógica de detección.
-
Narrativa del Ataque y Comandos:
- Caída Inicial: El atacante entrega un archivo de Excel malicioso que explota CVE‑2018‑0802. Para la simulación pasamos por alto la explotación y lanzamos directamente la carga útil.
- Proceso de Hollowing vía EQNEDT32.EXE: Iniciar
EQNEDT32.EXEcon una línea de comando que invocaShellExecuteExW()para hacerse pasar por un componente legítimo de Office. - Ejecución Lateral de Msbuild.exe: Generar
Msbuild.execonCreateProcessA()para compilar una carga útil .NET encubierta al vuelo. - Ejecución sin Archivos de .NET: Use
powershell.execon un comando codificado en base64 que carga un ensamblado .NET reflectante (T1620). La línea de comando contiene la cadena literalCreateProcessA()para satisfacer la regla.
-
Script de Prueba de Regresión:
<# Simula la cadena de ejecución de XWorm: 1. EQNEDT32.exe con ShellExecuteExW() 2. Msbuild.exe con CreateProcessA() 3. PowerShell con cargador reflectante .NET codificado que contiene CreateProcessA() #> # 1. EQNEDT32.exe (Hollowing de Proceso) $eqnPath = "$env:SystemRootSystem32EQNEDT32.EXE" $eqnArgs = "-Command "ShellExecuteExW()"" Start-Process -FilePath $eqnPath -ArgumentList $eqnArgs -WindowStyle Hidden # 2. Msbuild.exe (Inyección Dinámica de DLL) $msbuildPath = "$env:ProgramFilesMicrosoft Visual Studio2022CommunityMSBuildCurrentBinMsbuild.exe" $msbuildArgs = "/t:Compile /p:UseShellExecute="CreateProcessA()"" Start-Process -FilePath $msbuildPath -ArgumentList $msbuildArgs -WindowStyle Hidden # 3. PowerShell (Carga reflectante sin archivos .NET) # Carga útil .NET de ejemplo (espacio reservado) codificado en base64 $payload = "W3siQmFzZURhdGEiOiAiIiB9XQ==" # base64 de prueba $psArgs = "-EncodedCommand $payload -ArgumentList "CreateProcessA()"" Start-Process -FilePath "powershell.exe" -ArgumentList $psArgs -WindowStyle Hidden Write-Host "Simulación de XWorm completada." -
Comandos de Limpieza:
# Terminar cualquier proceso de simulación persistente Get-Process -Name "EQNEDT32","Msbuild","powershell" -ErrorAction SilentlyContinue | Stop-Process -Force # Opcionalmente eliminar archivos temporales (ninguno creado en esta simulación pura de procesos) Write-Host "Limpieza completada."