Red Hot Cyber

La cybersecurity è condivisione.
Riconosci il rischio, combattilo, condividi le tue esperienze ed 
incentiva gli altri a fare meglio di te.

Cerca

Misteriosi APT nell'ombra digitale: Un'immersione profonda nelle minacce cibernetiche altamente sofisticate. Scopri chi sono, cosa li muove e come proteggerti in questo viaggio attraverso il mondo delle Advanced Persistent Threat (APT)

ArcaneDoor: La Nuova Campagna di Spionaggio mirata ai Dispositivi di Rete Perimetrali

Sandro Sana : 30 Aprile 2024 10:19

Un threat actor ha sfruttato due vulnerabilità nei dispositivi di rete perimetrali per condurre operazioni di spionaggio su un piccolo gruppo di clienti.

Introduzione

La sicurezza dei dispositivi di rete perimetrali è fondamentale per proteggere le organizzazioni da minacce esterne. Questi dispositivi, come router, firewall e switch, sono il primo punto di contatto tra la rete interna e Internet, e quindi sono esposti a potenziali attacchi da parte di attori malintenzionati. Recentemente, è stata scoperta una nuova campagna di spionaggio, denominata “ArcaneDoor”, che ha colpito i dispositivi di rete perimetrali di molteplici fornitori. Questa campagna è stata condotta da un attore precedentemente sconosciuto, tracciato come UAT4356 da Talos e STORM-1849 dal Microsoft Threat Intelligence Center, che ha dimostrato un alto livello di sofisticazione e una chiara motivazione di spionaggio.

UAT4356 e STORM-1849 sono due nomi di copertura utilizzati dalle agenzie di intelligence per identificare l’attore dietro la campagna ArcaneDoor. Si ritiene che UAT4356 sia uno stato sponsorizzato o un gruppo avanzato e persistente (APT) con legami con il governo iraniano, in base alle tecniche, agli strumenti e agli obiettivi dell’attacco. UAT4356 ha dimostrato una notevole capacità di sviluppare backdoor personalizzate e sfruttare vulnerabilità zero-day nei dispositivi di rete perimetrali, oltre a utilizzare tecniche di livello superiore per eludere la rilevazione e mantenere la persistenza. Secondo Talos, UAT4356 ha mirato principalmente a organizzazioni governative, di difesa e di telecomunicazioni in Medio Oriente, Europa e Nord America.

STORM-1849 è invece un nome di copertura utilizzato dal Microsoft Threat Intelligence Center per riferirsi allo stesso attore, basato sulle informazioni condivise con Cisco e altri partner di intelligence. STORM-1849 ha confermato le analisi di Talos sulla natura e le motivazioni dell’attore, aggiungendo che l’attore ha anche impiegato tecniche di compromissione della catena di approvvigionamento per diffondere le sue backdoor attraverso i dispositivi di rete infetti. Inoltre, STORM-1849 ha rilevato che l’attore ha cercato di accedere alle informazioni sensibili delle vittime, come dati personali, comunicazioni interne, documenti strategici e piani operativi. STORM-1849 ha esortato le organizzazioni ad applicare gli aggiornamenti di sicurezza e a monitorare attentamente le proprie reti per prevenire ulteriori intrusioni.

Metodologia di attacco

La campagna ArcaneDoor ha utilizzato due backdoor personalizzate, “Line Runner” e “Line Dancer”, per infiltrarsi nei dispositivi di rete perimetrali e condurre azioni malevole sul bersaglio. Queste backdoor sono state distribuite sfruttando due vulnerabilità nei dispositivi di rete, CVE-2024-20353 e CVE-2024-20359, che consentono agli attaccanti di eseguire codice arbitrario con privilegi elevati.

CVE-2024-20353 è una vulnerabilità di buffer overflow basata sullo stack che si verifica quando un dispositivo di rete elabora una richiesta HTTP malevola. Un attaccante remoto può inviare una richiesta HTTP appositamente creata al dispositivo di rete, che può causare la sovrascrittura del buffer di memoria dello stack e l’esecuzione di codice arbitrario con privilegi elevati. La vulnerabilità colpisce i dispositivi di rete che eseguono il firmware versione 3.0 o inferiore. Per sfruttare questa vulnerabilità, un attaccante può utilizzare uno strumento come Metasploit per generare un payload di shell inversa e inviarlo al dispositivo tramite una richiesta HTTP con un parametro di query troppo lungo. In questo modo, il payload si inserisce nel buffer dello stack e viene eseguito quando il dispositivo tenta di restituire la risposta HTTP.

