MOVEit SQLi Zero-Day (CVE-2023-34362) sfruttato dal gruppo ransomware CL0P
A cura di Ori David, Sam Tinklenberg, Maxim Zavodchik e Ophir Harpaz
Analisi riassuntiva
Il 31 maggio 2023, Progress Software ha iniziato ad avvertire i clienti di una vulnerabilità precedentemente sconosciuta presente nei software MOVEit Transfer e MOVEit Cloud. La vulnerabilità SQLi (SQL injection), a cui è stata assegnata la CVE-2023-34362, è stata attivamente sfruttata dagli autori di attacchi.
Secondo un rapporto di Mandiant, i tentativi di sfruttamento di questa vulnerabilità sono stati rilevati già il 27 maggio 2023. Lo stesso giorno, i ricercatori di Akamai hanno rilevato tentativi di sfruttamento contro uno dei clienti finanziari di Akamai, un attacco bloccato dall'Akamai Adaptive Security Engine.
La campagna di attacco è stata attribuita a un gruppo ransomware soprannominato CL0P. Il gruppo, che si pensa abbia sede in Russia o nell'Europa orientale, è motivato finanziariamente ed è noto per le estorsioni alle proprie vittime tramite l'esfiltrazione di dati.
I criminali hanno sfruttato la vulnerabilità SQLi per distribuire una web shell ASP.NET personalizzata (LEMURLOOT) per ottenere la persistenza sulle reti delle vittime e consentire ulteriori attacchi.
Al momento della stesura di questo articolo, i dettagli completi dell'exploit non sono disponibili al pubblico. Tuttavia, l'analisi dell'Akamai Security Intelligence Group e la collaborazione con il team di sicurezza di Progress confermano che l'Adaptive Security Engine ha protetto i nostri clienti dai tentativi di sfruttamento.
Cronologia
Il 31 maggio 2023, Progress Software ha pubblicato una notifica e ha iniziato ad avvisare i propri clienti di una vulnerabilità zero-day nei software MOVEit Transfer e MOVEit Cloud che veniva attivamente sfruttata dai criminali per compromettere i server con connessione Internet (Figura 1).
Questo avviso è arrivato dopo l'identificazione di una massiccia campagna di sfruttamento che ha sfruttato questa vulnerabilità per esfiltrare file sensibili archiviati su server vulnerabili. Secondo Mandiant, tentativi di sfruttamento della vulnerabilità sono stati osservati già il 27 maggio 2023. Un'analisi tecnica della vulnerabilità è stata eseguita da Huntress, che ha dimostrato che la vulnerabilità potrebbe effettivamente causare un'esecuzione completa di codice remoto sul server
Microsoft ha ufficialmente attribuito questo attacco al gruppo Lace Tempest il 2 giugno 2023 e ha confermato questa notizia il 5 giugno quando CL0P ha pubblicato una dichiarazione riguardante questa campagna sul proprio blog (Figura 2).
Portata degli attacchi
Quando l'attacco era già noto ed era già stato indagato, Shodan ha identificato circa 2500 server con connessione Internet che eseguivano MOVEit (figura 3).
Progress Software ha affermato che tutti i server che eseguono MOVEit erano vulnerabili e che non esistevano patch al momento del massiccio attacco. Pertanto, è lecito ritenere che il numero delle vittime sia notevole. Diverse organizzazioni hanno già confermato una violazione e molte altre probabilmente emergeranno nei prossimi giorni.
Catena di exploit
Sono state pubblicate molte informazioni su questa vulnerabilità. Tuttavia, i dettagli completi dell'exploit devono ancora essere resi pubblici. Sulla base delle informazioni pubbliche, dell'analisi condotta dall'Akamai Security Intelligence Group e dei dati visualizzati nei nostri log, abbiamo una solida idea di come moveitisapi.dll viene utilizzato per eseguire SQLi.
Inoltre, il nostro team ha incontrato il team di sicurezza di Progress per una sessione di condivisione delle informazioni in cui abbiamo condiviso la nostra analisi e altre informazioni relative agli indicatori di compromissione (IOC). Sulla base di questo incontro, siamo in grado di confermare che Akamai Adaptive Security Engine ha protetto e continua a proteggere i nostri clienti comuni da questo attacco.
Potremmo pubblicare maggiori dettagli sulla nostra analisi e catena di exploit una volta trascorso il tempo sufficiente per consentire l'applicazione delle patch.
Operazione nascosta
Il gruppo CL0P ha fatto diversi tentativi per non essere rilevato e complicare l'analisi.
Innanzitutto, il nome della web shell caricata era "human2.aspx", che è molto simile al file legittimo MOVEit che implementa l'interfaccia web: denominato "human.aspx".
In secondo luogo, l'accesso alla web shell richiedeva l'invio di una password tramite l'intestazione "X-siLock-Comment". Se l'intestazione mancava o la password non era corretta, la web shell restituiva una risposta di errore 404 Non trovato. Spesso, il modo più semplice per trovare una web shell è inviare una semplice richiesta GET. Se la pagina non esiste, viene restituito un errore di tipo 404. Il fatto che la web shell restituisca un errore di tipo 404 impedisce solo il modo di rilevamento più semplice. Con alcuni passaggi aggiuntivi potete confrontare la risposta 404 della web shell con la normale risposta 404 del server e osservare la differenza tra le due risposte.
In terzo luogo, le intestazioni utilizzate per controllare la web shell e inviare exploit utilizzavano nomi molto simili ai nomi delle intestazioni originali di MOVE. Ad esempio, "X-siLock-Comment" viene utilizzato per trasmettere la password della web shell. Altre informazioni dal database MOVEit sono state esfiltrate tramite intestazioni con nomi simili: "X-siLock-Step2" e "X-siLock-Step3".
Rilevamento dello sfruttamento
I tentativi di sfruttamento possono essere identificati in diversi modi.
Indicatori di compromissione (IOC) noti
Progress Software e la comunità per la sicurezza hanno pubblicato molti indicatori di compromissione basati su host e rete, inclusi indirizzi IP, hash di file e regole YARA.
Gli amministratori di rete possono ispezionare il traffico di rete e i registri IIS e scansionare le risorse nella rete per trovare IOC noti e quindi identificare le macchine sfruttate.
I clienti di Adaptive Security Engine possono ispezionare i propri registri WAF per rilevare segni di sfruttamento. Se i loro host MOVEit sono stati presi di mira, dovrebbero visualizzare gli attivatori del gruppo di attacco SQLi mirati a "/moveitisapi/moveitisapi.dll".
Ricerca delle minacce
I server che eseguono il software vulnerabile dovrebbero essere esaminati e scansionati per verificare eventuali comportamenti anomali anche se non sono stati rilevati IOC noti su di essi. Ad esempio, dopo aver ispezionato il payload utilizzato dai criminali, osserviamo che una web shell aspx è stata rilasciata nella directory principale del server all'indirizzo <Lettera unità>: \MOVEitTransfer\wwwroot\. La web shell distribuita nella campagna di attacco originale è stata nominata human2.aspx, ma questo indicatore potrebbe facilmente cambiare.
Invece di fare affidamento solo su IOC statici, consigliamo di utilizzare metodi di ricerca delle minacce basati su anomalie su server vulnerabili. In questo caso specifico, un approccio potrebbe consistere nel controllare la directory principale del server MOVEit per trovare eventuali file aspx creati di recente. I file aspx sono di natura relativamente statica e di solito non vengono modificati o creati, quindi una nuova aggiunta potrebbe essere sospetta e dovrebbe essere esaminata. Ulteriori percorsi di file sospetti sono stati pubblicati nella notifica iniziale di Progress e nella recente notifica CISA #StopRansomware.
I clienti di Akamai Guardicore Segmentation possono utilizzare la query di Insight illustrata nella figura 4 per individuare tali file.
Si noti che la lettera dell'unità (C:\) e il percorso di installazione possono variare; questa query riguarderà solo il percorso di installazione predefinito.
Akamai Hunt, il servizio gestito di ricerca delle minacce di Akamai, ha eseguito scansioni approfondite degli ambienti dei clienti per rilevare risorse vulnerabili, tentativi di sfruttamento e IOC associati alla campagna di attacco. Nei casi in cui sono stati trovati componenti MOVEit, i ricercatori di Hunt hanno informato i team interessati e hanno contribuito a mitigare immediatamente la minaccia (Figura 5).
Mitigazione
Sfortunatamente, le vulnerabilità del software sono inevitabili, ma le organizzazioni possono fare molto per proteggersi da questo tipo di violazioni.
Mappare i server connessi a Internet
Prima di poter mitigare l'attacco, gli addetti alla sicurezza devono prima identificare quali applicazioni sensibili rivolte a Internet stanno eseguendo. Nel caso MOVEit, tutti i clienti vulnerabili sono stati informati della vulnerabilità da Progress. Tuttavia, è comunque fondamentale essere consapevoli della propria superficie di attacco che si interfaccia esternamente e identificare tutte le applicazioni sensibili esposte a Internet. Una volta identificate queste applicazioni, i seguenti passaggi di mitigazione possono ridurre il rischio che le applicazioni vengano compromesse.
Limitare l'accesso a Internet
Ridurre la superficie di attacco dovrebbe essere la massima priorità. Se non vi è alcun motivo giustificato per l'accesso Internet non autorizzato a un'applicazione, sarebbe essere protetta con controlli di accesso basati sull'utente, che possono essere ottenuti tramite ZTNA (Zero Trust Network Accessi) o prodotti VPN tradizionali.
Se per alcuni casi d'uso è necessario l'accesso a Internet non autorizzato, si consiglia di eseguire un server applicazioni esterno separato, limitare i dati archiviati su di esso o accessibili da esso e segmentarlo dalla rete interna il più possibile. In questo modo, anche se il server delle applicazioni viene violato, il raggio d'azione sarebbe limitato.
Bloccare lo sfruttamento con un WAF
Le applicazioni con interfacce web dovrebbero essere protette da un WAF, in quanto può bloccare richieste anomale e sospette e potenzialmente bloccare lo sfruttamento di vulnerabilità zero-day precedentemente sconosciute.
Secondo la nostra attuale conoscenza e comprensione della catena di sfruttamento, Akamai Adaptive Security Engine fornisce protezione contro questo attacco con SQLi Attack Group. Nello specifico, abbiamo identificato i casi in cui l'Adaptive Security Engine ha impedito agli autori di attacchi di sfruttare la vulnerabilità SQLi. Le richieste bloccate provenivano dagli IP elencati negli IOC noti.
Prevenire il movimento laterale con la segmentazione
I server con connessione Internet possono spesso essere il punto di accesso per gli autori di attacchi nella rete. Con tale consapevolezza, tali server dovrebbero essere trattati di conseguenza e tenuti in un segmento separato, limitando la capacità dell'autore di attacchi di eseguire movimenti laterali all'interno della rete.
Ad esempio, è possibile creare una regola per bloccare tutte le connessioni in uscita dai server con connessione Internet sulle porte di gestione (Figura 6).
In questo modo, se un criminale dovesse violare il server, sarebbe impossibile eseguire il movimento laterale tramite queste porte, ma si dovrebbero creare regole aggiuntive per le applicazioni sensibili e altre porte di gestione per limitare il più possibile la superficie di attacco su questi server. Tenete presente che tali regole potrebbero anche interrompere le normali operazioni di rete, quindi dovreste agire con una certa discrezione durante la creazione e l'aggiunta dell'esclusione al traffico esistente necessario per le operazioni quotidiane.
Fino alla prossima volta?
MOVEit è un altro caso di sfruttamento della vulnerabilità zero-day di un servizio di trasferimento file gestito (MFT). Finora, il gruppo ransomware CL0P è diventato famoso per questo tipo di attività; ha precedentemente sfruttato le vulnerabilità nelle applicazioni GoAnywhere, SolarWinds Serv-Ue Accellion per rubare dati e ricattare le sue vittime e ha anche sfruttato ulteriori vulnerabilità in altre applicazioni Internet.
Infatti, se una qualsiasi delle migliori soluzioni MFT è installata nella vostra rete, è piuttosto certo che, mentre state leggendo questa frase, un hacker altamente qualificato e motivato da qualche parte nel mondo stia studiando queste applicazioni e cercando di trovare le relative falle di sicurezza Sembra essere solo una questione di tempo il lancio della nuova campagna di sfruttamento da parte del gruppo CL0P e, presumibilmente, altri gruppi seguiranno rapidamente.