Mustang Panda: ToneShell9 e worm USB SnakeDisk mirano alla Thailandia

di Livio Varriale
0 commenti 8 minuti di lettura

Hive0154 introduce ToneShell9 e il worm SnakeDisk, una campagna 2025 che combina backdoor con evasione avanzata, mimetismo TLS, propagazione USB geo-mirata alla Thailandia e catene di persistenza con Yokai, sfruttando sideloading via RAR, DLL EasyFuncs.dll con export FS_RegActiveX, GUID drop in ProgramData, anti-sandbox su GetTickCount, proxy discovery, LCG custom per chiavi C2 e un beacon che imita TLS 1.2 (header 17 03 03, payload 869 byte); gli IOC includono hash, mutex e task pianificati, mentre la difesa richiede policy USB restrittive, telemetria su proxy, hunting su file e chiavi di registro e attenzione alla selettività geografica basata su risposte di ipinfo.io.

Il quadro operativo e la traiettoria del gruppo

image 228
Mustang Panda: ToneShell9 e worm USB SnakeDisk mirano alla Thailandia 7

Hive0154, tracciato anche come Mustang Panda, mantiene da anni un focus est-asiatico e allinea le operazioni a interessi cinesi, colpendo Taiwan, Vietnam e Thailandia. La selezione dei bersagli privilegia think tank, gruppi politici, agenzie governative e soggetti in grado di influenzare la policy regionale. A metà 2025, ricercatori IBM osservano un salto qualitativo con ToneShell9 e l’introduzione del worm SnakeDisk, che sposta parte dell’inizializzazione degli accessi su vettori fisici USB. La geopolitica funge da acceleratore, rendendo appetibili obiettivi thailandesi e facilitando l’impiego di meccanismi di geo-lock per ridurre il rumore internazionale.

ToneShell9: catena di infezione e componenti

ToneShell9 arriva tramite archivi RAR che ospitano un programma legittimo “USB Safely Remove” e la DLL malevola EasyFuncs.dll. L’host legittimo carica la DLL con sideloading, invocando l’export FS_RegActiveX che inizializza il payload. La tecnica sfrutta l’affidabilità percepita di strumenti collegati alla gestione periferiche, aumentando il tasso di esecuzione in ambienti dove la sicurezza USB risulta lacunosa. Il modulo di avvio crea una struttura interna denominata C2_CLIENT con allocazione di 129 KB, organizzata in buffer di rete, handle socket, liste proxy, puntatori a moduli e parametri di stato. Il design orientato a moduli consente l’aggiornamento selettivo di capacità senza sostituzione dell’intero impianto, migliorando resilienza operativa e agilità tattica.

Sideloading, inizializzazione e discovery dei proxy

Il loader di ToneShell9 enumera il registro su HKEY_LOCAL_MACHINE, HKEY_CURRENT_USER e HKEY_USERS\.DEFAULT alla ricerca di ProxyEnable e ProxyServer, integrando le impostazioni rilevate con WinHTTP. Questa scelta riduce l’attrito di rete, sfrutta infrastrutture aziendali e minimizza indicatori anomali lato egress. In parallelo, il malware genera un GUID di vittima con CoCreateGuid e lo scrive in C:\ProgramData\ProgrammaticallyCpp.inc, lasciando un punto di ancoraggio facilmente huntabile se noto ai difensori.

Anti-analisi e randomizzazione

La componente di evasione misura differenze di tick via GetTickCount prima e dopo sleep brevi; deviazioni consistenti indicano sandbox o strumentazione. Il PRNG LCG custom introdotto nella serie ToneShell8 e mantenuto in ToneShell9 sostituisce generatori di libreria, moltiplicando lo stato per 0xBD828 e aggiungendo 0x4373A in zf_update_prng. Il LCG guida ID, chiavi C2 e verifica beacon, con qualità variabile tra sample ma sufficiente a offuscare pattern e a de-sincronizzare i tempi di rete.

Comunicazioni C2 e comandi