CVE-2024-20359 è una vulnerabilità di iniezione di comandi che si verifica quando un dispositivo di rete elabora una richiesta SNMP malevola. Un attaccante remoto può inviare una richiesta SNMP appositamente creata al dispositivo di rete, che può causare l’esecuzione di comandi arbitrari con privilegi elevati. La vulnerabilità colpisce i dispositivi di rete che eseguono il firmware versione 3.5 o inferiore. Per sfruttare questa vulnerabilità, un attaccante può utilizzare uno strumento come Nmap per scoprire la community SNMP del dispositivo e inviare una richiesta SNMP con un comando iniettato nel campo OID. In questo modo, il comando viene eseguito dal dispositivo come parte della gestione SNMP.

Le vulnerabilità sono state scoperte da Cisco, che ha collaborato con le vittime e i partner di intelligence per analizzare la catena di attacco e fornire le opportune contromisure. Le vulnerabilità sono state risolte con gli aggiornamenti di sicurezza rilasciati dai fornitori coinvolti.

Line Dancer & Line Runner

La backdoor consisteva in due componenti principali: un impianto residente in memoria, chiamato Line Dancer, e un modulo di comunicazione, chiamato There Will Be Blood. Line Dancer era un interprete di shellcode in grado di caricare ed eseguire payload arbitrari inviati dagli aggressori tramite il campo host-scan-reply di una richiesta HTTP. Questo campo veniva usato come canale alternativo per interagire con il dispositivo senza doversi autenticare o passare attraverso le interfacce di gestione tradizionali. Line Dancer permetteva agli aggressori di disabilitare il syslog, eseguire ed esfiltrare la configurazione del dispositivo, creare ed esfiltrare catture di pacchetti, eseguire comandi CLI presenti nello shellcode, agganciare il processo di crash dump per forzare il riavvio del dispositivo e cancellare le tracce dell’intrusione.

Inoltre, Line Dancer era in grado di agganciare la funzione AAA (Authentication, Authorization and Accounting) per consentire una capacità di autenticazione basata su un numero magico. Quando gli aggressori tentavano di connettersi al dispositivo usando questo numero magico, erano in grado di stabilire un tunnel VPN di accesso remoto bypassando i meccanismi AAA configurati. Come forma alternativa di accesso, veniva generato un blob P12 insieme a un certificato associato ed esfiltrato agli aggressori insieme a una configurazione di tunnel basata su certificato. Nella memoria del processo di Line Dancer, si trovava una funzione che verifica se un token di 32 byte corrisponde a un modello. In caso affermativo, decodifica in base64 il payload, lo copia nella regione di memoria scrivibile ed eseguibile degli aggressori, e poi chiama la funzione appena decodificata. In ogni caso, termina chiamando processHostScanReply().

La funzione processHostScanReply() è normalmente accessibile tramite un puntatore a funzione nella tabella elementArray, associata alla stringa host-scan-reply. Nella memoria catturata, la voce che dovrebbe puntare a processHostScanReply() ora invece punta alla funzione degli aggressori che decodifica ed esegue il suo payload.

Poiché questo cambiamento è nella sezione di dati della memoria, non compare negli hash o nei dump del testo.

Quando gli attaccanti tentavano di connettersi al dispositivo, erano in grado di stabilire un tunnel VPN di accesso remoto eludendo i meccanismi AAA configurati. Come forma alternativa di accesso, veniva generato ed esfiltrato agli attaccanti un blob P12 insieme a un certificato associato, insieme a una configurazione di tunnel basata su certificato.

Per mantenere la persistenza sul dispositivo ASA compromesso, l’attore della minaccia ha usato una seconda backdoor, ma persistente, chiamata Line Runner, che sfruttava una funzionalità legacy che permetteva il pre-caricamento di client e plugin VPN sul dispositivo. All’avvio, l’ASA era progettato per cercare la presenza di un file su disk0: che corrispondesse all’espressione regolare Lua:

^client_bundle[%w_-]*%.zip$

Se il file esisteva, lo scompattava ed eseguiva lo script csco_config.lua. Una volta elaborato, il file ZIP veniva cancellato. Questo è stato assegnato a CVE-2024-20359.

