Categorie
Inchieste

Ecco come Twisted Panda ha spiato la Difesa Russa

Tempo di lettura: 12 minuti. La Cina apprende in silenzio la tecnologia della Russia

Tempo di lettura: 12 minuti.

In questo rapporto, i ricercatori di CPR hanno descritto ed esposto un’operazione di spionaggio cinese denominata Twisted Panda che prende di mira gli istituti di ricerca sulla difesa in Russia e forse anche in Bielorussia. Questa campagna si basa su tecniche di social engineering e sfrutta le sanzioni imposte di recente alla Russia per fornire una backdoor non documentata chiamata SPINNER a obiettivi specifici. Lo scopo della backdoor e dell’operazione è probabilmente quello di raccogliere informazioni da obiettivi all’interno dell’industria della difesa russa ad alta tecnologia per sostenere la Cina nel suo progresso tecnologico.

Si traduce il rapporto di Check Point Research:

Nell’ambito di questa indagine, abbiamo scoperto l’ondata precedente di questa campagna, anch’essa probabilmente rivolta a entità russe o collegate alla Russia, attiva almeno dal giugno 2021. L’evoluzione degli strumenti e delle tecniche in questo periodo di tempo indica che gli attori dietro la campagna sono persistenti nel raggiungere i loro obiettivi in modo furtivo. Inoltre, la campagna Twisted Panda dimostra ancora una volta la rapidità con cui gli attori dello spionaggio cinese si adattano e si adeguano agli eventi mondiali, utilizzando le esche più rilevanti e aggiornate per massimizzare le loro possibilità di successo.

Negli ultimi due mesi abbiamo osservato diversi gruppi APT che hanno cercato di sfruttare la guerra tra Russia e Ucraina come esca per operazioni di spionaggio. Non sorprende che le stesse entità russe siano diventate un obiettivo interessante per le campagne di spear-phishing che sfruttano le sanzioni imposte alla Russia dai Paesi occidentali. Queste sanzioni hanno esercitato un’enorme pressione sull’economia russa e in particolare sulle organizzazioni di diversi settori industriali russi.

Check Point Research (CPR) descrive una campagna mirata che ha utilizzato esche legate alle sanzioni per attaccare gli istituti di difesa russi, parte della Rostec Corporation. L’indagine dimostra che questa campagna fa parte di una più ampia operazione di spionaggio cinese in corso da diversi mesi contro entità legate alla Russia. I ricercatori di CPR ritengono con elevata sicurezza che la campagna sia stata condotta da un APT nazionale cinese esperto e sofisticato. Nel blog che segue, i ricercatori rivelano le tattiche e le tecniche utilizzate dagli attori della minaccia e forniscono un’analisi tecnica delle fasi e dei payload dannosi osservati, compresi loader e backdoor precedentemente sconosciuti con molteplici tecniche avanzate di evasione e anti-analisi.

Risultati principali:

Il CPR rivela una campagna mirata contro almeno due istituti di ricerca in Russia, la cui competenza principale è la ricerca e lo sviluppo di soluzioni di difesa altamente tecnologiche. La ricerca suggerisce che un altro obiettivo in Bielorussia, probabilmente anch’esso legato al settore della ricerca, ha ricevuto un’e-mail di spear-phishing simile, in cui si afferma che gli Stati Uniti starebbero diffondendo un’arma biologica.
Gli istituti di ricerca sulla difesa che abbiamo identificato come obiettivi di questo attacco appartengono a una holding del conglomerato statale russo della difesa Rostec Corporation. Si tratta della più grande holding russa nel settore della radioelettronica e gli istituti di ricerca presi di mira si occupano principalmente dello sviluppo e della produzione di sistemi di guerra elettronica, di apparecchiature radioelettroniche militari di bordo, di stazioni radar aeree e di mezzi di identificazione statale.
Questa campagna è la continuazione di quella che il CPR ritiene essere un’operazione di spionaggio di lunga durata contro entità legate alla Russia, in atto almeno dal giugno 2021. L’operazione potrebbe essere ancora in corso, dato che l’attività più recente è stata osservata nell’aprile 2022.

