2024: vecchie CVE, nuovi obiettivi - Lo sfruttamento attivo di ThinkPHP
Editoriale e commenti aggiuntivi di Tricia Howard
Analisi riassuntiva
I ricercatori di Akamai hanno scoperto una nuova campagna di attacchi sferrati contro le applicazioni ThinkPHP, che sono sensibili alle vulnerabilità CVE-2018-20062 e CVE-2019-9082. La campagna sembra essere organizzata da un gruppo di criminali informatici cinesi.
Iniziata già nell'ottobre 2023 prendendo di mira un numero limitato di clienti/organizzazioni, la campagna si è diffusa solo recentemente.
Gli attacchi hanno avuto origine da diversi indirizzi IP associati a server ospitati sul provider di servizi cloud "Zenlayer" (ASN 21859), che sono situati principalmente a Hong Kong.
L'exploit tenta di recuperare ulteriore codice offuscato da un altro server ThinkPHP compromesso per acquisire un punto d'accesso iniziale.
Dopo aver violato il sistema, i criminali installano una web shell in lingua cinese denominata Dama per mantenere l'accesso permanente al server.
Le azioni successive potrebbero includere un'ulteriore diffusione all'interno del data center della vittima o l'utilizzo del server nell'infrastruttura dell'attacco.
Introduzione
Stiamo assistendo a una tendenza preoccupante nel campo della sicurezza: i criminali stanno sfruttando vulnerabilità note, alcune delle quali risalenti a diversi anni fa, riuscendo a sferrare i loro attacchi. A tal proposito, un ottimo esempio è rappresentato dalle vulnerabilità RCE (Remote Code Execution) di ThinkPHP, a cui sono stati assegnati i codici CVE-2018-20062 e CVE-2019-9082. Come si può capire dai nomi delle CVE, si tratta di vulnerabilità in circolazione almeno dal 2018, eppure l'attività di attacco continua ancora oggi.
Abbiamo rilevato per la prima volta i segnali di questo comportamento di attacco il 17 ottobre 2023 con una serie limitata di tentativi di sfruttare queste vulnerabilità, ma in modo inconsueto. A differenza dei comuni comandi PoC ("Proof-of-Concept") che utilizzano strumenti e scanner automatizzati, il payload ordinava ai server della vittima di installare una shell offuscata da un server remoto sotto il controllo del criminale.
La campagna è stata attiva solo per pochi giorni, poi questi tentativi limitati sono cessati, ma sembra che sia stato solo l'inizio. Ad aprile 2024, abbiamo osservato una campagna simile, molto più ampia della precedente.
In questo blog, descriveremo le CVE, i tentativi di exploit osservati e le misure di mitigazione consigliate per le vittime di questa campagna
Informazioni sulle CVE
Che cos'è ThinkPHP?
ThinkPHP è un framework di applicazioni web open-source cinese, utilizzato principalmente per lo sviluppo di applicazioni web basate su PHP, che fornisce una serie di librerie, componenti e strumenti per semplificare il processo di creazione delle applicazioni web con il modello architettonico MVC (Model-View-Controller). I codici
CVE-2018-20062 e CVE-2019-9082 sono stati assegnati a vulnerabilità trovate nelle versioni precedenti del famoso framework cinese ThinkPHP, che influiscono sui sistemi di gestione dei contenuti basati su questo framework, come NoneCMS e BMS open-source. Queste vulnerabilità consentono ai criminali di eseguire codice in remoto sul server della vittima. Entrambe le vulnerabilità fanno parte di una serie di varianti di exploit che prendono di mira diversi componenti ThinkPHP, divulgate nel corso di alcuni anni a partire dal 2018, quando è stato rivelato il vettore di attacco iniziale.
Tentativi di sfruttamento osservati
I tentativi di sfruttamento (rilevati e registrati da Akamai App & API Protector) cercano di usare le CVE per scaricare un file denominato "public.txt" da quello che sembra essere un server compromesso situato in Cina. Il nuovo file dannoso verrà quindi salvato sui sistemi della vittima con il nome "roeter.php," che potrebbe essere un errore di ortografia per "router" (Figura 1).
Il file di testo scaricato contiene una versione offuscata di una web shell, uno script backdoor lato server per il controllo del server remoto. Il codice della web shell utilizza l'offuscamento, in particolare una trasformazione ROT13 di base che determina un'unica lunga stringa HEX (Figura 2). Interessante è il fatto che i criminali abbiano scelto una password molto semplice ("admin") per accedere alla web shell.
Gli attacchi hanno avuto origine da diversi indirizzi IP associati a server ospitati sul provider di servizi cloud Zenlayer (ASN 21859), che sono situati principalmente a Hong Kong. La nostra breve ispezione del server che ospitava il codice backdoor ha rivelato che anche questo era stato infettato dalla stessa web shell (Figura 3).
Ciò suggerisce che il server potrebbe essere un altro nodo nell'infrastruttura del criminale. Questo approccio potrebbe aiutare a ridurre i costi operativi e, cosa ancora più importante, ad oscurare l'attribuzione, rendendo più difficile per le forze dell'ordine rimuovere il server, poiché non sarebbe possibile chiedere semplicemente all'ISP di arrestare il server di produzione di un'organizzazione legittima.
La web shell Dama
La web shell presenta funzionalità avanzate, come la navigazione nel file system, che consente di eseguire operazioni come l'editing, l'eliminazione e la modifica dell'indicatore di data/ora dei file per scopi di offuscamento. Sebbene sia comune vedere i criminali in Europa occidentale e orientale utilizzare web shell in inglese (ad esempio, la web shell WSO-NG), questa web shell si distingue per l'origine cinese dell'interfaccia utente (Figura 4).
Oltre ai meccanismi avanzati sopra menzionati, la web shell Dama facilita il caricamento di file sul server e raccoglie dati tecnici cruciali del sistema, comprese versioni precise del sistema operativo e informazioni sul PHP, che aiutano a identificare exploit pertinenti di escalation dei privilegi (Figura 5).
Ma non finisce qui. Le funzionalità post-sfruttamento includono la scansione delle porte di rete e l'accesso ai database esistenti e ai dati del server. Inoltre, la web shell offre diversi metodi per l'escalation dei privilegi, come, ad esempio, bypassando le funzioni PHP sensibili disabilitate per eludere la sandbox PHP ed eseguire i comandi shell sul server.
Inoltre, la web shell usa l'utilità di pianificazione di Windows per riconfigurare WMI e aggiungere utenti con privilegi elevati. Sebbene sia dotato di un interprete PHP per l'esecuzione diretta del codice, manca il supporto per un'interfaccia della riga di comando (CLI) per l'esecuzione diretta dei comandi della shell del sistema operativo, un aspetto alquanto sorprendente considerando le sue funzionalità complete.
Misure di mitigazione con App & API Protector
Si consiglia vivamente di aggiornare ThinkPHP alla versione più recente, che attualmente è la 8.0..
Poiché è difficile identificare tutte le risorse potenzialmente vulnerabili a queste CVE e poiché l'applicazione di patch potrebbe non essere un'opzione fattibile, consigliamo vivamente di implementare App & API Protector con il suo Adaptive Security Engine per ridurre i rischi associati alle CVE di ThinkPHP.
Se state già utilizzando la soluzione Adaptive Security Engine, potete facilmente affrontare questi rischi configurando l'azione di gruppo Web Platform Attack su "Deny" (Nega) per migliorare la protezione. In alternativa, i clienti possono scegliere di impostare la regola individuale 3000189 ("ThinkPHP RCE (CVE-2018-20062)") su "Deny" (Nega).
Riepilogo
Questa web shell è un altro esempio di vulnerabilità one-day: nonostante siano note da molto tempo, queste vulnerabilità vengono continuamente prese di mira e sfruttate dai criminali, con notevole successo. Ciò sottolinea la continua sfida che le organizzazioni devono affrontare nell’identificare le risorse vulnerabili e nel mantenere efficaci i processi di gestione delle patch.
I recenti attacchi originati da un criminale di lingua cinese evidenziano una continua tendenza da parte degli autori degli attacchi ad utilizzare una web shell completa, progettata per il controllo avanzato delle vittime. È interessante notare come non tutti i clienti presi di mira utilizzavano ThinkPHP, il che suggerisce che i criminali potrebbero prendere di mira indiscriminatamente un'ampia gamma di sistemi.
Si tratta di un'altra interessante dicotomia la cui prevalenza è aumentata di recente; ovvero, alcuni aspetti degli attacchi sono altamente sofisticati (come i controlli di offuscamento nella tecnologia) e altri sono quasi casuali (come la mancanza di supporto per una CLI). Man mano che si verificano sempre più progressi tecnologici, è probabile che vedremo questo divario continuare a crescere perché, sebbene la tecnologia sia sofisticata, ciò non indica necessariamente che anche l'autore dell'attacco sia avanzato. Ciò non vuol dire che il creatore della web shell Dama non sia sofisticato; si tratta semplicemente di un commento su come il settore stia cambiando nel suo complesso.
Poiché i nostri clienti erano protetti da questi tentativi di attacco, non possiamo determinare in modo definitivo l'intenzione finale dei criminali. Tuttavia, in base alla nostra esperienza, i loro obiettivi avrebbero potuto includere l'integrazione dei sistemi delle vittime nell'infrastruttura dell'attacco per lanciare ulteriori attacchi, facendo eseguire ai server un potente attaccoDDoS(Distributed Denial-of-Service) o una rete di crypto- botnet , che sferrano attacchi ransomware o di estorsione oppure che attivano il movimento laterale per raccogliere informazioni sulle organizzazioni.
Tenetevi al passo
L'Akamai Security Intelligence Group continuerà a monitorare e a difendere da varie minacce, come la web shell Dama, e a pubblicare i propri risultati per la community in generale. Per aggiornamenti in tempo reale, seguiteci su X (in precedenza Twitter).