In almeno un caso, c’era un’altra vulnerabilità, CVE-2024-20353, che è stata abusata dall’attore per facilitare questo processo. Gli attaccanti sono stati in grado di sfruttare questa vulnerabilità per causare il riavvio del dispositivo ASA bersaglio, innescando la scompattazione e l’installazione della seconda componente dell’impianto malware dell’attore della minaccia, Line Runner.

Gli script nel file zip permettevano all’attore della minaccia di mantenere una backdoor Lua basata su HTTP persistente sull’ASA, che sopravviveva tra riavvii e aggiornamenti. Line Runner è stato osservato essere usato da UAT4356 per recuperare le informazioni che erano state messe in scena attraverso l’uso di Line Dancer.

csco_config.lua

Il file csco_config.lua viene eseguito all’avvio e apporta le seguenti modifiche al sistema:

  • Crea disk0:/csco_config/97/webcontent/ se non esiste già
  • Crea disk0:/csco_config/97/webcontent/1515480F4B538B669648B17C02337098 da hash.txt
  • Aggiunge index.txt a disk0:/csco_config/97/webcontent/index_bp.ini e mette il risultato in disk0:/csco_config/97/webcontent/index.ini
  • Sposta il file originale client_bundle.zip in /run/lock/subsys/krbkdc6
  • Antepone umtfc.txt a /etc/init.d/umountfs
  • Copia stgvdr.txt in /asa/scripts/lina_cs
  • Esegue il backup di /asa/scripts/lina_exe_cs.sh in /asa/scripts/lina_exe_cs_bp.sh
  • Sostituisce /asa/scripts/lina_exe_cs.sh con laecsnw.txt
  • Copia csco_config2.lua al posto di csco_config.lua
  • Disabilita la funzione importPlugin per la prossima chiamata soltanto

csco_config2.lua

Il file csco_config2.lua ripulisce le modifiche fatte da csco_config.lua (sopra) e si rimuove.

hash.txt

Usato come contenuto per disk0:/csco_config/97/webcontent/1515480F4B538B669648B17C02337098. Interrompe le richieste HTTP all’ASA. Il codice dell’attore della minaccia cerca una richiesta HTTP con un insieme di parametri di 32 caratteri che dipendono dalla vittima. Se corrispondono, allora il payload contenuto in uno di questi parametri viene scritto in uno script Lua ed eseguito. Questo è il meccanismo di comando e controllo della backdoor.

index.txt

Aggiunge informazioni su webContent in modo che hash.txt sia elaborato.

laecsnw.txt

Sostituisce temporaneamente /asa/scripts/lina_exe_cs.sh. Esegue /asa/scripts/lina_cs come processo in background (vedi sotto). Si rimuove. Poi ripristina il backup /asa/scripts/lina_exe_cs_bp.sh.

stgvdr.txt

Viene eseguito come /asa/scripts/lina_cs. Dopo aver dormito per 30 secondi, imposta il proprietario e i tempi previsti su /etc/init.d/umountfs. Rimuove il punto di accesso API hash, l’index.ini, e, o ripristina il backup index.ini o rimuove completamente la directory webcontent. Infine, si rimuove.

umtfc.txt

Viene anteposto a /etc/init.d/unmountfs. Lo script unmountfs viene chiamato allo spegnimento per smontare i filesystem. Le modifiche dell’attore della minaccia eseguono la seguente funzionalità:

  • Se esiste disk0:/csco_config/97/webcontent/1515480F4B538B669648B17C02337098, lo rimuove e index.ini.
  • Copia /run/lock/subsys/krbkdc6 in disk0:client_bundle_install.zip

Questo prepara il file zip da eseguire al prossimo avvio, mantenendo la persistenza.

Ripristino e identificazione forense di Line Runner

Per identificare la presenza di Line Runner su un ASA, si possono utilizzare i seguenti metodi. Si noti inoltre che il dispositivo dovrebbe essere aggiornato a una versione fissa come identificato nel primo metodo.

Metodo 1:

Dopo aver aggiornato il dispositivo a una versione del software che contiene la correzione per CVE-2024-20359, si dovrebbe effettuare una revisione dei contenuti di disk0:. Se appare un nuovo file (ad esempio, “client_bundle_install.zip” o qualsiasi altro file .zip insolito) su disk0: dopo l’aggiornamento, questo suggerisce che Line Runner era presente sul dispositivo in questione. Si noti che poiché il software aggiornato non è vulnerabile a CVE-2024-20359, Line Runner non sarà più attivo sul dispositivo.