L’attività è stata attribuita con elevata sicurezza a un attore cinese, con possibili collegamenti a Stone Panda (alias APT10), un attore sofisticato ed esperto sostenuto da uno Stato nazionale, e a Mustang Panda, un altro attore esperto di spionaggio informatico basato in Cina. Il CPR ha chiamato questa campagna Twisted Panda per riflettere la sofisticazione degli strumenti osservati e l’attribuzione alla Cina.

Gli hacker utilizzano nuovi strumenti, che non sono stati descritti in precedenza: un sofisticato loader multilivello e una backdoor denominata SPINNER. Questi strumenti sono in fase di sviluppo almeno dal marzo 2021 e utilizzano tecniche avanzate di evasione e anti-analisi, come caricatori in-memory multistrato e offuscamenti a livello di compilatore.

Il 23 marzo sono state inviate e-mail dannose a diversi istituti di ricerca sulla difesa con sede in Russia. Le e-mail, che avevano come oggetto “Elenco di persone sottoposte a sanzioni statunitensi per l’invasione dell’Ucraina”, contenevano un link a un sito controllato dall’aggressore che imitava il Ministero della Salute della Russia minzdravros[.]com e contenevano in allegato un documento dannoso:

Figura 1: e-mail di spear-phishing inviata a istituti di ricerca in Russia.

Lo stesso giorno, un’e-mail simile è stata inviata anche a un’entità sconosciuta di Minsk, in Bielorussia, con l’oggetto “US Spread of Deadly Pathogens in Belarus”. Tutti i documenti allegati sono stati realizzati in modo da sembrare documenti ufficiali del Ministero della Salute russo, con tanto di emblema e titolo ufficiale:

Figura 2: Schermata del documento esca inviato agli istituti di ricerca in Russia.

Ogni documento scarica un modello esterno dagli URL con un formato simile, come https://www.microtreely.com/support/knowledgebase/article/AIUZGAE7230Z[.]dotm. Il modello esterno contiene un codice macro che importa diverse funzioni API da kernel32 (LoadLibraryA, CreateFileA, WriteFile, ReadFile, ecc.) e le utilizza per:

  • Scrivere tre file (cmpbk32.dll, cmpbk64.dll e INIT) nel percorso: C:/Utenti/Pubblico.
  • Caricare cmpbk32.dll o cmpbk64.dll (a seconda dell’architettura del sistema operativo) ed eseguire la funzione esportata R1.

L’esecuzione della funzione esportata R1 finalizza l’inizializzazione dei file dannosi. Il malware crea una directory di lavoro %TEMP%\OfficeInit e vi copia i file INIT e cmpbk32.dll, nonché un eseguibile legittimo di Windows a 32 bit cmdl32.exe dalla cartella System32 o SysWOW64, a seconda che il sistema operativo sia a 32 o 64 bit.

Figura 3: La catena di infezione semplificata.

Il Payload

Il payload è una DLL a 32 bit che utilizza la risoluzione dinamica delle API con hashing dei nomi per l’elusione e l’anti-analisi. Il caricatore non solo è in grado di nascondere la sua funzionalità principale, ma anche di evitare il rilevamento statico delle chiamate API sospette risolvendole dinamicamente invece di utilizzare importazioni statiche.

Lo scopo di cmpbk32.dll è quello di caricare uno shellcode specifico dal file INIT, a seconda dello stadio dell’infezione, ed eseguirlo. Il file INIT contiene due shellcode: lo shellcode del primo stadio esegue lo script di persistenza e pulizia, mentre lo shellcode del secondo stadio è un caricatore multilivello. L’obiettivo è decriptare consecutivamente gli altri tre livelli del caricatore senza file e caricare infine il payload principale in memoria. Per distinguere le fasi, il punto di ingresso della DLL DllMain esegue azioni diverse in base al motivo della chiamata.

