BotHelper RAT liefert verschlüsselte Payloads für Live-Bildschirmüberwachung
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Eine mehrstufige Windows-Infektionskette nutzt einen nativen Stager, um eine verschlüsselte Nutzlast abzurufen, die letztendlich ein zuvor nicht dokumentiertes .NET-Remote-Access-Tool namens BotHelper RAT bereitstellt. Der RAT unterstützt Live-Bildschirmüberwachung, Zwischenablageüberwachung, Ausführung von Shell-Befehlen und zusätzliche Plugin-Bereitstellung. Der Angriff ist auf Tarnung ausgelegt, indem Entschlüsselung im Speicher vorgenommen wird und er sich als legitime Microsoft Edge-Prozesse ausgibt.
Untersuchung
Point Wild analysierte die Infektionskette und identifizierte einen nativen x64 Stager, der das Hostprofil erstellt, bevor er eine verschlüsselte Datei von einer festgelegten URL herunterlädt. Die Untersuchung ergab, dass der Stager die Validierung von TLS-Zertifikaten deaktiviert und die Nutzlast der nächsten Stufe vollständig im Speicher entschlüsselt, um eine Erkennung auf der Festplatte zu vermeiden. BotHelper RAT stellt dann die Persistenz durch geplante Tasks her und patcht die Antimalware Scan-Schnittstelle (AMSI).
Minderung
Minderung sollte die Blockierung des initialen Stagers und der zugehörigen C2-Infrastruktur priorisieren. Sicherheitskontrollen sollten die Erstellung unautorisierter geplanter Tasks und verdächtiges Prozess-Masquerading erkennen, einschließlich Instanzen von msedge_proxy.exe die aus dem Temp-Verzeichnis ausgeführt werden. Organisationen sollten auch auf AMSI-Patchversuche und ungewöhnliche ausgehende TLS-Verbindungen zu zuvor unbekannten oder nicht vertrauenswürdigen Domains achten.
Reaktion
Wird BotHelper RAT-Aktivität entdeckt, sollte der betroffene Endpunkt isoliert werden, um weitere Befehlsausführungen und Datenexfiltration zu stoppen. Entfernen Sie bösartige geplante Tasks und abgelegte Dateien aus dem temporären Verzeichnis des Benutzers. Führen Sie Speicherforensik durch, um zusätzliche im Speicher befindliche Komponenten zu identifizieren und nach Hinweisen auf Diebstahl der Zwischenablage, Live-Bildschirmüberwachung oder aufgezeichneten Screenshots zu suchen.
Angriffsablauf
Erkennungen
Schtasks weist auf verdächtiges Verzeichnis / Binärdatei / Script hin (über cmdline)
Verdächtige geplante Aufgabe (über Prüfung)
Verdächtige Command and Control durch ungewöhnliche Top-Level-Domain (TLD) DNS-Anfrage (über DNS)
IOCs (HashSha256) zur Erkennung: BotHelper RAT: Von verschlüsselter Nutzlast zur Live-Bildschirmüberwachung
IOCs (SourceIP) zur Erkennung: BotHelper RAT: Von verschlüsselter Nutzlast zur Live-Bildschirmüberwachung
IOCs (DestinationIP) zur Erkennung: BotHelper RAT: Von verschlüsselter Nutzlast zur Live-Bildschirmüberwachung
XOR-Schleifenentschlüsselung in BotHelper RAT-Payload erkennen [Windows Sysmon]
Geplante Aufgabe für BotHelper RAT-Persistenz erkannt [Windows Registry Event]
BotHelper RAT und msedge_proxy.exe-Ausführung erkennen [Windows Process Creation]
Simulation Ausführung
-
Angrifferzählung & Kommandos: Der Angreifer hat initialen Zugriff erlangt und versucht nun, ein Standbein zu behalten. Um einer Erkennung durch Sicherheitswerkzeuge, die nach „immer-eingeschaltenen“ Beacons suchen, zu entgehen, entscheidet er sich, die
schtasks.exezu verwenden, um eine bösartige Nutzlast zu planen. Im Sinne des BotHelper RAT-Musters konfigurieren sie die Aufgabe so, dass sie alle 30 Minuten ausgelöst wird. Dadurch kann die Malware die meiste Zeit „schlafen“, was den Fußabdruck im Netzwerkverkehr und der Prozessüberwachung reduziert, während die Verbindung zum C2-Server dennoch regelmäßig wiederhergestellt wird. -
Regressionstestskript:
# Simulationsskript zur Nachahmung des Persistenzmechanismus von BotHelper RAT $taskName = "BotHelperUpdater" $payload = "C:WindowsSystem32calc.exe" # Verwendet calc.exe als sicheren Proxy für die RAT-Nutzlast Write-Host "[+] Simuliere BotHelper RAT-Persistenz..." # Dieser Befehl ist darauf ausgelegt, der Erkennungslogik zu entsprechen: /create, /sc und MINUTE=30 schtasks /create /tn "$taskName" /tr "$payload" /sc minute /mo 30 /f if ($LASTEXITCODE -eq 0) { Write-Host "[SUCCESS] Aufgabe erstellt. Überprüfen Sie SIEM auf Erkennung." } else { Write-Host "[FAILURE] Aufgabe konnte nicht erstellt werden." } -
Bereinigungskommandos:
# Entfernen Sie die simulierte Persistenzaufgabe schtasks /delete /tn "BotHelperUpdater" /f Write-Host "[+] Bereinigung abgeschlossen. Simulierte Aufgabe entfernt."