La Caja de Herramientas Desplegable de Gamaredon: GammaPhish y GammaWorm
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Gamaredon, un grupo APT respaldado por el estado ruso, continúa llevando a cabo operaciones de espionaje a largo plazo contra instituciones gubernamentales ucranianas, cuerpos militares e infraestructura crítica. Su cadena de infección modular comienza con un documento de spearphishing, explota una vulnerabilidad de recorrido de ruta de WinRAR y luego se basa en VBScript, flujos de datos alternos y resolutores dead-drop para propagarse, persistir y recuperar cargas adicionales. La campaña también utiliza servicios legítimos como Telegram, Cloudflare y Supabase para la actividad de comando y control. La detección sigue siendo un desafío porque los atacantes abusan en gran medida de la funcionalidad incorporada de Windows y de los métodos de ejecución sin archivos.
Investigación
Sekoia TDR reconstruyó la cadena de intrusión de enero de 2026 examinando más de 70 artefactos recolectados de sistemas comprometidos. Su análisis identificó el componente de phishing inicial, GammaPhish, seguido del cargador de VBScript GammaLoad, el gusano auto-replicante GammaWorm y el ladrón de PowerShell GammaSteel, que almacena módulos en el registro. Los investigadores también documentaron el uso de flujos de datos alternativos y tareas programadas de GammaWorm para persistencia, junto con solicitudes de red repetidas a múltiples dominios de resolutores dead-drop. La investigación mapeó cómo cada componente apoyó la cadena de infección más amplia y el punto de apoyo a largo plazo.
Mitigación
Debido a que el malware puede recuperar continuamente nuevas cargas a través de los resolutores dead-drop, el enfoque de remediación más seguro es a menudo una reconstrucción completa del sistema. Los esfuerzos defensivos deben centrarse en detectar la creación sospechosa de flujos de datos alternativos, modificaciones del registro RunOnce, tareas programadas con nombres inusuales y tráfico saliente de procesos no navegadores a dominios de resolutores conocidos. Bloquear la infraestructura de comando y control identificada y aplicar controles de escaneo estrictos a los archivos adjuntos de correo electrónico también puede reducir la probabilidad de un compromiso inicial.
Respuesta
Si se detecta esta actividad, aísle el host afectado inmediatamente, recopile evidencia volátil y realice una adquisición forense completa. Elimine archivos ocultos en flujos de datos alternativos, elimine la entrada maliciosa del registro RunOnce y desactive cualquier tarea programada relacionada. Los dominios y direcciones IP de resolutores conocidos deben ser bloqueados en el borde de la red, y las detecciones en los puntos finales deben actualizarse para identificar las líneas de comando observadas y los patrones de ejecución sin archivos.
Flujo de Ataque
Detecciones
Posibles Puntos de Persistencia [ASEPs – Hive de Software/NTUSER] (vía registry_event)
Ver
LOLBAS WScript / CScript (vía process_creation)
Ver
Comportamiento de Evasión Defensiva de LOLBAS MSHTA Sospechoso por Detección de Comandos Asociados (vía process_creation)
Ver
Uso Sospechoso de CURL (vía cmdline)
Ver
Binarios/Guiones Sospechosos en Ubicación de Autoinicio (vía file_event)
Ver
Posible Abuso de Telegram como Canal de Comando y Control (vía dns_query)
Ver
Posible Infiltración/Exfiltración de Datos/C2 a través de Servicios/Herramientas de Terceros (vía dns_query)
Ver
Posible Intento de Explotación de CVE-2025-8088 / CVE-2025-6218 (Vulnerabilidad de WinRAR) (vía file_event)
Ver
Comunicación de Dominio Suspechoso de Trycloudflare (vía dns)
Ver
Posible Abuso de Dominio de Desarrollo de Cloudflare (vía dns)
Ver
IOCs (HashMd5) para detectar: la matrioska #1/3 de FSB – los regalos de Gamaredon que sigue desempacándose – GammaPhish y GammaWorm
Ver
IOCs (SourceIP) para detectar: la matrioska #1/3 de FSB – los regalos de Gamaredon que sigue desempacándose – GammaPhish y GammaWorm
Ver
IOCs (DestinationIP) para detectar: la matrioska #1/3 de FSB – los regalos de Gamaredon que sigue desempacándose – GammaPhish y GammaWorm
Ver
Detección de Uso de ADS NTFS de GammaWorm para Persistencia y Propagación [Evento de Archivo de Windows]
Ver
Ejecución de Simulación
Prerequisito: El Chequeo de Telemetría y Línea Base Prevuelo debe haber pasado.
Razonamiento: Esta sección detalla la ejecución precisa de la técnica del adversario (T1564.007) diseñada para activar la regla de detección. Los comandos y la narrativa producen directamente la telemetría esperada por la lógica de detección.
-
Narrativa del Ataque y Comandos:
Un operador ha obtenido la carga de GammaWorm (un PE compilado) y desea lograr persistencia mientras permanece oculto de listados de archivos tradicionales. El atacante escribe la carga en un flujo de datos alternativo NTFS llamado GTR dentro del directorio del perfil del usuario. Windows tratará el ADS como parte del archivo normal (%USERPROFILE%gamma.exe:GTR). Como el nombre del ADS coincide con la lista predefinida de la regla, cualquier evento de creación de archivo que incluya “:GTR” bajo%USERPROFILE%disparará la detección.# Paso 1 – Prepara un binario malicioso simulado (por ejemplo, una línea de comandos de PowerShell codificada en base64) $malicious = [System.Convert]::FromBase64String( "TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAwAAAAA4AAAAA") $payloadPath = "$env:USERPROFILEgamma.exe" # Paso 2 – Escribe el binario en el archivo principal (opcional; el ADS puede existir sin un archivo principal) [IO.File]::WriteAllBytes($payloadPath, $malicious) # Paso 3 – Escribe el mismo binario (o una carga diferente) en el ADS llamado GTR $adsPath = "$payloadPath:GTR" Set-Content -Path $adsPath -Value $malicious -Encoding Byte -
Script de Prueba de Regresión: (autónomo; se puede ejecutar en cualquier host de Windows con PowerShell 5+)
# Simulación de Persistencia de ADS de GammaWorm – dispara la regla de detección try { # Crea un archivo host de marcador de posición $hostFile = "$env:USERPROFILEgamma.exe" $dummyBytes = [byte[]] (0x4D,0x5A,0x90,0x00) # Encabezado PE mínimo [IO.File]::WriteAllBytes($hostFile, $dummyBytes) # Escribe carga maliciosa en el ADS llamado "GTR" $ads = "$hostFile:GTR" Set-Content -Path $ads -Value $dummyBytes -Encoding Byte Write-Host "ADS 'GTR' creado exitosamente en $ads" } catch { Write-Error "La simulación falló: $_" } -
Comandos de Limpieza:
# Elimina el ADS y el archivo host de marcador de posición $hostFile = "$env:USERPROFILEgamma.exe" $ads = "$hostFile:GTR" # Borra ADS (requiere Streams.exe de Sysinternals o PowerShell 5+) if (Test-Path $ads) { Remove-Item -Path $ads -Force Write-Host "ADS GTR eliminado." } # Borra el archivo principal if (Test-Path $hostFile) { Remove-Item -Path $hostFile -Force Write-Host "Archivo host gamma.exe eliminado." }