Fase di impostazione

Quando il documento dannoso viene chiuso, viene attivato un evento PROCESS_DETACH. La DLL esegue una parte del file INIT incaricato di ripulire i file creati dal documento dannoso e crea un’attività pianificata per la persistenza:

Figura 4: L’evento DLLMain PROCESS_DETACH esegue lo shellcode responsabile della persistenza e della pulizia da INIT.

Figura 5: funzione di persistenza e pulizia

Fase di caricamento

Il processo di caricamento principale inizia con l’esecuzione dell’attività pianificata cmdl32.exe che carica la DLL dannosa cmpbk32.dll. Il sideloading della DLL da parte di un processo legittimo è una tecnica comunemente utilizzata dagli attori delle minacce; l’accoppiamento con un processo di caricamento robusto può aiutare a eludere le moderne soluzioni antivirus poiché, in questo caso, l’effettivo processo in esecuzione è valido e firmato da Microsoft. Si noti che il file cmpbk64.dll non viene copiato nella cartella %TEMP%\OfficeInit. La versione a 64 bit della DLL viene utilizzata solo nella fase iniziale dell’infezione dal processo MS Word a 64 bit, poiché cmdl32.exe a 32 bit può caricare solo cmpbk32.dll a 32 bit.

Quando la DLL viene caricata, viene attivato l’evento PROCESS_ATTACH che avvia una sequenza di operazioni. La sequenza elimina diversi livelli crittografati dal file INIT e alla fine rivela ed esegue il payload finale. Per prima cosa legge un blob crittografato con XOR dal file INIT e lo decrittografa in memoria utilizzando un semplice XOR con la chiave 0x9229. Il blob decrittografato è un codice indipendente dalla posizione e il primo dei livelli crittografati che “proteggono” il payload principale.

Figura 6: Livelli di decodifica eseguiti dal caricatore per scoprire il payload finale.

Questo primo livello è piuttosto semplice. Carica dinamicamente da Kernel32.dll le funzioni WinAPI essenziali per il suo lavoro. Successivamente, inizia una sequenza di operazioni per scoprire il secondo livello. Utilizza RC4 con la seguente chiave codificata: 0x1C, 0x2C, 0x66, 0x7C, 0x11, 0xCF, 0xE9, 0x7A, 0x99, 0x8B, 0xA3, 0x48, 0xC2, 0x03, 0x07, 0x55. Quindi decomprime il buffer decriptato utilizzando RtlDecompressBuffer e rivela il secondo livello.

Figura 7: Iniezione in msiexec.exe

Il codice iniettato inizia caricando dinamicamente un file PE incorporato all’interno ed eseguendolo dal suo punto di ingresso.

La backdoor SPINNER: analisi tecnica

Il payload utilizza due offuscamenti a livello di compilatore:

Appiattimento del flusso di controllo: altera il flusso di codice rendendolo non lineare.
Predicati opachi: definisce la logica inutilizzata e fa sì che il binario esegua calcoli inutili.
Entrambi i metodi rendono difficile l’analisi del payload, ma insieme rendono l’analisi dolorosa, lunga e noiosa. Questi due tipi di offuscamento sono stati precedentemente individuati come utilizzati insieme in campioni attribuiti al gruppo di lingua cinese Stone Panda (APT10) e Mustang Panda.

Figura 8: offuscamento del codice con predicati opachi e appiattimento del flusso di controllo nel campione SPINNER.

Quando la backdoor SPINNER inizia a funzionare, crea un mutex chiamato MSR__112 per garantire che ci sia una sola istanza del payload in esecuzione alla volta. Il payload espande anche la persistenza precedentemente creata dal caricatore. Crea una nuova chiave del Registro di sistema OfficeInit in SOFTWARE\Microsoft\Windows\CurrentVersion\Run che punta al percorso cmdl32.exe.

