Analisi di una campagna WsgiDAV multi-stage: falsa comunicazione da Agenzia Nazionale Finanziaria

03/03/2026

WsgiDAV

Il caso qui analizzato prende spunto da un’email di phishing con oggetto “Informare servicii online ANBSC“, ricevuta il 27 febbraio 2026. Il messaggio impersonifica la provenienza da un ente fiscale e utilizza il pretesto di una presunta irregolarità dichiarativa del 2025 per indurre il destinatario a cliccare sul link esterno:

Email iniziale

L’oggetto dell’email fa riferimento alla “ANBSC“, acronimo dell’Agenzia Nazionale per l’Amministrazione e la Destinazione dei Beni Sequestrati e Confiscati alla Criminalità Organizzata, con sede in Via Ezio, Roma. Tuttavia, nel footer del messaggio è riportato l’indirizzo “Via Giorgione 106, Roma“, sede dell’Agenzia delle Entrate.

La presenza di riferimenti a due enti distinti suggerisce un tentativo generico di simulazione istituzionale, caratterizzato da incongruenze che ne riducono la credibilità formale ma possono risultare comunque efficaci in un contesto di social engineering.

Analisi statica

L’email proviene da un account associato a un dominio universitario spagnolo. Nel corpo del messaggio è presente un collegamento che avvia una catena di redirect fino al download di un archivio ZIP contenente un file con estensione .url (collegamento internet di Windows):

Fac_2026_1612320608.url

La sintassi indica un accesso remoto tramite WebDAV su connessione TLS. L’URL punta a uno script .wsh ospitato su un dominio esposto tramite Cloudflare Tunnel. L’apertura del file shortcut comporta quindi il recupero e l’esecuzione dello script remoto elcqjyp.wsh:

elcqjyp.wsh

Il file .wsh non contiene la logica malevola finale ma funge solo da loader intermedio e richiama un secondo stadio in JavaScript .js, anch’esso ospitato sullo stesso server remoto:

uweepyj.js

Lo script JS utilizza oggetti COM di Windows (Scripting.FileSystemObject e WScript.Shell), per interagire con il file system e con la shell di sistema. Tramite WebDAV scarica il batch principale qidctgy.bat nella directory Downloads dell’utente e ne avvia l’esecuzione con cmd /c.

qidctgy.bat

Il file qidctgy.bat è l’orchestratore dello stadio iniziale. Non contiene il RAT, ma prepara l’ambiente e avvia lo stadio successivo.

Documento esca

Alla prima esecuzione apre un PDF legittimo a tema fiscale per rafforzare il pretesto dell’email, quindi rilancia se stesso in modalità nascosta tramite PowerShell con l’opzione -WindowStyle Hidden.

PDF legittimo

La persistenza

In seguito, imposta come directory operativa %LOCALAPPDATA%\mrbqm e verifica la presenza di un eseguibile python.exe. Se assente, scarica la versione embedded 3.14.0 da python.org ed estrae il runtime nella cartella locale. Garantisce la sua persistenza scaricando un ulteriore file batch nella cartella Startup dell’utente, impostando la sua esecuzione automatica al login.

Decifratura payload

Successivamente scarica tre file dal server remoto, sb.py, new.bin e a.txt, quindi avvia la decifratura del file new.bin tramite lo script python sb.py usando le chiavi contenute in a.txt tramite diverse operazioni XOR.

Chiavi presenti nel file a.txt

python sb.py -i new.bin -k a.txt

Il processo non usa un’unica chiave, ma tre passaggi consecutivi in ordine inverso rispetto alla disposizione nel file:

  1. il blob viene trasformato con la prima chiave operativa (key3);
    • d1 = XOR(new.bin, key3)
  2. il risultato viene ritrasformato con la seconda (key2);
    • d2 = XOR(d1, key2)
  3. infine con la terza chiave (key1).
    • d3 = XOR(d2, key1)

Al termine dei tre layer XOR si ottiene il payload finale che viene iniettato in memoria nel processo explorer.exe attraverso la sequenza:

CreateProcessA -> VirtualAllocEx -> WriteProcessMemory -> QueueUserAPC -> ResumeThread
Injector Python

Il codice malevolo viene eseguito dentro un processo legittimo (explorer.exe) e non nel processo originario, rendendo la rilevazione più difficile.

Analisi dinamica

A questo punto si è reso necessario procedere con l’analisi dinamica, effettuando il dump completo del processo explorer.exe, il quale, come evidenziato dallo screenshot di Process Explorer, risulta avviato dal processo python.exe.

Analisi dinamica

L’analisi del dump ha consentito di ricostruire i dettagli delle connessioni di rete stabilite dal processo compromesso verso il server di comando e controllo. Sono stati identificati gli endpoint remoti e la porta utilizzati per le comunicazioni, confermando l’attivazione del canale C2 da parte del payload iniettato.

Command and control

L’indirizzo IP e la porta del C2 non sono hardcoded nel binario: vengono recuperati dinamicamente da un URL ospitato su Pastebin.

C2 riportato nel paste

Correlazione C2 su VirusTotal

Alcuni utenti su VirusTotal hanno evidenziato ulteriori URL Pastebin che riportano lo stesso C2 (su porte 6000, 7000 e 8000), suggerendo un’infrastruttura condivisa tra più artefatti malevoli. I dati temporali riportati indicano un’attività del server riconducibile ad almeno un mese.

Virustotal community

Secondo quanto riportato dall’utente JaffaCakes118, la piattaforma ThreatFox colloca il C2 alla botnet XWorm. Tale attribuzione rappresenta un’indicazione utile a livello di intelligence, ma non costituisce prova definitiva.

Nel caso in esame non è stato recuperato un assembly .NET finale chiaramente attribuibile a XWorm. In assenza del payload completo o di artefatti strutturali compatibili, non è possibile confermare con certezza l’effettiva riconducibilità del malware analizzato alla famiglia XWorm.

Conclusione

Il caso analizzato evidenzia una catena di compromissione multi stage strutturata, con separazione tra delivery, bootstrap, persistenza, decifrazione del payload ed esecuzione in memoria tramite process injection. La configurazione del C2 viene recuperata dinamicamente da una sorgente remota, riducendo la presenza di indicatori nel campione statico iniziale.

Non essendo possibile formulare un’attribuzione definitiva, l’analisi è limitata alle tecniche operative e all’infrastruttura documentate nel corso dell’indagine. La sequenza operativa evidenzia un impianto modulare, con configurazione remota e payload eseguito in memoria, compatibile con operazioni progettate per ridurre la tracciabilità e riutilizzare la stessa infrastruttura su più campagne.

Indicatori di compromissione

Al fine di rendere pubblici i dettagli di questa campagna si riportano di seguito gli indicatori rilevati.

Link: Download IoC

Taggato  WsgiDAV