APT-Q-27 Dragon Breath: RONINGLOADER und Gh0st RAT Analyse
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Dragon Breath ist eine chinesische Cybercrime-APT, die chinesisch sprechende Nutzer in der Asien-Pazifik-Region ins Visier nimmt. Die Gruppe verwendet fortschrittliche Techniken, darunter trojanisierte Installationsprogramme, DLL-Side-Loading und signierte Kernel-Treiber, um die RONINGLOADER-Infektionskette und angepasste Gh0st RAT-Varianten zu installieren. Die Täter haben auch die Fähigkeit demonstriert, Zertifizierungsstellen zu kompromittieren und Code-Signierungszertifikate für ihre Malware zu erhalten.
Untersuchung
Der Bericht untersucht die Entwicklung von Dragon Breath von 2020 bis 2026 und dokumentiert die Verschiebung von Watering-Hole-Angriffen zu fortgeschrittenem DLL-Side-Loading und missbrauch von Protected Process Light (PPL). Er hebt einen 2026-Einbruch bei DigiCert hervor, bei dem die Gruppe angeblich Code-Signierungszertifikate erlangte. Die Analyse behandelt auch mehrere Injektionstechniken, darunter den Missbrauch von Thread-Pool-Objekten und die Terminierung von Kernel-Modus-Prozessen.
Abschwächung
Organisationen sollten Endpunktsicherheitskontrollen gegen simulierte Dragon Breath Angriffstechniken validieren und den Schutz bei der Anwendungsausführung stärken. Es sollten strikte Anwendungssteuerungsrichtlinien durchgesetzt werden, während Verteidiger auf unautorisierte Dienst-Erstellungen und verdächtiges DLL-Side-Loading achten. Das Aufdecken des Missbrauchs von Protected Process Light (PPL) und unautorisierter oder unsignierter WDAC-Richtlinien ist ebenfalls entscheidend.
Reaktion
Wird Dragon Breath-Aktivität erkannt, sollten betroffene Hosts sofort isoliert und auf unautorisierte lokale Konten und Persistenz durch Windows-Dienste untersucht werden. Responder sollten Prozessinjektionsaktivitäten genau untersuchen, die vertrauenswürdige Systemprozesse involvieren, wie TrustedInstaller.exe or taskhostw.exe. Code-Signierungszertifikate sollten überprüft und Änderungen an Windows Defender oder regionalen Sicherheitsprodukten geprüft werden.
Angriffsablauf
Erkennungen
Mögliches verzögertes Ausführungsverhalten (über Befehlszeile)
Verdächtige Erstellung von Hardlinks für den Ordnerumleitungs-Technik (über Befehlszeile)
Möglicher Versuch, ClipUp zu missbrauchen, um Sicherheitslösungen zu manipulieren (über Befehlszeile)
Dragon Breath Persistenz: Erstellung lokaler Backdoor-Konten [Microsoft Windows Sicherheitsereignisprotokoll]
Erkennung der Golden Gh0st RAT WebSocket C2-Kommunikation [Windows Netzwerkverbindung]
Dragon Breath Persistenz über Winlogon-Registry-Modifikation [Windows-Registry-Ereignis]
Dragon Breath-System-Binary-Proxy-Ausführung über regsvr32.exe und appR.exe [Windows-Prozess-Erstellung]
Simulation Ausführung
Voraussetzung: Die Telemetrie- und Baseline-Pre-Flight-Überprüfung muss bestanden werden.
Begründung: Dieser Abschnitt beschreibt die genaue Umsetzung der gegnerischen Technik (TTP), die entwickelt wurde, um die Erkennungsregel auszulösen. Die Befehle und die Erzählung MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird. Abstrakte oder nicht verwandte Beispiele führen zu einer Fehldiagnose.
-
Angriffserzählung & Befehle: Ein Angreifer hat initialen Zugriff erlangt und versucht, einen persistierenden Command-and-Control (C2)-Kanal einzurichten. Um herkömmlichen signaturbasierten Erkennungen und Firewalls, die nur nach standardmäßigen HTTP/S-Anfragen suchen, auszuweichen, setzt der Angreifer einen leichtgewichtigen Agenten ein, der ein WebSocket-Upgradewunschsendet. Durch den Übergang von einer standardmäßigen HTTP-GET-Anfrage zu einer WebSocket-Verbindung wird ein voll-duplex Kommunikation Kanals etabliert, der es dem Angreifer ermöglicht, Befehle auszugeben und Daten (wie Keystrokes oder Datei-Exfiltrationen) in Echtzeit unter dem Deckmantel persistenter Web-Verkehrs zu empfangen.
-
Regression Test Script:
# Simulationsskript zum Nachbilden eines WebSocket-Handshakes/-Verbindung # Dies verwendet eine PowerShell-Socket-Implementierung, um eine WebSocket-artige Verbindung einzuleiten. # Hinweis: Dies erfordert einen aktiven Zuhörer oder einen öffentlichen WebSocket-Echo-Dienst für den Erfolg. $wsUri = "wss://echo.websocket.org" # Nutzung eines öffentlichen Echo-Dienstes zur Simulation Write-Host "[*] Versuch, WebSocket-Verbindung zu $wsUri herzustellen..." try { $ws = New-Object System.Net.WebSockets.ClientWebSocket $ct = New-Object System.Threading.CancellationTokenSource $connectTask = $ws.ConnectAsync($wsUri, $ct.Token) # Warten auf Verbindung, um das 'Netzwerkverbindung'-Ereignis zu simulieren if ($connectTask.Wait(10000)) { Write-Host "[+] WebSocket-Verbindung erfolgreich hergestellt." Write-Host "[!] Überprüfen Sie Ihr SIEM auf 'Protokoll: WebSocket'-Warnmeldungen." # Senden eines kleinen Herzschlags, um die Verbindung offen zu halten $buffer = [System.Text.Encoding]::UTF8.GetBytes("Ping") $sendTask = $ws.SendAsync((New-Object ArraySegment[byte]($buffer)), [System.Net.WebSockets.WebSocketMessageType]::Text, $true, $ct.Token) $sendTask.Wait(5000) # Verbindung kurz halten, um die Telemetrieaufnahme sicherzustellen Start-Sleep -Seconds 10 $ws.CloseAsync([System.Net.WebSockets.WebSocketCloseStatus]::NormalClosure, "Abschluss", $ct.Token).Wait() } else { Write-Host "[-] Verbindungstimeout. Stellen Sie sicher, dass das Ziel die WebSocket-URI erreichen kann." } } catch { Write-Error "[-] Fehler während der Simulation: $($_.Exception.Message)" } finally { if ($ws) { $ws.Dispose() } } -
Aufräumkommandos:
# Durch das PowerShell-Skript werden keine persistierenden Artefakte erstellt. # Stellen Sie sicher, dass alle manuell geöffneten Verbindungen geschlossen werden. Write-Host "[*] Aufräumen der Simulationsumgebung..." Stop-Process -Name "powershell" -ErrorAction SilentlyContinue