SOC Prime Bias: Crítico

02 Jun 2026 19:40 UTC

La Caja de Herramientas Desplegable de Gamaredon: GammaPhish y GammaWorm

Author Photo
SOC Prime Team linkedin icon Seguir
La Caja de Herramientas Desplegable de Gamaredon: GammaPhish y GammaWorm
shield icon

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.

graph TB %% Class Definitions Section classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef file fill:#ddffdd classDef process fill:#ffeb99 classDef operator fill:#ff9900 %% Nodes attack_phishing[«<b>Acción</b> – <b>T1566.001 Spearphishing con archivo adjunto</b><br/>El adversario envía un archivo ZIP malicioso por correo electrónico a las víctimas.»] class attack_phishing action file_zip[«<b>Archivo</b> – malicious.zip<br/>Contiene un acceso directo .lnk y un dropper .exe compilado en Rust.»] class file_zip file action_user_exec[«<b>Acción</b> – <b>T1204.001 Ejecución por el usuario</b><br/>La víctima abre el .lnk o ejecuta el .exe, iniciando la cadena de ejecución.»] class action_user_exec action file_lnk[«<b>Archivo</b> – payload.pdf.lnk<br/>Acceso directo con doble extensión e icono de Edge para parecer legítimo.»] class file_lnk file tool_wscript[«<b>Herramienta</b> – wscript.exe<br/>Ejecuta la carga útil VBScript.»] class tool_wscript tool file_vbs[«<b>Archivo</b> – empty.vbs<br/>VBScript mínimo que lanza PowerShell.»] class file_vbs file action_vbscript[«<b>Acción</b> – <b>T1059.005 Visual Basic</b><br/>VBScript ejecutado vía wscript para iniciar PowerShell.»] class action_vbscript action action_powershell[«<b>Acción</b> – <b>T1059.001 PowerShell</b><br/>Profile.ps1 se ejecuta con bypass de política de ejecución y descifra la siguiente etapa.»] class action_powershell action file_dat[«<b>Archivo</b> – 1.dat<br/>Contenedor cifrado XOR que contiene RuntimeBroker_update.exe.»] class file_dat file process_runtime[«<b>Proceso</b> – RuntimeBroker_update.exe<br/>Desencriptado desde 1.dat; carga DLL maliciosa mediante DLL side-loading.»] class process_runtime process file_dll[«<b>Archivo</b> – UnityPlayer.dll<br/>DLL maliciosa colocada junto a RuntimeBroker_update.exe.»] class file_dll file action_dll_sideload[«<b>Acción</b> – <b>T1546.009 AppCert DLL</b><br/>El side-loading de DLL permite la ejecución de código.»] class action_dll_sideload action tool_rustloader[«<b>Herramienta</b> – Rust loader (RUSTCLOAK)<br/>Asigna memoria, escribe PE descifrado AZUREVEIL y lo ejecuta mediante fibras de Windows.»] class tool_rustloader tool action_process_injection[«<b>Acción</b> – <b>T1055.002 Inyección de procesos</b><br/>Inyección de PE mediante fibras de Windows.»] class action_process_injection action file_azureveil[«<b>Archivo</b> – AZUREVEIL.exe<br/>Payload descifrado ejecutado tras la inyección.»] class file_azureveil file action_discovery[«<b>Acción</b> – <b>T1083 Descubrimiento de archivos</b><br/>El loader enumera archivos y los mueve a %TEMP%.»] class action_discovery action action_network_discovery[«<b>Acción</b> – <b>T1016 Descubrimiento de red</b><br/>Recolecta información MAC e IP.»] class action_network_discovery action action_c2[«<b>Acción</b> – <b>T1102 Servicio web</b><br/>Comunicación con Azure Blob Storage vía HTTPS.»] class action_c2 action action_dead_drop[«<b>Acción</b> – <b>T1102.003 Comunicación unidireccional</b><br/>Sube beacons y recibe comandos del mismo contenedor.»] class action_dead_drop action action_encrypted_channel[«<b>Acción</b> – <b>T1573.001 Canal cifrado</b><br/>Comunicación cifrada con RC4 y SM4-CBC.»] class action_encrypted_channel action action_exfil[«<b>Acción</b> – <b>T1567.002 Exfiltración vía servicio web</b><br/>Exfiltración de datos cifrados a Azure Blob.»] class action_exfil action action_persistence[«<b>Acción</b> – <b>T1547.009 Modificación de acceso directo</b><br/>Persistencia mediante acceso directo en inicio.»] class action_persistence action %% Connections attack_phishing –>|entrega| file_zip file_zip –>|activa| action_user_exec action_user_exec –>|abre| file_lnk file_lnk –>|ejecuta| tool_wscript tool_wscript –>|ejecuta| file_vbs file_vbs –>|lanza| action_vbscript action_vbscript –>|inicia| action_powershell action_powershell –>|descifra| file_dat file_dat –>|produce| process_runtime process_runtime –>|carga| file_dll file_dll –>|usado por| action_dll_sideload process_runtime –>|inyecta| action_process_injection action_process_injection –>|usa| tool_rustloader tool_rustloader –>|carga| file_azureveil file_azureveil –>|realiza| action_discovery action_discovery –>|también| action_network_discovery action_network_discovery –>|envía a| action_c2 action_c2 –>|usa| action_dead_drop action_dead_drop –>|depende de| action_encrypted_channel action_encrypted_channel –>|habilita| action_exfil action_exfil –>|puede activar| action_persistence file_lnk –>|establece| action_persistence

