Analisi del malware VioletRAT veicolato in Italia

06/03/2026

VioletRAT

Nella precedente analisi era rimasto il dubbio sull’identità del malware distribuito. Nella giornata di ieri un ricercatore ha commentato il nostro post su X suggerendo che il payload finale sia VioletRAT v4.7, indicando inoltre un C2 differente rispetto a quello individuato nella nostra analisi. Questo potrebbe indicare che il sample da noi analizzato provenga da una campagna distinta, ma che utilizza infrastruttura o tecniche operative molto simili.

Da una rapida ricerca online abbiamo individuato una recente analisi di VioletRAT pubblicata da SonicWall, dalla quale emergono numerose somiglianze tra le tecniche documentate e quelle osservate nella campagna da noi analizzata.

Identificazione di VioletRAT

Abbiamo quindi ripreso in mano il dump di explorer.exe ed eseguito una semplice ricerca tramite grep della keyword violet per verificare se emergessero riferimenti utili. Tra le stringhe individuate compare la dicitura “VIOLET V5 64”.

Stringe emerse dalla grep

Questo elemento ci consente di attribuire con maggiore confidenza il payload alla famiglia VioletRAT, anche se probabilmente in una versione differente rispetto a quella ipotizzata inizialmente.

Memory carving del payload

A questo punto, con l’aiuto del vibe coding, abbiamo tentato di recuperare il payload finale direttamente dal dump di memoria del processo compromesso tramite una procedura di memory carving automatizzata.

File estratti dall’attività di carving

Lo script python scansiona l’intero dump alla ricerca di intestazioni PE valide, identificando i marker MZ e la firma PE\0\0 (in ASCII). Per ogni candidato ricostruisce il binario utilizzando i metadati presenti nell’Optional Header, in particolare il campo SizeOfImage, per stimare la dimensione dell’immagine in memoria ed estrarre il relativo binario dal dump.

Decompilazione con ILSpy

I file estratti tramite memory carving sono stati successivamente analizzati utilizzando ILSpy tramite l’interfaccia a riga di comando (ilspycmd). A tal fine è stato utilizzato uno script bash che iterava automaticamente su tutti i candidati estratti, tentando la decompilazione di ciascun file e conservando solo quelli per cui l’operazione risultava completata con successo.

#!/usr/bin/env bash INPUT_DIR="carved_pe" OUTPUT_DIR="ilspy_out" mkdir -p "$OUTPUT_DIR" valid_count=0 for f in "$INPUT_DIR"/dotnet_*.bin; do [ -s "$f" ] || continue name=$(basename "$f" .bin) out="$OUTPUT_DIR/$name" mkdir -p "$out" ilspycmd -o "$out" "$f" >/dev/null 2>&1 \ && { echo "[OK] valid .NET assembly: $f"; ((valid_count++)); } \ || { echo "[SKIP] invalid candidate: $f"; rm -rf "$out"; } done echo echo "Valid assemblies found: $valid_count"

Dei 17 candidati .NET individuati nel dump di memoria, solo uno è risultato un assembly valido e completamente decompilabile, mentre gli altri presentavano errori strutturali tipici dei frammenti di memoria.

Decompilazione riuscita solo per il file dotnet_0000_off_50e208.bin

L’assembly valido (dotnet_0000_off_50e208.bin) è stato quindi decompilato con ILSpy, producendo il codice C# utilizzato nelle successive fasi di analisi del malware.

Analisi payload

L’analisi statica del payload .NET recuperato in memoria evidenzia un impianto RAT multi-funzione riconducibile alla linea VioletRAT, con bootstrap C2 dinamico e gestione remota completa dell’host della vittima.

Il codice decompilato rivela un beacon INFO che trasmette al C2 informazioni di sistema e include la stringa “Violet v4.7”. Poiché nel binario è presente anche il marker “VIOLET V5 64”, il campione mostra indicatori di versione non perfettamente allineati, verosimilmente dovuti al riutilizzo di codice legacy tra diverse build della stessa famiglia.

INFO <sep> machine id / bot id <sep> username <sep> OS name <sep> service pack <sep> architettura (32bit / 64bit) <sep> Violet v4.7 <sep> altri identificatori host

