I ricercatori di ESET hanno scoperto una nuova piattaforma di spionaggio con un’architettura complessa, una serie di misure per rendere più difficili il rilevamento e l’analisi, e due innovative caratteristiche. Innanzitutto, un plug-in GSM che utilizza il protocollo di comando AT e, in secondo luogo, sfrutta Tor per le comunicazioni di rete. Gli esperti hanno così chiamato questa piattaforma di cyberspionaggio Attor.
Obiettivi
L’operazione di spionaggio di Attor è altamente mirata: siamo riusciti a rintracciare le attività di Attor almeno dal 2013, ma abbiamo identificato solo poche decine di vittime. Ciò nonostante, siamo stati in grado di saperne di più sugli utenti coinvolti analizzando gli artefatti nel malware.
Ad esempio, per riferire le attività del soggetto colpito, Attor monitora i processi attivi acquisendo le schermate delle applicazioni selezionate. Vengono prese di mira solo alcune applicazioni: quelle con sottostringhe specifiche nel nome del processo o nel titolo della finestra.
Oltre ai servizi standard come i browser Web più diffusi, le applicazioni di messaggistica istantanea e i servizi di posta elettronica, l’elenco delle applicazioni mirate contiene numerosi servizi russi, come riportato nella Tabella 1.
Tabella 1. Domini violati nella campagna

L’elenco comprende i due social network più popolari in Russia (Odnoklassniki, VKontakte) e un servizio VoIP fornito da un operatore di telecomunicazioni russo (Multifon). La nostra conclusione è che Attor si rivolge in modo specifico ai madrelingua russi, ipotesi confermata dal fatto che la maggior parte degli obiettivi si trova in Russia, come mostrato nella Figura 1. Altri obiettivi si trovano nell’Europa orientale e includono missioni diplomatiche e istituzioni governative.

Figura 1. Paesi interessati da Attor
Oltre al targeting geografico e linguistico, i creatori di Attor sembrano essere interessati agli utenti preoccupati per la loro privacy.
Attor è configurato per acquisire schermate di applicazioni di crittografia / firma digitale, il servizio VPN HMA, i servizi di posta elettronica con crittografia end-to-end Hushmail e The Bat! e l’utility di crittografia del disco TrueCrypt.
L’uso di TrueCrypt da parte della vittima viene ulteriormente verificato da un’altra routine di Attor che monitora i dischi rigidi collegati al computer infetto e cerca la presenza di TrueCrypt. Se viene rilevato, ne determina la versione inviando un IOCTL al driver TrueCrypt (0x222004 (TC_IOCTL_GET_DRIVER_VERSION) e 0x72018 (TC_IOCTL_LEGACY_GET_DRIVER_VERSION)). Poiché si tratta di codici di controllo specifici di TrueCrypt, non di codici standard, gli autori del malware devono effettivamente comprendere il codice open source del programma di installazione di TrueCrypt. Non abbiamo mai visto prima questa tecnica utilizzata né è mai stata documentata in altri malware.

