Seqrite ha svelato Operation Dragon Weave, una campagna di spearphishing attribuita con moderata confidenza a un attore cinese che ha preso di mira funzionari governativi, accademici e aziende tecnologiche in Repubblica Ceca e Taiwan. L’elemento più sofisticato dell’operazione è il payload finale, AZUREVEIL: un agente C2 basato sul framework Adaptix che sfrutta Microsoft Azure Blob Storage come canale di comando-e-controllo, rendendo il traffico malevolo praticamente indistinguibile dalle normali comunicazioni cloud enterprise.
Il contesto geopolitico: perché Repubblica Ceca e Taiwan
La scelta dei target non è casuale. La Repubblica Ceca ha rafforzato negli ultimi anni i legami con Taiwan e ha adottato posizioni critiche nei confronti di Pechino su temi come Huawei e i diritti umani. Taiwan rimane il teatro principale delle ambizioni di raccolta intelligence di Pechino, con un interesse particolare verso il settore tecnologico — semiconduttori, difesa, ricerca avanzata. I documenti-esca usati nell’operazione erano scritti sia in cinese tradizionale che in lingua ceca, confermando la natura mirata e localizzata della campagna.
I settori colpiti includono pubblica amministrazione e settore governativo, ricerca e accademia, tecnologia e software, e servizi finanziari — un profilo tipico delle operazioni di cyberspionaggio state-sponsored.
La catena di infezione: due percorsi, stesso payload finale
L’infezione inizia con un archivio ZIP inviato via spearphishing. All’interno, la vittima trova un documento esca in formato PDF insieme a uno di questi file: un LNK malevolo o un eseguibile compilato in Rust. Indipendentemente dalla scelta della vittima, entrambi i percorsi convergono sulla stessa catena di payload.
Percorso A (LNK-based): Il file LNK esegue silenziosamente uno script VBScript minimalista (empty.vbs) il cui unico compito è avviare Profile.ps1 tramite PowerShell. Questo script PowerShell decrittografa il file 1.dat e rilascia RuntimeBroker_update.exe.
Percorso B (Executable-based): Un eseguibile Rust estrae direttamente tutti i componenti necessari, replicando il risultato del percorso A senza passare per VBScript e PowerShell.
In entrambi i casi, RuntimeBroker_update.exe — che si maschera con il nome di un legittimo processo Windows — esegue il DLL sideloading caricando una versione malevola di UnityPlayer.dll. Questa DLL è il loader RUSTCLOAK.
RUSTCLOAK: il loader Rust con evasione sandbox
RUSTCLOAK è un loader scritto in Rust che implementa diverse tecniche di evasione prima di caricare il payload finale. Prima di procedere, verifica il nome del computer della macchina su cui è in esecuzione, confrontandolo con una lista di nomi tipici degli ambienti di analisi e sandbox:
Nomi macchina rilevati come sandbox da RUSTCLOAK:
- DESKTOP-NAKFFMT
- JULIA-PC
- ARCHIBALD-PC
Se il controllo è superato, RUSTCLOAK decrittografa il payload finale attraverso quattro strati di cifratura: XOR, RC4, Base64 e SM4 (un algoritmo di cifratura a blocchi sviluppato e standardizzato in Cina). L’uso di SM4 è un interessante indicatore contestuale che rafforza la valutazione sull’attribuzione all’attore cinese. Il payload decrittografato — AZUREVEIL — viene caricato direttamente in memoria senza toccare il disco.
AZUREVEIL: l’agente C2 che si nasconde nel cloud Microsoft
AZUREVEIL è un agente per il framework open-source Adaptix C2 con una caratteristica distintiva: usa Microsoft Azure Blob Storage come canale dead-drop per il comando-e-controllo. Invece di comunicare con un server C2 dedicato — facilmente bloccabile — l’agente carica beacon cifrati su un container Azure e legge i comandi dall’operatore dallo stesso container. Tutto il traffico transita su HTTPS verso domini legittimi Microsoft (*.blob.core.windows.net), rendendo il filtraggio estremamente difficile senza bloccare anche i servizi cloud aziendali legittimi.
AZUREVEIL supporta 36 comandi, tra cui: enumerazione di file, directory e dischi logici; listing dei processi in esecuzione e delle named pipe; enumerazione degli adattatori di rete; process injection; reflective loading di eseguibili in memoria; esecuzione di BOF (Beacon Object Files) in memoria; port forwarding e proxy SOCKS per il pivoting; download e upload di file.
Indicatori di compromissione (IoC)
# Infrastruttura C2
note1ggbbhggdwa1[.]blob[.]core[.]windows[.]net
# File names - delivery iniziale
計畫申請審查結果通知單.pdf.lnk
_計畫申請審查結果通知單.exe
# Componenti dropper/loader
RuntimeBroker_update.exe
UnityPlayer.dll (malevola)
BrowserViewUtility.exe
empty.vbs
Profile.ps1
1.dat
Com.dat
# Hash SHA-256 (campioni principali)
096372d19b4787e989f44e04c5ecc29885aa927c34ae8666628d6c0eb20bb447
1c56228cbd1bdebb9e5ea55c2749150fee06c865ede4a3754e8bd6843e51d2d4
# SAS Token Azure (hardcoded nel payload cifrato)
sv=2024-11-04&ss=b&srt=sco&sp=rwdlaciytfx&st=2026-03-19T09:20:44Z
&se=2027-03-19T17:35:44Z&spr=https&sig=ECJjJIIE9Ou75dwiHhliC4fWccdBpLX9u580AX9TGwY=
# Computer names usati come check sandbox
DESKTOP-NAKFFMT
JULIA-PC
ARCHIBALD-PC
Due righe per i difensori
L’abuso di servizi cloud legittimi come Azure Blob Storage per il C2 è una tecnica sempre più diffusa tra gli APT, poiché consente di bypassare molti controlli basati su reputazione o blacklist. Per i team di difesa, le azioni prioritarie includono: monitorare il traffico verso domini *.blob.core.windows.net non generato da applicazioni aziendali note; implementare regole YARA per il rilevamento delle tecniche di DLL sideloading con nomi di processo che imitano componenti Windows legittimi; analizzare i log degli endpoint alla ricerca di VBScript che eseguono PowerShell con parametri di decifratura; bloccare l’esecuzione di file LNK da archivi ZIP via policy. Il SAS token hardcoded nel payload è una firma stabile che può essere usata per il rilevamento retroattivo su EDR e log di rete.
Il report completo con tutti gli IoC, i MITRE ATT&CK mapping e l’analisi tecnica dettagliata è disponibile sul blog di Seqrite Labs.