Quindi, imposta la propria configurazione, che contiene i seguenti campi:

struct malware_config {
std::string full_c2_url;
std::string host_name;
std::string c2_uri;
DWORD use_https;
DWORD port;
DWORD sleep_time;
}

Il full_c2_url viene decifrato utilizzando la decifrazione XOR con la chiave 0x50. Dopo la decrittazione, la funzione InternetCrackUrlA viene utilizzata per decifrare un URL nei suoi componenti: i campi c2_url_without_scheme, c2_uri, port e use_https.

Successivamente, la backdoor inizia il suo ciclo principale controllando se è la prima esecuzione e quindi non è ancora avvenuto il fingerprinting del sistema. Se la risposta è negativa, la backdoor crea un ID Bot casuale di 16 byte e lo salva nel file %TEMP%\OfficeInit\init.ini. Quindi raccoglie dati sul sistema infetto e crea una stringa contenente i seguenti dati:

  • ID bot
  • Nome del computer
  • IP locale
  • Versione di Windows
  • Nome utente
  • Tempo di riposo recuperato dalla configurazione del malware
  • ID processo
  • NULL aggiunto alla fine della stringa

Campagna precedente

Durante la ricerca su VirusTotal di file simili al loader, abbiamo riscontrato un ulteriore cluster che utilizza il sideloading di DLL per lanciare un loader in-memory molto simile a quello discusso in precedenza. Carica quindi un payload che potrebbe essere una variante precedente della backdoor SPINNER. A giudicare dai nomi dei file e dai timbri di compilazione degli eseguibili, la campagna è attiva dal giugno 2021.

A differenza dell’attuale campagna, che utilizza documenti Microsoft Word come dropper, la precedente ondata di attacchi si basava su file eseguibili con il logo di Microsoft Word. Ciò suggerisce che questi dropper erano destinati a essere consegnati alle vittime con gli stessi mezzi dei documenti dannosi, tramite e-mail di spear-phishing, sia come allegati che come link a siti falsi.

Evoluzione dei TTP della campagna

In meno di un anno, gli attori hanno migliorato significativamente la catena di infezione e l’hanno resa più complessa. Tutte le funzionalità della vecchia campagna sono state conservate, ma sono state suddivise tra più componenti, rendendo più difficile l’analisi o il rilevamento di ogni fase. Ecco alcuni esempi di componenti suddivisi:

La funzionalità del dropper EXE è suddivisa tra un documento dannoso e il payload. È un adattamento ragionevole come eseguibile. Anche uno che si maschera da documento potrebbe destare molti più sospetti di un documento accuratamente realizzato.
Aggiunta di ulteriori funzionalità al caricatore di DLL. È interessante notare che gli attori hanno scelto di non aggiungere altre funzioni esportate alla DLL, ma di gestire diversi motivi di chiamata in DllMain, facendo in modo che alcune parti di codice dannoso vengano eseguite in background quando il documento viene chiuso.
Sebbene il caricatore contenga alcune tecniche di anti-analisi e di evasione, come l’uso di shellcode e la risoluzione dinamica delle API tramite hashed, nell’ultima campagna gli attori hanno aggiunto miglioramenti significativi integrando complesse offuscazioni a livello di compilatore alla backdoor SPINNER.

Oltre alle complesse offuscazioni, la backdoor SPINNER è stata ridotta alle sole funzionalità di base. Questo è stato fatto probabilmente per aumentare la furtività e l’evasione del malware.

Attribuzione

Backdoor SPINNER

