PulseRAT Entregado a Través de un Cebo de Colaboración EAU-India
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Un archivo ISO malicioso disfrazado como un archivo de asociación estratégica India-EAU se está utilizando para entregar un troyano de acceso remoto basado en .NET rastreado como PulseRAT. El malware se instala a través de un descargador incrustado en el ISO y utiliza una Hoja de Cálculo de Google como su canal de comando y control. Para mantener el acceso, crea una tarea programada llamada WindowsVaultSyncService, construye un directorio de almacén bajo %LOCALAPPDATA%, y utiliza un mutex para prevenir ejecuciones múltiples en el mismo host. La campaña se basa en un señuelo conectado a una relación de defensa de alto perfil entre los Emiratos Árabes Unidos e India.
Investigación
El analista desempaquetó el archivo ISO, identificó el acceso directo LNK responsable de lanzar el ejecutable y realizó ingeniería inversa en el descargador para descubrir su carga útil y lógica de persistencia. Un análisis más detallado de PulseRAT reveló cómo utiliza Hojas de Cálculo de Google para el comando y control, genera su mutex, ejecuta PowerShell dentro de la memoria del proceso y crea su tarea programada para persistencia. Los nombres de archivos, rutas del sistema de archivos, patrones de mutex y el identificador de la hoja de cálculo fueron todos documentados para apoyar la ingeniería de detección.
Mitigación
Las organizaciones deben bloquear la ejecución de binarios desconocidos lanzados desde medios extraíbles o montados y monitorear la creación de tareas programadas llamadas WindowsVaultSyncService. Se debe aplicar el control de aplicaciones para binarios que se ejecutan desde %LOCALAPPDATA%MicrosoftVault, y los defensores deben inspeccionar el tráfico de la API de Hojas de Cálculo de Google para detectar acceso a cuentas no autorizadas o actividad inesperada en la hoja de cálculo. Cualquier tarea programada maliciosa debe ser eliminada, y el vaultsvc.exe archivo debe ser eliminado de los sistemas afectados.
Respuesta
Si se detecta actividad de PulseRAT, aísle inmediatamente el endpoint afectado, recopile imágenes de memoria volátil y disco, y busque los indicadores documentados de compromiso. Desactive y elimine la tarea programada maliciosa, elimine el directorio de almacén y restablezca cualquier cuenta de servicio de Google comprometida. También debe realizarse una revisión forense completa para identificar posibles movimientos laterales, y se debe informar a las partes interesadas relevantes en los EAU e India.
"graph TB %% Definiciones de clases classDef action fill:#99ccff,stroke:#333,stroke-width:2px classDef tool fill:#dddddd,stroke:#333,stroke-width:2px classDef process fill:#ffeb99,stroke:#333,stroke-width:2px %% Nodos step_user_open["<b>Acción</b> – <b>T1204.002 Ejecución de Usuario: Archivo Malicioso</b><br/><b>Descripción</b>: La víctima abre un archivo de acceso directo malicioso (LNK).<br/><b>Subu2011técnica</b> T1547.009 Modificación de Atajo<br/><b>Descripción</b>: Acceso directo colocado para lograr persistencia."] class step_user_open action step_dropper["<b>Acción</b> – <b>T1027.009 Archivos Ofuscados/Almacenados: Cargas Útiles Incrustadas</b><br/><b>Descripción</b>: El descargador extrae la carga útil oculta.<br/><b>Técnica</b> T1105 Transferencia de Herramientas de Ingreso<br/><b>Descripción</b>: Transfiere la carga útil al sistema de la víctima."] class step_dropper action step_persistence["<b>Acción</b> – <b>T1053 Tarea/Trabajo Programado</b><br/><b>Descripción</b>: Crea una tarea programada para persistencia.<br/><b>Técnica</b> T1070.004 Eliminación de Archivo<br/><b>Descripción</b>: El descargador se autodestruye después de instalarse."] class step_persistence action step_execution["<b>Acción</b> – <b>T1055.013 Inyección de Proceso: Hollowing de Proceso</b><br/><b>Descripción</b>: Ejecuta PowerShell dentro del proceso para ejecutar código malicioso.<br/><b>Técnica</b> T1602 Recopilar Información de Identidad de la Víctima<br/><b>Descripción</b>: Recopila información del sistema (systeminfo)."] class step_execution action step_uid["<b>Acción</b> – <b>T1589 Recopilar Información de Identidad de la Víctima</b><br/><b>Descripción</b>: Genera un identificador único de la víctima (UID)."] class step_uid action step_c2["<b>Acción</b> – <b>T1102.001 Servicios Web: Resolutor de Puntos Muertos</b><br/><b>Descripción</b>: Utiliza Hojas de Cálculo de Google como un canal de comando y control.<br/><b>Técnica</b> T1102.002 Servicios Web: Exfiltración a través de Servicios Web<br/><b>Descripción</b>: Se comunica con la API de Hojas de Cálculo de Google remota."] class step_c2 action step_rat["<b>Acción</b> – <b>T1219 Herramientas de Acceso Remoto</b><br/><b>Descripción</b>: Proporciona acceso interactivo remoto al host comprometido."] class step_rat action step_cleanup["<b>Acción</b> – <b>T1070.009 Limpiar Registros de Eventos de Windows</b><br/><b>Descripción</b>: Elimina artefactos y limpia los mecanismos de persistencia."] class step_cleanup action %% Conexiones step_user_open –>|conduce_a| step_dropper step_dropper –>|crea| step_persistence step_persistence –>|habilita| step_execution step_execution –>|produce| step_uid step_uid –>|usado_por| step_c2 step_c2 –>|habilita| step_rat step_rat –>|disparadores| step_cleanup "
Flujo de Ataque
Detecciones
Posible Uso de Opción para Ejecutar con Retardo (vía cmdline)
Ver
Imagen de Disco Óptico VHDMP Fue Montada (vía VHDMP)
Ver
Tarea Programada Sospechosa (vía auditoría)
Ver
Posible Actividad de Utilidad de Comando y Control de Google (vía proxy)
Ver
IOCs (HashSha256) para detectar: PulseRAT – troyano RAT basado en Hojas de Cálculo de Google utilizando señuelo de asociación UAE-India
Ver
Detección de Ejecución In-Proceso de PowerShell de PulseRAT [Windows Powershell]
Ver
Ejecución de Ejecutable Sospechoso a través de Archivo LNK y Carga Útil de RAT [Windows Process Creation]
Ver
Ejecución de Simulación
Requisito previo: El Chequeo Previo de Telemetría y Línea de Base debe haber pasado.
-
Narrativa del Ataque y Comandos:
El adversario ha comprometido una cuenta de usuario y ha colocado una DLL maliciosa llamada “PulseRAT” en el host. PulseRAT se carga en un proceso legítimo (por ejemplo,explorer.exe) y crea un espacio de ejecución de PowerShell interno (ejecución en proceso) para evitar el inicio de unpowershell.exevisible. Luego recupera una carga útil de PowerShell codificada en base64 desde una hoja de Google controlada por el atacante, la decodifica y la ejecuta dentro del espacio de ejecución. Esto genera una sola entrada de EventID 4104 que contiene tanto la cadena de marcador “System.Management.Automation.Runspaces” (de la creación del espacio de ejecución) como la palabra “base64” (de la carga útil decodificada), satisfaciendo la regla Sigma. -
Script de Prueba de Regresión:
# Ejecución de PowerShell en Proceso al estilo PulseRAT (simulación) # --------------------------------------------------------- # 1. Crear un espacio de ejecución de PowerShell (en proceso) $runspace = [runspacefactory]::CreateRunspace() $runspace.Open() # 2. Construir una carga útil codificada en base64 (simulando datos controlados por el atacante) $payload = 'Write-Host "Compromised by PulseRAT"' # carga útil simple $bytes = [System.Text.Encoding]::Unicode.GetBytes($payload) $b64 = [Convert]::ToBase64String($bytes) # 3. Construir un bloque de script que decodifica y ejecuta la carga útil $script = @" `$b64 = '$b64' `$decoded = [System.Text.Encoding]::Unicode.GetString([Convert]::FromBase64String(`$b64)) Invoke-Expression `$decoded "@ # 4. Crear un pipeline de PowerShell dentro del espacio de ejecución e invocarlo $powershell = [powershell]::Create() $powershell.Runspace = $runspace $null = $powershell.AddScript($script).Invoke() $powershell.Dispose() $runspace.Close() -
Comandos de Limpieza:
# Eliminar el espacio de ejecución y liberar recursos (si alguno queda) if ($runspace -and $runspace.RunspaceStateInfo.State -ne 'Closed') { $runspace.Close() } Remove-Variable -Name runspace -ErrorAction SilentlyContinue Remove-Variable -Name powershell -ErrorAction SilentlyContinue