Figura 2. Il plug-in di controllo del dispositivo invia codici di controllo non standard specifici per TrueCrypt al driver TrueCrypt, al fine di determinare la versione di TrueCrypt
Architettura della piattaforma
Attor è costituito da un dispatcher e plug-in caricabili, tutti implementati come librerie a collegamento dinamico (DLL). La prima fase di infezione consiste nel rilasciare tutti questi componenti sul disco e caricare la DLL del dispatcher.
Il dispatcher è il cuore dell’intera piattaforma: funge da unità di gestione e sincronizzazione per i plug-in aggiuntivi. Ad ogni avvio del sistema si inserisce in quasi tutti i processi in esecuzione e carica tutti i plugin disponibili all’interno di ciascuno di questi processi. In via eccezionale, Attor evita l’iniezione in alcuni sistemi e processi relativi ai prodotti di sicurezza.
Tutti i plug-in si affidano al dispatcher per l’implementazione delle funzionalità di base. Anziché chiamare direttamente le funzioni API di Windows, i plug-in usano un riferimento a una funzione di supporto (un dispatcher di funzioni) implementata dalla DLL dispatcher. Il dispatcher di funzioni viene passato ai plugin quando vengono caricati. Poiché i plug-in vengono iniettati nello stesso processo del dispatcher, condividono lo stesso spazio di indirizzi e sono quindi in grado di chiamare direttamente questa funzione.
Le chiamate al dispatcher delle funzioni prendono come argomenti il tipo di funzione e il suo identificatore numerico. Questo sistema rende più difficile analizzare i singoli componenti di Attor senza avere accesso al dispatcher, poiché traduce l’identificatore specificato in una funzione significativa che viene quindi eseguita.
La Figura 3 illustra una parte di un plugin, che chiama più volte il dispatcher di funzioni. Nella parte destra, abbiamo sostituito gli identificatori numerici (che abbiamo recuperato con il reverse engineering del dispatcher) con nomi descrittivi.

Figura 3. I plugin aggiuntivi utilizzano funzioni implementate nel modulo principale, chiamando il dispatcher di funzioni (qui identificato come helperFnc)
Inoltre, il dispatcher è l’unico componente della piattaforma che ha accesso ai dati di configurazione. Come precedentemente accennato, i plugin di Attor recuperano i loro dati di configurazione dal dispatcher tramite l’interfaccia.
Plugin
I plugin di Attor vengono consegnati al computer infetto come DLL e crittografati asimmetricamente con RSA. I plug-in vengono ripristinati completamente solo in memoria, utilizzando la chiave pubblica RSA incorporata nel dispatcher. Di conseguenza, è difficile ottenere i plugin di Attor e decrittografarli, senza accesso al dispatcher.
Siamo riusciti a recuperare otto dei plug-in di Attor, alcuni in più versioni: li elenchiamo nella Tabella 2. Supponendo che la numerazione dei plug-in sia continua e che gli autori di Attor possano utilizzare diversi set di plug-in in base alla vittima, sospettiamo ci siano altri plugin che non sono stati ancora scoperti.
Tabella 2. Plugin analizzati e relative versioni

I plug-in sono responsabili della persistenza della piattaforma (plug-in Installer / watchdog), della raccolta di informazioni sensibili (Monitor dispositivo, Screengrabber, Registratore audio, Registratore di chiavi / appunti) e della comunicazione di rete con il server C&C (Uploader di file, Dispatcher di comandi / SOCKS proxy, client Tor).
Attor ha meccanismi incorporati per l’aggiunta di nuovi plugin, per l’aggiornamento stesso e per l’esfiltrazione automatica dei dati raccolti e dei file di registro. Questi meccanismi sono illustrati nella Figura 4.
Nelle sezioni seguenti, ci concentriamo sui plug-in responsabili delle due importanti funzionalità che hanno dato il nome ad Attor: l’impronta digitale GSM tramite comandi AT e la comunicazione di rete tramite Tor.