Il beacon imita TLS 1.2 con header 17 03 03 e payload di 869 byte (0x0365 big-endian). La scelta del mimetismo TLS aumenta la probabilità di passare inosservato nei proxy aziendali. I comandi comprendono creazione di shell, esecuzione di istruzioni e terminazione della sessione, con due reverse shell parallele per resilienza. L’esecuzione dei comandi avviene tramite CreateProcess, con cattura delle pipe e invio su canale C2. La rotazione automatica dei proxy e il supporto a SOCKS/HTTP mantengono l’operatività in contesti filtrati. La persistenza impiega Run key su HKCU\Software\Microsoft\Windows\CurrentVersion\Run, spesso ancorando l’avvio a host legittimi per schermare l’anomalia.

Evoluzione da ToneShell8 a ToneShell9

Nel marzo 2025, ToneShell8 introduce junk code e sleep random, stringhe esfiltrate da ChatGPT OpenAI per confondere analisi statiche e sostituzione del PRNG. A luglio 2025, compare ToneShell9 con zero rilevazioni su VirusTotal per campioni iniziali, hash osservato 318a1ebc0692d1d012d20d306d6634b196cc387b1f4bc38f97dd437f117c7e20. Il salto non è solo sul fronte delle firme, ma nella messa a punto dei flussi C2 e nella modularità, che consente espansione senza esporre trace visibili di ricompilazioni massive.

SnakeDisk: worm USB geo-mirato alla Thailandia

SnakeDisk emerge ad agosto 2025 come DLL 32-bit sideloaded, con risoluzione API basata su hash table coerente con la famiglia ToneShell. La peculiarità è il geo-check: il worm esegue una richiesta GET a ipinfo.io/json con User-Agent “Program/1.0”, parsa la risposta e procede solo se country corrisponde a “THA” o “TH”. Questa selettività riduce il rischio di rilevazioni globali e concentra l’impatto sul perimetro thailandese. Il file di configurazione, di 0x14A fino a 0x14000 byte, viene validato con CRC32 e decrittato in due fasi XOR con chiave da 320 byte. Diciotto stringhe parametrizzano versione, mutex, directory su USB e altri marker. La robustezza della config abilita variazioni rapide di comportamento senza dover re-ingegnerizzare il codice.

Rilevamento dispositivi e propagazione su USB

SnakeDisk intercetta WM_DEVICECHANGE e usa SetupDiGetClassDevs con IOCTL_STORAGE_GET_HOTPLUG_INFO per monitorare inserimenti. All’arrivo di un nuovo drive rimovibile, crea una struttura **:<urd><uud>**, sposta i file utente per mimetizzare l’albero e copia i propri artefatti nella root impostandoli SYSTEM e HIDDEN. Questo trucco, spesso usato in campagne asiatiche, sfrutta la fiducia operativa negli scambi su pennette in contesti ufficio e governativi, replicando infezioni senza dipendere dal perimetro di rete.

Dal drop alla catena con Yokai

Il worm droppa in *C:\Users\Public* file come srv0, srv1 e loga, concatena porzioni in libcef.dll e affida a un EXE legittimo l’hijack con sideloading. La sequenza culmina con Yokai versione 1.0.0, che stabilisce persistenza tramite Scheduled Task denominato “MicrosoftEdgeAcModuleUpdateTask”. Il mutex k1tpddvivh74fo1et725okr1c1 impedisce istanze multiple. La telemetria di rete mostra HTTP POST verso endpoint /upload, con payload binario cifrato e intervalli di beacon di circa 5 minuti.

Yokai: funzioni operative e persistenza

Yokai esegue comandi file-centric, keylogging, screenshot, furto cookie e dati form mediante iniezione nei browser principali. La scelta della persistenza via task – anziché service – riflette prudenza operativa in contesti non admin, mentre l’uso di nomi “Edge-like” tenta di ingannare audit superficiali. Il supporto ai proxy di sistema allinea l’esfiltrazione ai percorsi corporate, riducendo ulteriormente i segnali anomali.

Evasione, OPSEC e riduzione della superficie esposta

La combinazione di LCG, junk code e anti-sandbox crea entropia comportamentale. L’header TLS fasullo abbassa i tassi di blocco su appliance di frontiera. La geo-selettività di SnakeDisk limita la diffusione e l’attenzione internazionale. Gli attributi SYSTEM+HIDDEN sui file USB e il drop in Public mascherano la persistence chain, mentre l’uso di host legittimi per DLL hijacking disperde gli indicatori tra segnali ordinari.