Come per qualsiasi campione di malware sconosciuto, l’analisi del loader e della backdoor di SPINNER ha richiesto l’RCP per determinare se si trattasse di un campione di malware noto o di una famiglia di malware completamente nuova. A prima vista, il payload sembrava simile al malware PlugX/Hodur descritto da ESET in un rapporto recentemente pubblicato sull’APT cinese Mustang Panda. La prima somiglianza riguarda la numerazione ID dei comandi C&C: entrambi i malware utilizzano 2 byte per specificare la categoria di comando e 2 byte per un comando specifico di questa categoria. Ad esempio, il comando 0x10010001 viene utilizzato nella variante SPINNER per inviare i dati delle informazioni di sistema, mentre il malware Hodur utilizza il gruppo di comandi 0x1001 e l’ID del comando 0x1001 per la stessa azione.

Inoltre, alcuni dei comandi stessi si sovrappongono tra i campioni, come quelli che elencano le unità logiche, ottengono informazioni dettagliate sui file in una directory o eseguono comandi utilizzando cmd.exe. Queste funzionalità non sono uniche e di solito si trovano in molte backdoor. In questo caso, i due malware condividono una somiglianza ancora più grande e sorprendente. Dopo aver aperto la variante Hodur PlugX nel disassemblatore, è emerso che Hodur, come SPINNER, è stato pesantemente offuscato utilizzando il Control Flow Flattening (CFF). Tuttavia, il CFF di Hodur è diverso da quello di SPINNER. Il CFF di Hodur si basa su un dispatcher che utilizza un determinato registro per decidere a quale blocco di codice saltare successivamente, mentre in SPINNER il registro viene utilizzato così com’è senza alcuna manipolazione. Nella variante PlugX, vengono utilizzate operazioni aritmetiche aggiuntive sul registro prima che venga controllato dal dispatcher. Per completare il confronto con l’offuscamento, Hodur offusca pesantemente le chiamate API e le stringhe, un passaggio assente in SPINNER.

In termini di implementazione, i campioni di malware sono completamente diversi. Hodur è un’applicazione desktop di Windows multithread e comunica con il C&C attraverso più thread, ognuno con il proprio scopo, mentre SPINNER è un’applicazione console a thread singolo. Il metodo di enumerazione di Hodur è più esteso di quello di SPINNER, ma non utilizza il Bot ID che identifica una specifica macchina infetta. La funzione di autocancellazione di Hodur potrebbe essere simile nella sua logica a quella di SPINNER, ma utilizza una serie di comandi completamente diversi per eliminare se stesso e i file associati. La logica di comunicazione di Hodur con il C&C è più complessa e proviene da diverse parti del codice e da più thread, mentre SPINNER ha una sola funzione che gestisce i comandi.

Sebbene le differenze indichino l’appartenenza di questi malware a famiglie diverse, essi condividono delle similitudini di “best practice“. Ecco alcuni esempi di somiglianze:

  • Entrambi utilizzano le funzioni WS2_32 per recuperare l’indirizzo IPv4 del computer locale.
  • Mostrano interesse nell’enumerazione dei file in determinate directory, cercando dati specifici come l’ora dell’ultimo accesso
  • Entrambi enumerano le unità disco, ricercando i thumb drive alla ricerca di dati interessanti
  • Eseguono comandi dal C&C tramite cmd.exe utilizzando una pipe, ecc.
  • Si può sostenere che queste sono solo tecniche comuni utilizzate da tutte le backdoor, ma non è improbabile che questi strumenti possano avere la stessa fonte a monte e quindi condividere molte best practice e metodi.

Attività basata sulla Cina

Le tattiche, le tecniche e le procedure (TTP) di questa operazione ci hanno permesso di attribuirla a un’attività APT cinese. In generale, i gruppi cinesi sono noti per il riutilizzo e la condivisione di strumenti. In assenza di prove sufficientemente solide, come connessioni basate sull’infrastruttura, non abbiamo potuto attribuire direttamente questa attività con elevata sicurezza a uno specifico attore cinese della minaccia. Tuttavia, la campagna Twisted Panda presenta numerose sovrapposizioni con attori cinesi di cyber-spionaggio avanzati e di lunga data:

Le offuscazioni dei flussi di controllo osservate in SPINNER sono state precedentemente utilizzate dal gruppo cinese APT10 e sono riapparse in una recente campagna di spionaggio di Mustang Panda:

Il gruppo APT Mustang Panda è stato osservato sfruttare l’invasione dell’Ucraina per colpire entità russe nello stesso periodo di Twisted Panda.
Il flusso di infezione che si basa sul side-loading delle DLL è una tecnica di evasione preferita utilizzata da diversi attori cinesi. Tra gli esempi vi sono il famigerato malware PlugX (e le sue molteplici varianti, tra cui i già citati campioni di Mustang Panda’ Hodur), la campagna di spionaggio globale APT10 pubblicata di recente che utilizzava il lettore VLC per il side-loading e altre campagne APT10.
Oltre alle somiglianze tra SPINNER e Hodur che abbiamo menzionato in precedenza, anche altre pratiche come i caricatori in-memory multistrato basati su shellcode e PE, specialmente combinati con risoluzioni API dinamiche tramite hash, sono una tecnica tipica di molti gruppi cinesi. La vittimologia della campagna Twisted Panda è coerente con gli interessi cinesi a lungo termine.

Gli obiettivi

Gli istituti di ricerca sulla difesa che abbiamo identificato come obiettivi di questo attacco appartengono a una holding del conglomerato statale russo della difesa Rostec Corporation. Si tratta della più grande holding russa nel settore della radioelettronica e gli istituti di ricerca presi di mira si occupano principalmente dello sviluppo e della produzione di sistemi di guerra elettronica, di apparecchiature radioelettroniche militari di bordo, di stazioni radar aeree e di mezzi di identificazione statale. Gli enti di ricerca si occupano anche di sistemi avionici per l’aviazione civile, dello sviluppo di una serie di prodotti civili come le apparecchiature mediche e di sistemi di controllo per l’energia, i trasporti e le industrie ingegneristiche.

Il piano Made in China 2025 definisce gli obiettivi della Cina per diventare una grande potenza tecnologica ed economica e identifica anche i settori in cui deve diventare leader mondiale, tra cui la robotica, le apparecchiature mediche e l’aviazione. A sostegno di ciò, il piano quinquennale cinese per il periodo 2021-2025 prevede un aumento costante dei budget per la ricerca e lo sviluppo al fine di espandere le capacità scientifiche e tecniche della Cina. Tuttavia, molteplici rapporti, non provenienti dagli Stati Uniti e da altri Paesi, tra cui la Russia, considerata partner strategico della Cina rivelano che, accanto alle relazioni e alle misure palesi, la Cina impiega strumenti occulti per raccogliere informazioni, combinando così le partnership con diverse attività di spionaggio. Insieme alle precedenti segnalazioni di gruppi APT cinesi che conducono le loro operazioni di spionaggio contro il settore governativo e della difesa russo, la campagna Twisted Panda descritta in questa ricerca potrebbe servire come ulteriore prova dell’uso dello spionaggio in uno sforzo sistematico e a lungo termine per raggiungere gli obiettivi strategici cinesi in termini di superiorità tecnologica e potenza militare.

Di Livio Varriale

Giornalista e scrittore: le sue specializzazioni sono in Politica, Crimine Informatico, Comunicazione Istituzionale, Cultura e Trasformazione digitale. Autore del saggio sul Dark Web e il futuro della società digitale “La prigione dell’umanità” e di “Cultura digitale”. Appassionato di Osint e autore di diverse ricerche pubblicate da testate Nazionali. Attivista contro la pedopornografia online, il suo motto è “Coerenza, Costanza, CoScienza”.

Pronto a supportare l'informazione libera?

Iscriviti alla nostra newsletter // Seguici gratuitamente su Google News
Exit mobile version