Figura 4. Architettura usata dall’autore del malware. Si noti che ID 0x06 rappresenta un singolo plug-in, ma per chiarezza qui la funzionalità è divisa in due parti.
Comunicazione di rete
I plug-in di spionaggio di Attor raccolgono dati sensibili (come l’elenco di documenti presenti sul disco) che alla fine vengono esfiltrati su un server remoto, ma questi plug-in non comunicano in rete.
Solo due dei componenti di Attor comunicano con il suo server C&C: File Uploader e Command Dispatcher.
I file raccolti dai “plug-in di spionaggio” (Monitor dispositivo, Screengrabber, Registratore audio e Registratore di chiavi / appunti) vengono caricati automaticamente sul server C&C dal plug-in File Uploader. Questi plug-in utilizzano una cartella di caricamento dedicata come cartella centrale per archiviare i dati raccolti e gli altri plug-in lo utilizzano per salvare i file di registro.
Il plug-in Dispatcher scarica comandi e strumenti aggiuntivi dal server C&C e li interpreta. Ancora una volta, utilizza cartelle dedicate per archiviare i suoi dati – soprattutto i plugin scaricati di recente e gli aggiornamenti della piattaforma e i dati di registro crittografati contenenti lo stato / i risultati dei comandi eseguiti.
Il dispatcher di Attor monitora le cartelle condivise e carica eventuali nuovi plug-in e aggiornamenti inviati al computer infetto.
Ciò significa che né il dispatcher di Attor, né i plug-in di spionaggio, comunicano mai con il server C&C: usano solo cartelle condivise locali per archiviare i dati da estrarre e per leggere ulteriori istruzioni dal server.
Sia File Uploader che Command Dispatcher utilizzano la stessa infrastruttura per raggiungere il server remoto: la comunicazione di rete stessa è distribuita su quattro diversi componenti Attor, ognuno dei quali presenta un livello diverso.
Attor utilizza Tor: Onion Service Protocol, con un indirizzo onion per il server C&C. Per comunicare con il server C&C, qualsiasi plug-in deve quindi prima stabilire una connessione con il plug-in client Tor (ascoltando il 127.0.0.1:8045 non predefinito) che è responsabile della risoluzione del dominio onion, della scelta di un circuito e della crittografia dei dati a strati. Il plug-in client Tor è basato sul client Tor e personalizzato in base alla progettazione di questo malware (tor.exe con aggiunta interazione con il dispatcher di Attor).
Il plugin client Tor deve comunicare con il dispatcher, che implementa le funzioni crittografiche. Inoltre, comunica con il plug-in proxy SOCKS (in ascolto su 127.0.0.1:5153) che inoltra le comunicazioni tra il client Tor e il server remoto.
Sia l’Uploader di file che il Dispatcher di comandi sfruttano il protocollo FTP; i file vengono caricati / scaricati da un server FTP protetto da credenziali codificate nella configurazione:
Server C&C: idayqh3zhj5j243t [.] Onion
Nome utente: do
Password: [redatto]
I plug-in accedono al server FTP e copiano i dati raccolti o scaricano i comandi da una directory specifica della vittima.
In totale, l’infrastruttura per la comunicazione C&C comprende quattro componenti Attor: il dispatcher che fornisce funzioni di crittografia e tre plug-in che implementano il protocollo FTP, la funzionalità Tor e l’effettiva comunicazione di rete, come illustrato nella Figura 5. Questo meccanismo rende impossibile l’analisi sulla comunicazione di rete di Attor a meno che non siano stati raccolti tutti i pezzi del puzzle.

