SOC Prime Bias: Crítico

11 Feb 2026 15:47 UTC

Análisis Profundo de la Nueva Campaña de XWorm Utilizando Correos Electrónicos de Phishing de Temas Múltiples

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Análisis Profundo de la Nueva Campaña de XWorm Utilizando Correos Electrónicos de Phishing de Temas Múltiples
shield icon

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

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:

    1. 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.
    2. Proceso de Hollowing vía EQNEDT32.EXE: Iniciar EQNEDT32.EXE con una línea de comando que invoca ShellExecuteExW() para hacerse pasar por un componente legítimo de Office.
    3. Ejecución Lateral de Msbuild.exe: Generar Msbuild.exe con CreateProcessA() para compilar una carga útil .NET encubierta al vuelo.
    4. Ejecución sin Archivos de .NET: Use powershell.exe con un comando codificado en base64 que carga un ensamblado .NET reflectante (T1620). La línea de comando contiene la cadena literal CreateProcessA() 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."