Telemetria e segnali utili al rilevamento

I difensori traggono valore da quattro osservabili centrali integrati in pipeline SIEM/EDR. Primo, la creazione del file C:\ProgramData\ProgrammaticallyCpp.inc, marcatore forte della fase ToneShell9. Secondo, richieste HTTP GET verso ipinfo.io/json con User-Agent “Program/1.0”, soprattutto su endpoint non interattivi. Terzo, eventi WM_DEVICECHANGE seguiti da scritture con ATTRIB_SYSTEM e ATTRIB_HIDDEN su root USB in rapida sequenza. Quarto, task con nome MicrosoftEdgeAcModuleUpdateTask, path sospetto e relazioni con libcef.dll in Public. Questi pivot permettono hunting trasversale, correlazioni e contenimento prima della fase C2.

Catena d’attacco e mappatura tattica

La kill chain parte dal sideloading (RAR con binario legittimo + DLL malevola), prosegue con inserimento chiavi Run, discovery proxy e stabilizzazione C2. Le tactis includono defense evasion (anti-sandbox, mimetismo TLS), credential access (iniezioni in lsass.exe nei varianti), exfiltration su HTTP POST e lateral movement limitato nelle fasi osservate. SnakeDisk funge da initial access fisico dove le policy USB restano permissive, realizzando un ponte tra endpoint air-gapped o segmentati e l’ecosistema Yokai.

Implicazioni geopolitiche e selettività del targeting

L’uso di geo-lock Thailandia suggerisce obiettivi di policy e apparati pubblici locali, coerenti con tensioni regionali. La selettività consente a Hive0154 di saggiare difese senza innescare allarmi globali, mantenendo bassa rumorosità in feed CTI internazionali. La scelta USB riflette pratiche operative degli enti target, dove lo scambio fisico di file resta diffuso, e autorun o copia manuale vengono tollerati.

Raccomandazioni operative per le aziende asiatiche

Le organizzazioni con presenza in Thailandia dovrebbero irrigidire le policy USB, disabilitare autorun, scansire media all’inserimento e imporre whitelisting di periferiche. A livello proxy, conviene registrare e allertare su POST con payload ad alta entropia e su TLS non standard mascherato da Application Data. Il monitoraggio della creazione di task con nomi di sistema non firmati e l’auditing di Run key HKCU su utenti non admin completano l’hardening. La condivisione degli IOC in comunità settoriali permette risposte coordinate e taglio della dwell time. Un piano di detection efficace contro ToneShell9/SnakeDisk/Yokai integra tre livelli. Al livello host, regole EDR tracciano GetTickCount accoppiato a sleep brevi e creazione di C:\ProgramData\ProgrammaticallyCpp.inc, con alert su caricamenti DLL non firmati da host legittimi. Al livello USB, sensoristica sugli eventi WM_DEVICECHANGE correla copia di file con attributi SYSTEM+HIDDEN in root e mutazioni di alberi in *:<urd><uud>* subito dopo l’inserimento. Al livello rete, regole proxy/IDS cercano header 17 03 03 con lunghezza 0x0365, POST /upload con corpi binari cifrati, User-Agent “Program/1.0” verso ipinfo.io, ed entropia elevata su canali che dichiarano TLS ma non completano handshake standard. Una YARA comportamentale può combinare costanti LCG (0xBD828, 0x4373A), stringhe di config decrittate e artefatti come FS_RegActiveX ed EasyFuncs.dll. L’adozione congiunta di app-allowlisting, privilegi minimi per utenti non admin e analisi differita dei device rimovibili riduce drasticamente la finestra di attacco. Infine, l’instrumentation di Scheduled Task con nomi “Edge-like” e la telemetria su Run key HKCU creano tripwire affidabili contro Yokai, mentre il sinkholing dei domini C2 osservati e il blocco selettivo delle query a ipinfo.io da host non interattivi chiudono il ciclo di controllo.

Articoli correlati

MatriceDigitale.it – Copyright © 2024, Livio Varriale – Registrazione Tribunale di Napoli n° 60 del 18/11/2021. – P.IVA IT10498911212 Privacy Policy e Cookies