Figura 5. Quattro componenti Attor collaborano per consentire la comunicazione con il server C&C
È importante notare che Attor utilizza diversi stratagemmi aggiuntivi per nascondere le sue comunicazioni all’utente e ai prodotti di sicurezza:
Innanzitutto, il server C&C è un servizio Tor, che mira all’anonimato e alla non tracciabilità.
In secondo luogo, tutti i plug-in relativi alla comunicazione di rete vengono attivati solo se in esecuzione all’interno del processo di un browser Web, un’applicazione di messaggistica istantanea o altre applicazioni di rete (ciò viene determinato controllando il nome del processo rispetto a un elenco codificato). Questo trucco nasconde le comunicazioni di rete relative all’esfiltrazione in un flusso di comunicazioni legittime effettuate da tale applicazione e riduce quindi il rischio di sollevare sospetti.
Impronte digitali GSM
Il plug-in più interessante nell’arsenale di Attor raccoglie informazioni sia sui dispositivi modem / telefonici collegati alle unità di archiviazione connesse e sia sui file presenti su queste unità. È responsabile della raccolta di metadati, non dei file stessi, quindi lo consideriamo un plug-in utilizzato per il fingerprinting del dispositivo e probabilmente utilizzato come base per ulteriori furti di dati.
Mentre la funzionalità Attor delle unità di archiviazione delle impronte digitali è piuttosto standard, l’impronta digitale dei dispositivi GSM è unica.
Ogni volta che un modem o un dispositivo telefonico è collegato a una porta COM, il componente Monitor dispositivo utilizza i comandi AT per comunicare con il dispositivo tramite la porta seriale associata.
I comandi AT, noti anche come set di comandi Hayes, furono originariamente sviluppati negli anni ’80 con lo scopo di istruire un modem per comporre, riagganciare o modificare le impostazioni di connessione. Il set di comandi è stato successivamente esteso per supportare funzionalità aggiuntive, sia standardizzate che specifiche del fornitore.
In un recente articolo, è stato scoperto che i comandi sono ancora in uso nella maggior parte degli smartphone moderni. Quei ricercatori sono stati in grado di aggirare i meccanismi di sicurezza e comunicare con gli smartphone utilizzando i comandi AT attraverso la loro interfaccia USB. Migliaia di comandi sono stati recuperati e testati, inclusi quelli per inviare messaggi SMS o emulare eventi touch sullo schermo. Tale ricerca dimostra che i comandi AT di vecchia scuola rappresentano un grave rischio se utilizzati in modo improprio.
Per quanto riguarda il plugin di Attor, tuttavia, possiamo solo ipotizzare il motivo per cui vengono utilizzati i comandi AT. Abbiamo rilevato una versione a 64 bit di questo plugin nel 2019 e possiamo confermare che sono presenti anche nella versione più recente di Attor (che abbiamo visto per la prima volta nel 2018). D’altra parte, sembra improbabile che stia prendendo di mira i moderni dispositivi smartphone. Il plug-in ignora i dispositivi collegati tramite una porta USB e contatta solo quelli collegati tramite una porta seriale (più precisamente, i dispositivi i cui nomi descrittivi corrispondono a “COM *”).
Una spiegazione più probabile del motivo principale per cui è stato sviluppato il plug-in è che si rivolge a modem e telefoni più vecchi. In alternativa, può essere utilizzato per comunicare con alcuni dispositivi specifici (utilizzati dalla vittima) che sono collegati alla porta COM o alla porta USB mediante un adattatore da USB a seriale. In questo scenario, è possibile che gli autori abbiano appreso l’uso della vittima di questi dispositivi sfruttando altre tecniche di investigazione.
In ogni caso, utilizzando i comandi AT elencati nella Tabella 3, il plug-in recupera le seguenti informazioni dai dispositivi collegati:
Informazioni di base sul telefono cellulare o modem GSM / GPRS: nome del produttore, numero del modello, numero IMEI e versione del software
Informazioni di base sull’abbonato: numero MSISDN e IMSI
Tabella 3. I comandi del protocollo AT utilizzati dal plug-in Monitor dispositivo

Si noti che esistono molti altri comandi AT (specifici del fornitore) che non sono utilizzati da questo plugin. È possibile che gli operatori di malware utilizzino i comandi elencati per rilevare il fingerprinting dei dispositivi collegati, quindi distribuire un altro plug-in con comandi più specifici per estrarre informazioni dal dispositivo.
Conclusioni
Attor è una piattaforma di spionaggio, utilizzata per attacchi altamente mirati contro utenti di alto profilo nell’Europa orientale e utenti di lingua russa che si occupano di sicurezza.
Il malware, identificato già dal 2013, ha un’architettura di plugin caricabili in maniera modulare che può essere utilizzato per personalizzarne le funzionalità per specifiche vittime. Include un insolito plug-in per il fingerprinting GSM che utilizza il set di comandi AT usato raramente e incorpora Tor con l’obiettivo di non essere tracciato.
La nostra ricerca fornisce una panoramica approfondita del malware e suggerisce che sia opportuno monitorare ulteriormente le operazioni del gruppo che ne è l’artefice.




Lascia un commento