In parole semplici un exploit kit non è altro che una collezione di software in grado di realizzare attacchi informatici di tipo web-based, spesso utilizzati (purtroppo) con l’obiettivo di distribuire malware o altre componenti malevole.
A partire dal 2006 si sono sviluppati in modo significativo e sono diventati fruibili da tutti, anche grazie alla costante espansione del deep web e dei mercati informatici underground.
Il principale scenario di attacco
Una delle caratteristiche principali degli exploit kit è quella di poter essere utilizzati da chiunque, anche da persone non necessariamente specializzate in ambito IT. Solitamente, questi software vengono resi disponibili insieme ad una interfaccia di gestione e ad un insieme di vulnerabilità attaccabili, nonché ad una serie di funzioni che rendono l’attacco informatico semplice ed efficace nella maggior parte dei casi.
L’efficacia di un exploit kit è garantita da una serie di routine software automatizzate, che permettono ad un attaccante di eseguire azioni in modo rapido e mirato. Solitamente, il ciclo di un attacco inizia con un primo contatto con la “vittima” mediante link malevoli che ridirezionano ad un server compromesso. Tecniche di phishing si uniscono a quelle di malvertising e spamming al fine di agganciare un numero sempre maggiore di obiettivi.
A questo punto, i server compromessi, una volta contattati, possono iniettare malware direttamente o ridirezionare il traffico utente verso altre destinazioni in grado di studiarne il comportamento, comprenderne le vulnerabilità e infine eseguire l’exploit.
I primi exploit kit
La storia degli exploit kit, almeno di quelli che sono stati studiati e sono stati considerati rilevanti, inizia nel 2006 con le attività del WebAttacker kit, individuato all’interno del mercato nero russo e venduto all’epoca a 20 dollari. Questo software era in grado di diffondere i link mediante spam e compromettere numerose vulnerabilità di Windows, Mozilla Firefox e Java, distribuendo malware di varia natura.
Al precedente ha fatto seguito Mpack, anch’esso di matrice russa, che iniziò ad essere venduto ad un prezzo che si avvicinava ai 1000 dollari grazie alla presenza di un pannello di controllo maggiormente sviluppato e in grado di fornire statistiche circa le vittime e la loro locazione.
Da quel momento vennero sviluppati centinaia di exploit kit, tra cui citiamo NeoSploit, Phoenix, Tornado, Armitage, Fiesta, AdPack, FirePack e Blackhole Exploit Kit, ma anche Nuclear, SweetOrange, Styx, FlashPack, Neutrino, Magnitude, Angler e Rig.
Dietro ad ognuno di questi nomi ci sono una serie di funzionalità, di attacchi e di storie di varia natura, tra cui l’arresto dell’autore del Blackhole Exploit Kit, Paunch, nell’ottobre del 2013, o i numerosi episodi di imbarazzo da parte delle aziende informatiche di tutto il mondo che hanno dovuto fronteggiare e risolvere una serie infinita di attacchi sui propri prodotti. È il caso, ad esempio, di Internet Explorer, Microsoft Silverlight, Adobe Flash Player, Adobe Reader, Java, e Active X che nel tempo hanno necessariamente rilasciato una innumerevole quantità di patch.
Nel seguito dell’articolo andremo ad analizzare uno tra i più diffusi exploit kit, ovvero Angler. Poichè chiunque può essere oggetto di un attacco infarmatico, conoscere il comportamento e il funzionamento di un exploit kit può aiutarci a difendere le nostre risorse informatiche. Ci dissociamo invece da ogni utilizzo o uso improprio, soprattutto nei confronti di terzi, che potrebbe determinare un comportamento illegale e perseguibile secondo la normativa vigente.
Angler
Angler è uno degli exploit kit più noti ed utilizzati. Si stima che nel 2015 il 40% delle attività di attacco mediante exploit kit sia stato realizzato proprio con Angler. A partire dal 2013, data di primo avvistamento, Angler si è evoluto divenendo sempre più semplice da utilizzare e sempre più efficace.
Come la maggior parte degli exploit kit, Angler ha come obiettivo quello di eseguire una scansione del sistema alla ricerca di vulnerabilità, attaccarle ed eseguire codice malevolo. Ad essere inizialmente colpiti sono i browser web, che possono interagire direttamente con i server web compromessi, e tutti i software richiamabili direttamente da essi (come i predetti Adobe Reader, Java Runtime Environment, Adobe Flash Player, etc.).
Attualmente, Angler è configurabile per poter eseguire codice malevolo, ma anche per rubare dati personali, nonché collegare il computer della vittima ad una botnet (a sua volta utilizzati per attacchi distribuiti di varia natura).
Angler, inoltre, ha una notevole capacità di lavorare senza essere individuato dai sistemi di protezione, ad esempio variando in modo molto rapido gli indirizzi IP di riferimento al fine di bypassare i controlli circa la reputazione e la qualità degli IP stessi.
Infine, l’assenza di file scaricati e payload cifrati non consente ai sistemi antivirus di rilevare facilmente la presenza dell’exploit kit, rendendo le operazioni di protezione sempre più complesse.
Per queste ragioni, Angler è il principale strumento anche per la diffusione di ransomware, fastidiosi (e spesso molto dannosi) prodotti dei cyber-criminali che sono soliti cifrare in tutto o in parte i supporti di memorizzazione degli attaccati, chiedendo successivamente un riscatto per decifrarli.
Su questo aspetto è importante ricordare che le diffusioni di ransomware mediante exploit kit, anche se sempre maggiori negli USA, sono distribuite in ogni nazione, come rilevato recentemente anche dal nostro CERT nazionale in un comunicato pubblico, proprio in relazione ad Angler.
Ora che sono noti i meccanismi di base e le potenzialità di un exploit kit non dovrebbe essere difficile capire i motivi di una così grande diffusione di Angler e in generale degli exploit kit nel mercato del cyber-crime, così come anche il giro d’affari generato dal relativo utilizzo.
Ci si attende un percorso virtuoso in cui i produttori di software possano ridurre il numero di possibili vulnerabilità, i sistemi anti-intrusione riescano a mitigare il rischio di infezione e la consapevolezza degli utenti di internet cresca, innalzando una ulteriore barriera di sicurezza. Tuttavia, fino a quel momento, dovremmo rassegnarci alla necesdità di affrontare giornalmente attacchi da exploit kit.
Prima di avviare questa sezione è doveroso ricordare che ogni attività descritta è stata realizzata al solo scopo di comprendere meglio gli aspetti di sicurezza, e che per nessuna circostanza il software qui descritto deve essere realizzato con lo scopo di arrecare danno ad altri utenti o sistemi.
Ad ogni modo, fatta questa dovuta premessa, il primo step per è quello di scaricare da internet uno degli exploit kit disponibili. Non esiste un repository o un sito in cui è possibile trovarli, poichè i link per il download cambiano continuamente e spesso sono poco pubblicizzati in rete (dato il loro scopo più usuale).
In questo caso, abbiamo utilizzato un exploit kit storico piuttosto conosciuto, ovvero CrimePack Exploit Kit, che può facilmente essere utilizzato anche da utenti con poca o pochissima esperienza. Proprio per la sua semplicità d'uso, esso è uno dei più noti e ancora diffusi exploit kit disponibili su Internet.
Una volta scaricato il software, abbiamo due possibilità. La prima è quella di usufruire di un servizio di hosting di siti web gratuito, al fine di caricare ed eseguire l'installazione usufruendo di tali servizi (chiaramente le clausole contrattuali o di utilizzo devono essere accuratamente lette e rispettate). In alternativa, è possibile realizzare tutto in locale, sul proprio computer, purchè sia installato un server Web e un database. A questo scopo, su Windows, è sufficiente scaricare e installare XAMPP, che include già il server web Apache integrato con MySQL. Ovviamente possiamo fare riferimento anche ad altri prodotti alternativi, anche in relazione al sistema operativo che utilizziamo per i nostri test.
A questo punto, dovremo avviare il server web e digitare sul proprio browser 127.0.0.1/crimepack/install.php, dove crimepack rappresenta il percorso in cui avremo scaricato e decompresso il software dell'exploit kit.
A questo punto occorre inserire tutti i campi richiesti, ovvero le credenziali di amministrazione e di utilizzo, che verranno create e memorizzate all'interno del database. Contestualmente, occorrerà inserire le credenziali del database creato con l'installazione di XAMPP.
Ora occorre indirizzare il proprio browser verso http://127.0.0.1/crimepack/control.php/ ed inserire le credenziali di amministrazione per poter accedere al pannello di controllo dell'exploit kit.
All'utente verrà mostrata una schermata principale da cui poter navigare tutte le funzionalità del software. Semplici dashboard, inizialmente vuote, inizieranno a raccogliere statistiche sull'utilizzo e sugli attacchi tentati da chi incautamente si è aggirato sulle URL associate all'exploit kit. Possono essere visualizzate statistiche generali, statistiche sul tipo di exploit, statistiche sul sistema operativo infettato, sul tipo di browser ed anche sulla provenienza degli utenti attaccati.
Dopo questa una rapida occhiata al software, trattiamo brevemente la sua caratteristica principale, ovvero gli exploit. Per Crimepack, così come per altri software analoghi, sono disponibili una infinità di moduli di exploit in grado di sfruttare appunto le vulnerabilità di altri prodotti, al fine di iniettare malware o altro codice malevolo. Solitamente, la maggior parte delle vulnerabilità sono già incluse nel pacchetto che viene scaricato con l'exploit kit, ma poichè ne vengono continuamente scoperte di nuove, queste vengono man mano rese disponibili per il download. Dal punto di vista tecnico si tratta di semplici file o cartelle che devono essere copiate all'interno della directory in cui è installato l'exploit kit. Allo stesso modo, molte vulnerabilità sono in grado di colpire solamente sistemi o browser molto datati, e per questo vengono a loro volta rimosse dalle configurazioni di default. Per conoscenza, uno studio approfondito delle vulnerabilità e un'analisi circa la continua ricerca di soluzione delle falle di sicurezza è consultabile tramite il sito CVE, che oltre a fornire la descrizione dello standard con cui riportare vulnerabilità ed esposizioni di sicurezza, detiene anche il più grande database in merito.
A questo punto, tutto quello che occorre fare per verificare il funzionamento del kit è procurarsi un browser obsoleto (ad esempio Internet Explorer 6) per comprendere se effettivamente si è in grado di attaccarlo con successo. Utilizzandolo per accedere all'indirizzo http://127.0.0.1/crimepack/, il browser subirà un crash inaspettato e nel pannello delle statistiche un nuovo count incrementerà quelli già presenti.
Ovviamente, in questo tutorial abbiamo mostrato un semplice esempio realizzato in locale, ponendo sia attaccante che vittima sullo stesso computer. Nella realtà, le vittime utilizzano i propri sistemi (PC, smartphone, tablet) e l'exploit kit viene installato su un apposito server che solitamente espone una o più URL cui sono destinati ingnari utenti, vittime di phishing o malware. In alternativa, il kit viene installato su siti web originariamente leciti, che tuttavia vengono colpiti da un precedente attacco informatico e poi utilizzati come strumento per attività illecite. Inoltre, generalmente il kit non viene utilizzato solo per verificare se un sistema è aggiornato o per procurare un crash del browser, bensì iniettare malware utile ad altri e più remunerativi scopi (sottrazione di credenziali, furto di identità, ransomware, ecc).