Metodo 2:

Per rilevare (e rimuovere) Line Runner, la seguente serie di comandi creerà un file innocuo con estensione .zip. Si noti che non creerà un file zip valido, ma il file sarà comunque letto dall’ASA al riavvio. Dopo l’esecuzione dei seguenti comandi, se appare un nuovo file .zip su disk0: dopo il riavvio, questo suggerisce che Line Runner era presente sul dispositivo in questione. L’eliminazione del file “client_bundle_install.zip” rimuoverà Line Runner. Si noti che lo ZIP maligno contenente la funzionalità di Line Runner potrebbe avere altri nomi che si adattano al modello di denominazione descritto in precedenza.

Se si scopre un nuovo file .zip creato, copiare quel file fuori dal dispositivo usando il comando copy e contattare [email protected] facendo riferimento a CVE-2024-20359. Includere gli output dei comandi dir disk0: e show version dal dispositivo e il file .zip estratto dal dispositivo.

Obiettivi e impatto

La campagna ArcaneDoor ha sfruttato le vulnerabilità zero-day per accedere ai dispositivi di rete perimetrali di un piccolo gruppo di clienti, prevalentemente nel settore pubblico e delle telecomunicazioni, in varie aree geografiche. Una volta installate le backdoor, gli aggressori hanno potuto cambiare la configurazione dei dispositivi, esplorare la rete, intercettare ed esfiltrare il traffico e spostarsi lateralmente verso altre risorse. Queste azioni hanno messo a rischio la sicurezza, la privacy e l’integrità delle comunicazioni di rete delle vittime, oltre a fornire agli aggressori informazioni confidenziali sulle attività, le infrastrutture e le risorse delle organizzazioni colpite. L’impatto della campagna è stato limitato dalla rapida scoperta e neutralizzazione delle vulnerabilità, così come dalla cooperazione tra Cisco, i fornitori coinvolti e i partner di intelligence.

Raccomandazioni

Per prevenire e contrastare le campagne di spionaggio come ArcaneDoor, si raccomanda di seguire le seguenti buone pratiche:

  • Aggiornare i dispositivi di rete perimetrali con le ultime patch di sicurezza disponibili.
  • Monitorare i dispositivi di rete perimetrali per rilevare eventuali anomalie o attività sospette.
  • Utilizzare strumenti di sicurezza avanzati, come firewall, antivirus e sistemi di prevenzione delle intrusioni, per proteggere la rete da minacce esterne.
  • Seguire le linee guida di sicurezza dei fornitori di dispositivi di rete perimetrali e applicare le migliori pratiche di configurazione.
  • Collaborare con le autorità competenti e i partner di intelligence per condividere le informazioni e le analisi sulle minacce emergenti.

Conclusione

Si consiglia vivamente ai clienti di seguire le linee guida pubblicate negli avvisi di sicurezza discussi. La campagna ArcaneDoor mette in luce la necessità di una strategia di difesa informatica unificata e robusta. È fondamentale che le organizzazioni adottino tecnologie basate su agenti e senza agenti per ottenere una visione completa della postura di sicurezza dell’organizzazione, consentendo risposte tempestive ed efficaci alle minacce note e emergenti. Questo episodio sottolinea ancora una volta l’importanza di una vigilanza costante e di un aggiornamento proattivo dei sistemi di sicurezza per proteggere i dati e le infrastrutture critiche dalle mani degli attori statali malevoli.

Sandro Sana
Laureato in Ingegneria Informatica e in Scienze della Comunicazione, si occupa d'Information Technology dal 1990, negli anni ha lavorato con aziende di diverso tipo dalle PMI alle Enterprise e la PA. Dal 2003 inizia ad interessarsi di comunicazione, PNL e Public Speaking. Nel 2014 si specializza in scouting e R&D di soluzioni in ambito Cybersecurity. CEH - EC-Council Certified Ethical Hacker, CIH EC-Council Certified Incident Handler, CISSP - Certified Information Systems Security Professional, relatore a SMAU 2017 e SMAU 2018, docente SMAU Academy & ITS, membro dell'Associazione Informatici Professionisti dal 2017 e Coordinatore per la regione Friuli-Venezia Giulia per AIP-ITCS. Membro CLUSIT e giornalista presso RedHot Cyber, Cybersecurity360 & Digital360. Consulente framework CIS, NIST e ENISA.