Campagna GlassWorm Diffonde Loader Nascosti Attraverso Estensioni di VS Code
Detection stack
- AIDR
- Alert
- ETL
- Query
Sintesi
Un cluster di estensioni Visual Studio Code malevole collegato all’attore della minaccia GlassWorm è stato scoperto nel VS Code Marketplace e in Open VSX. Disfrazze come temi di colori raffinati, le estensioni contenevano caricamenti JavaScript offuscati progettati per recuperare payload secondari. La campagna abusa della catena di approvvigionamento software per mirare agli sviluppatori e rubare dati sensibili da ambienti compromessi.
Indagine
I ricercatori di Socket hanno identificato due estensioni malevole confermate e multiple identità ad alto rischio collegate al cluster tramite analisi della cronologia Git e rilevamento del codice sorgente. Estensioni tra cui Aurora Nocturne Night Theme e Cosmic Nebula Themes utilizzavano caricamenti a tappe, decrittazione AES-256-CBC e memo di transazioni blockchain Solana come risolutori dead-drop per l’infrastruttura C2. I ricercatori hanno anche osservato brandjacking e artefatti di sviluppo condivisi, inclusi commenti in lingua russa.
Mitigation
Le organizzazioni dovrebbero inventariare le estensioni sviluppatore installate in VS Code e editor simili, con particolare attenzione ai pacchetti ottenuti dai registri Visual Studio Marketplace e Open VSX. Le revisioni di sicurezza dovrebbero esaminare file package.json, punti di ingresso eseguibili e capacità di esecuzione di rete o processo inaspettati nelle estensioni a tema. Imporre permessi di estensione rigorosi e monitorare l’esecuzione di script non autorizzati può ridurre ulteriormente i rischi della catena di approvvigionamento.
Risposta
Quando vengono rilevati indicatori come processi cmd.exe inaspettati lanciati da VS Code o la presenza di temp_batch.cmd, isolare immediatamente il host affetto. Indagare sulle credenziali compromesse potenzialmente, i token di sessione e i portafogli di criptovaluta. Rimuovere le estensioni malevole identificate e condurre una revisione forense completa dell’ambiente di sviluppo per verificare che non restino backdoor persistenti o payload aggiuntivi.
Flusso d’Attacco
Stiamo ancora aggiornando questa parte.
Detections
Luogo di esecuzione eseguibile/scrip sospetto tramite [cmd.exe /C] (via cmdline)
Comando e controllo sospetto tramite richiesta DNS da dominio di primo livello insolito (TLD) (via dns)
IOC (HashSha256) per rilevare: Temi Eleganti, Caricatori Nascosti: Estensioni collegate a GlassWorm che si estendono nel VS Code Marketplace e nel Socket di Open VSX scoperto
IOC (HashMd5) per rilevare: Temi Eleganti, Caricatori Nascosti: Estensioni collegate a GlassWorm che si estendono nel VS Code Marketplace e nel Socket di Open VSX scoperto
Esecuzione di script di VS Code malevole che indica un potenziale compromesso [Evento File di Windows]
Esecuzione di script malevoli da Estensioni di VS Code [Creazione Processo di Windows]
Esecuzione Simulata
-
Narrativa dell’Attacco & Comandi: Un avversario ha compromesso con successo la workstation di uno sviluppatore ingannandolo a installare un’estensione di tema malevola di VS Code. Al momento dell’attivazione, l’estensione esegue un processo in background che recupera un payload malevolo da un server remoto (Ingress Tool Transfer). Per avviare la prossima fase dell’attacco—che comporta l’instaurazione della persistenza e il download di ulteriori strumenti—l’estensione scrive un piccolo script batch chiamato
temp_batch.cmdnell’utente%TEMP%directory. Questo script è progettato per eseguire una serie di comandi offuscati per eludere l’antivirus basato su firme tradizionali. -
Script di Test di Regressione:
# Script di Simulazione: Rilascio di Payload Estensione Malevola di VS Code # Obiettivo: Creare il file specifico 'temp_batch.cmd' in %TEMP% per attivare la regola di rilevamento. $tempPath = $env:TEMP $fileName = "temp_batch.cmd" $fullPath = Join-Path $tempPath $fileName Write-Host "[*] Simulazione dell'attività dell'estensione malevola di VS Code..." -ForegroundColor Cyan # Creare il file batch malevolo $scriptContent = @" @echo off echo Simulazione di esecuzione del payload malevolo... powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command "Write-Host 'Comando Malevolo Eseguito'" "@ try { Set-Content -Path $fullPath -Value $scriptContent -ErrorAction Stop Write-Host "[+] SUCCESSO: Creato $fullPath" -ForegroundColor Green Write-Host "[!] Monitorare il vostro SIEM/EDR per l'allerta di rilevamento." -ForegroundColor Yellow } catch { Write-Host "[-] FALLIMENTO: Impossibile creare il file. Errore: $($_.Exception.Message)" -ForegroundColor Red } -
Comandi di Pulizia:
# Script di Pulizia: Rimuovere gli artefatti creati durante la simulazione $tempPath = $env:TEMP $fileName = "temp_batch.cmd" $fullPath = Join-Path $tempPath $fileName if (Test-Path $fullPath) { Remove-Item -Path $fullPath -Force Write-Host "[+] Pulizia Completa: $fullPath rimosso." -ForegroundColor Green } else { Write-Host "[-] Pulizia Fallita: File non trovato." -ForegroundColor Red }