Flujo de Ataque

Detecciones

Posibles Puntos de Persistencia [ASEPs – Hive de Software/NTUSER] (vía registry_event)

Equipo de SOC Prime
02 Jun 2026

LOLBAS WScript / CScript (vía process_creation)

Equipo de SOC Prime
02 Jun 2026

Comportamiento de Evasión Defensiva de LOLBAS MSHTA Sospechoso por Detección de Comandos Asociados (vía process_creation)

Equipo de SOC Prime
02 Jun 2026

Uso Sospechoso de CURL (vía cmdline)

Equipo de SOC Prime
02 Jun 2026

Binarios/Guiones Sospechosos en Ubicación de Autoinicio (vía file_event)

Equipo de SOC Prime
02 Jun 2026

Posible Abuso de Telegram como Canal de Comando y Control (vía dns_query)

Equipo de SOC Prime
02 Jun 2026

Posible Infiltración/Exfiltración de Datos/C2 a través de Servicios/Herramientas de Terceros (vía dns_query)

Equipo de SOC Prime
02 Jun 2026

Posible Intento de Explotación de CVE-2025-8088 / CVE-2025-6218 (Vulnerabilidad de WinRAR) (vía file_event)

Equipo de SOC Prime
02 Jun 2026

Comunicación de Dominio Suspechoso de Trycloudflare (vía dns)

Equipo de SOC Prime
02 Jun 2026

Posible Abuso de Dominio de Desarrollo de Cloudflare (vía dns)

Equipo de SOC Prime
02 Jun 2026

IOCs (HashMd5) para detectar: la matrioska #1/3 de FSB – los regalos de Gamaredon que sigue desempacándose – GammaPhish y GammaWorm

Reglas AI de SOC Prime
02 Jun 2026

IOCs (SourceIP) para detectar: la matrioska #1/3 de FSB – los regalos de Gamaredon que sigue desempacándose – GammaPhish y GammaWorm

Reglas AI de SOC Prime
02 Jun 2026

IOCs (DestinationIP) para detectar: la matrioska #1/3 de FSB – los regalos de Gamaredon que sigue desempacándose – GammaPhish y GammaWorm

Reglas AI de SOC Prime
02 Jun 2026

Detección de Uso de ADS NTFS de GammaWorm para Persistencia y Propagación [Evento de Archivo de Windows]

Reglas AI de SOC Prime
02 Jun 2026

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."
    }