Il processo ai creatori del trojan bancario Lurk è finalmente finito. Sono stati fermati come risultato di un’operazione congiunta senza precedenti tra una moltitudine di autorità e l’aiuto dei nostri esperti. I criminali sono stati arrestati nel 2016, ma l’indagine e il processo si sono trascinati per altri cinque anni. Questo non è sorprendente, dato che il numero di sospetti e di vittime coinvolte era senza precedenti. I membri di Lurk trasportati in tribunale erano tantissimi e i fascicoli del caso arrivavano a 4000 volumi (un volume = 250 pagine). La quantità di lavoro era colossale e richiedeva molto tempo, i sospetti hanno analizzato ogni record e dichiarazione con gran cautela, ma nel 2018, 27 imputati hanno affrontato il processo.
Kaspersky ha monitorato le attività del gruppo dal 2011. Ho sentito parlare per la prima volta di Lurk quando sono entrato in azienda nel 2013. Ricordo di aver pensato tra me e me: “Prendili e potrai andare in pensione facilmente. Considera la tua carriera completa”. Rispetto ai soliti criminali informatici dell’epoca, sembravano davvero sofisticati, sia tecnicamente che organizzativamente. Detto questo, se incontrassi Lurk oggi, probabilmente sarei meno impressionato e li vedrei solo come un gruppo che ha seguito le migliori pratiche.
Il verdetto dei tribunali è una buona scusa per gettare un occhio su ciò che era così speciale nella loro attività cybercriminale, in passato.
Schema di infezione
Dovremmo iniziare con il vettore di infezione. Gli hacker hanno usato la tattica watering-hole, pubblicando un reindirizzamento a un kit di exploit su diversi siti web di media aziendali. Il metodo in sé non era nuovo, ma in questo caso, per essere infettata, la vittima (sempre un contabile) doveva visitare il sito durante la sua pausa pranzo (e solo a quell’ora). Il kit di exploit ha scaricato un Trojan senza corpo sul loro computer, che è stato utilizzato esclusivamente per spiare.
I criminali informatici hanno prima studiato quali programmi erano in esecuzione sul dispositivo, se c’erano software bancari o tracce di software di indagine, e in quali subnet stava lavorando (l’attenzione principale era sulle reti bancarie e governative). In altre parole, hanno valutato l'”interesse” del computer, e sapevano esattamente chi volevano infettare.
Il malware principale veniva scaricato solo se il computer era effettivamente interessante. Altrimenti, rubavano tutte le password su cui potevano mettere le mani, per sicurezza, e rimuovevano il malware dal dispositivo della vittima.
Comunicazione con C&C
Non meno notevole era il processo di scambio di informazioni tra il Trojan e il server di comando e controllo (C&C). La maggior parte dei Trojan dell’epoca conteneva l’indirizzo C&C hardcoded. Gli autori specificavano semplicemente il nome del dominio, lasciandosi la possibilità, se necessario, di cambiare l’indirizzo IP del server: cioè, se perdevano il controllo sull’indirizzo C&C principale, potevano semplicemente sostituirlo con uno di riserva. Tutto sommato, era un meccanismo di sicurezza piuttosto primitivo. Lurk era molto diverso in questo senso: il gruppo impiegava un metodo degno di un romanzo di spionaggio.
Prima di una sessione di comunicazione, Lurk calcolava l’indirizzo del server C&C. I criminali informatici andavano su Yahoo e guardavano il prezzo delle azioni di una particolare azienda (durante la nostra ricerca era McDonald’s). A seconda del valore delle azioni in un determinato momento, hanno generato un nome di dominio e vi hanno acceduto. Cioè, per controllare il Trojan, i criminali informatici guardavano il prezzo delle azioni in quel momento e registravano un nome di dominio basato su queste cifre. In altre parole, era impossibile sapere in anticipo quale nome di dominio sarebbe stato utilizzato per il server C&C.
Questo solleva una domanda legittima: se l’algoritmo era incorporato nel Trojan, cosa impediva a un ricercatore di generare una tale sequenza, registrando un nome di dominio prima dei criminali informatici, e semplicemente aspettando che il Trojan si collegasse ad esso? Ahinoi, i creatori di Lurk avevano preso precauzioni. Hanno usato la cifratura asimmetrica. Cioè, è stata generata una coppia di chiavi, dopodiché il bot, accedendo al server C&C, avrebbe usato la chiave pubblica per controllare se apparteneva davvero ai suoi proprietari (verificando la firma digitale). Questo è impossibile da falsificare senza conoscere la chiave segreta. Quindi, solo il proprietario della chiave segreta può ricevere richieste dai bot ed emettere comandi, nessun ricercatore esterno può imitare il server C&C. Altri criminali informatici non usavano questo metodo di protezione all’epoca, quindi se avessimo individuato una protezione della chiave privata sul server, potevamo essere sicuri che si trattava di un attacco Lurk.
Infrastruttura organizzata
L’organizzazione dei processi di Lurk merita una menzione a parte. Se gli altri gruppi di criminali informatici di allora erano solo un gruppo casuale di utenti di forum (uno faceva la programmazione, un altro l’incasso, un terzo era il coordinatore), al contrario, Lurk era quasi una vera e propria azienda informatica. È più accurato paragonarli ad una grande società di software che ad un gruppo di criminali informatici. Inoltre, in termini di livello organizzativo, rimangono un modello per molti gruppi fino ad oggi.
Lurk era gestito da veri professionisti (molto probabilmente con una forte esperienza di sviluppo) che hanno costruito un’infrastruttura altamente organizzata con manager e personale delle risorse umane. A differenza della maggior parte delle bande, pagavano ai loro dipendenti uno stipendio (piuttosto che una percentuale dei proventi). Tenevano persino dei briefing settimanali, cosa che a quei tempi era del tutto inaudita. In breve, era una corporazione dannosa “esemplare”.
Avevano persino un sistema chiaramente strutturato basato sui ruoli per limitare l’accesso alle informazioni. Dopo il loro arresto, alcuni membri del gruppo hanno potuto leggere la corrispondenza dei loro capi e solo allora hanno capito che non erano stati trattati in modo equo.
Hanno documentato meticolosamente tutte le loro attività, molto più di molte aziende IT di oggi. Questo, naturalmente, ha aiutato molto l’indagine. E forse ha portato, alla fine, alla loro rovina: più sistematico è l’approccio, più facile da rintracciare. Ecco alcuni esempi.
Basi di conoscenza
Il gruppo Lurk manteneva una base di conoscenza dettagliata, chiaramente divisa in progetti. Ogni progetto era accessibile solo ad una certa cerchia di persone, cioè i partecipanti ad un progetto non sapevano delle attività di un altro. I progetti variavano molto in portata, da altamente tecnici a organizzativi. E anche i progetti tecnici erano suddivisi in livelli. Per esempio, gli sviluppatori di Trojan avevano accesso alla base di conoscenza solo su argomenti correlati: come aggirare gli antivirus, come testare, e così via.
Ma c’erano anche database generali sulla sicurezza operativa (simili alle reali norme di sicurezza nelle grandi aziende). Questi fornivano informazioni su come i dipendenti di Lurk dovevano impostare le loro workstation per evitare di essere scoperti e come usare i tool di anonimizzazione.
Accesso alle informazioni
Per ottenere l’accesso alla risorsa di informazioni di Lurk, i criminali informatici hanno dovuto connettersi a qualche server attraverso diverse VPN. Anche allora hanno ricevuto solo l’accesso alla gestione dei bot. Poi, ogni dipendente ha ottenuto il proprio certificato e il proprio account con diversi diritti. In altre parole, era come una normale rete aziendale impostata per il lavoro a distanza. Nel complesso, se non fosse stato per la loro mancanza di 2FA, sarebbero potuti essere un’azienda modello.
Fisicamente, tutti i server erano situati in diversi data center e in diversi paesi. Quando si raggiunge uno di essi a livello virtuale attraverso una VPN, non si conosce il vero indirizzo IP del server. Era in gran parte ciò che rendeva il gruppo così difficile da scoprire.
Sviluppo
Il gruppo Lurk aveva repository adeguati del codice sorgente, procedure automatizzate di compilazione e test a più fasi, un server di produzione, un server di test e un server di sviluppo. Stavano essenzialmente realizzando un prodotto software serio: in qualsiasi momento avevano una versione di produzione, di test e per sviluppatori del Trojan.
Il server C&C medio di un tipico Trojan di allora poteva ricevere richieste dai bot, registrarle in un database e fornire un pannello di amministrazione per gestirle. Tutto questo era effettivamente implementato in una singola pagina. Lurk implementava il pannello di amministrazione e il database separatamente, mentre il meccanismo di invio delle risposte per i bot era completamente oscurato da un servizio intermedio.
Kit di exploit
Lurk aveva tre kit di exploit, ognuno dei quali aveva tre nomi diversi: uno interno, fatto dai suoi sviluppatori, uno per i clienti e partner, e uno assegnato dai ricercatori. Il fatto è che non solo gli autori di Lurk hanno usato i loro sviluppi, ma hanno anche venduto exploit kit sul lato, ad altri criminali informatici. Inoltre, le versioni per i “partner” avevano un codice diverso, chiaramente un tentativo di mascherarli come un altro exploit kit molto popolare.
La caduta di Lurk
Alla fine, tutti i trucchi dei criminali informatici sono stati di scarso aiuto. La maggior parte dei membri del gruppo è stata arrestata, ma solo dopo che il danno era fatto. Durante la loro lunga carriera, i criminali informatici sono riusciti a rubare circa 45 milioni di dollari. I nostri esperti hanno studiato i loro metodi per quasi sei anni (il che, per inciso, ha fornito una preziosa esperienza che continuiamo a impiegare per sconfiggere il crimine informatico).
Per coloro che sono interessati ai risultati rilevanti per il business di questa saga, consigliamo questo post e un’analisi tecnica dettagliata disponibile nel nostro post su Securelist.