Come avevamo già intuito, il campione ottiene la configurazione iniziale da Pastebin (URL riportato dentro il codice in Base64) , estrae ip:port e stabilisce una sessione TCP cifrata Rijndael/ECB verso il server di comando e controllo utilizzando una chiave derivata come MD5(UTF8(password).

Dati cifrati prima dell’invio
Funzione usata per la cifratura

La password usata nel campione analizzato è: Nuevo2022$

Il protocollo applicativo implementa un dispatcher esteso di comandi. Tra le funzionalità osservate figurano l’esecuzione remota di comandi tramite shell interattiva, il download e l’avvio di file, la manipolazione dei processi e il desktop remoto con cattura di screenshot JPEG in tempo reale (RD+). Sono inoltre presenti moduli dedicati alla raccolta di credenziali e dati (PassR, Getpass, Email/Emails).

Di seguito la lista dei comandi

ComandoFunzioneImpatto
CLOSEChiude socket C2 e termina processoTerminazione remota del client
recRiavvio applicazione e uscitaReset operativo su comando C2
updateInvoca routine plugin di aggiornamentoAggiornamento payload/config da remoto
uninstallInvoca routine plugin di disinstallazioneRimozione tracce/persistenza su comando
getinfoInvia informazioni host al C2Fingerprinting e ricognizione vittima
botinfoRichiede info da modulo plugin (gett)Telemetria estesa lato vittima
LNDownload file remoto e avvio (DownloadFile + Process.Start)Esecuzione payload/stage aggiuntivi
urlAvvia path/URL ricevutoEsecuzione remota di risorse locali/web
shellfucEsegue comando shell nascostoCommand execution stealth
R/Avvia CMD.EXE con stdin/stdout/stderr redirettiShell remota interattiva
runnnnnnInvia comando alla shell attivaEsecuzione comandi arbitrari
closeshellInvia EXIT e chiude shellChiusura canale shell remoto
R#Enumera processi con PID e path e li invia al C2Discovery processi/target injection
killTermina processo per PIDDisruption/kill difese o app
kDKill processo + delete fileRimozione artefatti/applicazioni
RSTKill processo + riavvio binarioRestart forzato componenti
RD-Invia elenco monitor disponibiliPreparazione controllo remoto display
RD+Cattura schermo JPEG e invia frame al C2Sorveglianza/esfiltrazione visiva
###Posiziona mouse e clickControllo interattivo UI vittima
$$$Posiziona mouseControllo interattivo UI vittima
^^^&Eventi mouse via mouse_eventAutomazione input remoto
regedScrive chiavi registro (RegWrite)Persistenza/modifica sistema
botInvoca RunBotKillerRimozione concorrenti/antagonisti
adminInvoca routine uacTentativi elevazione privilegi
CilpperInvoca modulo ClipperHijack clipboard (crypto/cred)
PEInvoca modulo injRunEsecuzione/injection via plugin
PSleepInvoca PreventSleepPersistenza operativa nel tempo
ngrokStato/gestione tunneling ngrokFallback C2 e accesso indiretto
hrdp / hrdp+Routine correlate a remote desktop helperAccesso remoto assistito
PassRTrigger modulo password recoveryRaccolta credenziali
Pvbnet + GetpassEsegue estrazione password e invio risultatiEsfiltrazione credenziali
EmailRichiede dati Emails dal modulo pluginEsfiltrazione account/email
DBGrabberAvvia raccolta DB tramite callback C2Furto dati browser/app
AESGrabberAvvia raccolta dati cifrati/plugin AESFurto dati applicativi
disgetAvvia routine GetTok via pluginPossibile furto token/sessioni

Le evidenze raccolte confermano quindi concrete capacità di controllo remoto ed esfiltrazione di dati verso l’infrastruttura C2, con caratteristiche coerenti con varianti recenti della famiglia VioletRAT, sebbene con una configurazione infrastrutturale differente rispetto ad alcune build documentate pubblicamente.

Funzionalità dichiarate della piattaforma VioletRAT

Le informazioni disponibili in forum underground associati al progetto VioletRAT descrivono il malware come una piattaforma RAT completa per Windows. Tra le funzionalità dichiarate figurano il controllo remoto del sistema tramite VNC/HVNC, l’esecuzione di comandi via shell interattiva, la gestione remota dei file e dei processi e la cattura di desktop, audio e webcam.

La piattaforma include inoltre moduli per la raccolta di credenziali e dati sensibili, come password di browser, token di applicazioni, chiavi Wi-Fi e wallet di criptovalute, oltre a componenti di keylogging e data harvesting. Sono presenti anche strumenti di evasione e persistenza, tra cui bypass UAC, disattivazione di Windows Defender e caricamento di payload direttamente in memoria.

Tra le funzionalità aggiuntive vengono infine pubblicizzate capacità di manipolazione della rete, scansione della LAN, monitoraggio delle connessioni e utilizzo dei sistemi compromessi come nodi per attività di tipo botnet.

Conclusioni

L’analisi condotta ha permesso di identificare il malware come una variante della famiglia VioletRAT, caratterizzata da funzionalità di controllo remoto, raccolta di informazioni e comunicazione con un’infrastruttura C2 dedicata. Le capacità osservate nel codice risultano coerenti con quelle pubblicizzate negli ambienti underground associati al progetto.

La piattaforma risulta inoltre commercializzata apertamente su siti e canali underground, dove viene proposta come servizio con diversi modelli di abbonamento e supporto agli operatori. Questo conferma il modello crimeware-as-a-service, che consente anche ad attori con competenze tecniche limitate di utilizzare strumenti avanzati di accesso remoto e data harvesting.

Il fatto che questo malware sia stato veicolato in una campagna indirizzata a utenti in Italia evidenzia come strumenti di questo tipo, facilmente acquistabili e pronti all’uso, possano essere rapidamente impiegati in campagne di infezione rivolte a target locali.

Taggato  VioletRAT