Dridex è stato un incubo durato diversi anni per gli utenti di computer, aziende e istituzioni finanziarie tanto da diventare sinonimo di Trojan bancario.
La recente ricerca ESET mostra che gli autori del famigerato Trojan Dridex sono responsabili di una nuova famiglia di malware di alto profilo: un sofisticato ransomware rilevato dai prodotti ESET come Win32/Filecoder.FriedEx e Win64/Filecoder.FriedEx, noto anche come BitPaymer.
Dridex
Il Dridex è apparso per la prima volta nel 2014 come un bot relativamente semplice ispirato a progetti più datati, ma gli autori lo hanno rapidamente trasformato in uno dei Trojan bancari più sofisticati mai apparsi in rete. A peggiorare la situazione i criminali hanno costantemente rilasciato nuove versioni che correggevano e aggiornavano il malware rendendolo sempre più difficile da individuare e a volte introducendo nuove funzionalità e tecnologie per aumentarne il raggio d’azione. L’ultimo importante aggiornamento dalla versione 3 alla 4 per esempio, rilasciato all’inizio del 2017, ha introdotto nel bot la tecnica di iniezione Atom Bombing e sempre nello stesso anno è stato implementato un nuovo exploit zero-day di MS Word , che ha permesso di diffondere il Trojan a milioni di vittime.
Attualmente la versione più recente di Dridex è la 4.80 rilasciata il 14 dicembre 2017 che include il supporto per i webinject in Chrome versione 63.
Nota: l’anno scorso abbiamo rilasciato uno strumento che consente di identificare gli hook dannosi nei browser Web più diffusi. Lo strumento è progettato per aiutare a scoprire potenziali infezioni da Trojan bancari, tra cui proprio il Dridex.
FriedEx
Inizialmente soprannominato BitPaymer a causa del testo presente nel suo sito dedicato al pagamento del riscatto, questo ransomware scoperto all’inizio di luglio 2017 da Michael Gillespie e in agosto, è tornato alla ribalta infettando gli ospedali del NHS in Scozia .
FriedEx si concentra su obiettivi di profilo più elevato piuttosto che su normali utenti finali e viene solitamente distribuito tramite un attacco brute force RDP. Il ransomware crittografa ogni file con una chiave RC4 generata casualmente, che viene quindi ricodificata utilizzando una chiave pubblica RSA a 1024 bit e salvata nel corrispondente file .readme_txt.
A dicembre 2017 abbiamo esaminato uno dei campioni di FriedEx e quasi immediatamente abbiamo notato la somiglianza del codice con quello del Dridex. Incuriositi dai risultati iniziali, abbiamo analizzato in profondità questi campioni di FriedEx e abbiamo scoperto che utilizza le stesse tecniche di Dridex per nascondere quante più informazioni possibili sul suo comportamento.
Risolve istantaneamente tutte le chiamate API di sistema eseguendo una ricerca per hash, memorizza tutte le stringhe in forma crittografata, cerca chiavi e valori di registro per hash, ecc. Il codice binario in esame ha un profilo molto basso in termini di caratteristiche statiche ed è molto difficile evincere il comportamento del malware senza un’analisi ancora più approfondita.
Ciò ha richiesto una ricerca più capillare da cui sono emersi una serie di attributi aggiuntivi che hanno confermato i nostri sospetti iniziali: le due famiglie di malware sono state create dagli stessi sviluppatori.
Analogie sul codice

Figura 1. Confronto tra le funzioni GetUserID presenti nei campioni di Dridex e FriedEx
Nella Figura 1 , possiamo osservare una parte della funzione utilizzata per generare UserID presente in tutti i binari Dridex (sia i loader che i moduli bot). Come possiamo vedere, questa stessa funzione specifica di Dridex viene utilizzata anche nei binari di FriedEx. La funzione produce una stringa raccogliendo diversi attributi della macchina infettata che funge da identificatore univoco della vittima, sia nel caso di Dridex, sia nel ransomware FriedEx.
Questo tipo di somiglianza con Dridex è presente in tutti i binari di FriedEx e solo pochissime funzioni specifiche dell’attività ransomware non sono presenti nel Dridex (ad esempio il ciclo di crittografia dei file e la creazione di messaggi di riscatto).

Figura 2. Confronto dell’ordine delle funzioni tra Dridex e FriedEx. Le funzioni mancanti nell’altro campione sono evidenziate nel colore corrispondente
Un’altra caratteristica condivisa è l’ordine delle funzioni nei file binari, che si verifica quando la stessa base di codici o libreria statica viene utilizzata in più progetti. Come possiamo vedere nella Figura 2, mentre il campione di FriedEx sembra mancare di alcune delle funzioni presenti nel campione Dridex e viceversa (che è causato dal compilatore che omette le funzioni non referenziate / non utilizzate), l’ordine rimane lo stesso.
Vale anche la pena ricordare che sia Dridex che FriedEx utilizzano lo stesso sistema di pacchettizzazione. Tuttavia, dal momento che questo packer è molto popolare tra gli autori di malware (probabilmente a causa della sua efficacia nell’evitare l’individuazione e l’analisi dei file dannosi) e utilizzato da altre famiglie ben note come QBot, Emotet o Ursnif, questa non può essere considerata tra le prove più rilevati.
Percorsi PDB
Quando si crea un eseguibile di Windows, il linker può includere un percorso PDB (Programma Database) che punta a un file utile nei processi di debug e a identificare gli arresti anomali delle applicazioni. Il file PDB non è quasi mai presente nel malware, tuttavia a volte anche solo il percorso può fornire informazioni preziose, poiché i file PDB si trovano di default nella stessa directory dell’eseguibile compilato e in genere hanno anche lo stesso nome base seguito dall’estensione .pdb.
Come si può intuire, solitamente i percorsi PDB non sono inclusi nei file binari del malware poiché gli hacker non vogliono fornire alcuna informazione che possa aiutare a identificarli, ma fortunatamente alcuni esempi di entrambe le famiglie includono i percorsi PDB.

Figura 3. Elenco di tutti i percorsi PDB trovati nei progetti Dridex e FriedEx
Come si può notare nella Figura 3, i binari di entrambi i progetti vengono collocati in directory con lo stesso percorso e analizzando tutti i metadati dei due malware abbiamo concluso che il percorso S: \ Work \ _bin \ è univoco sia per il progetto Dridex sia per quello FriedEx.
Timestamp
Abbiamo trovato diversi casi di Dridex e FriedEx con la stessa data di compilazione. Questa potrebbe, ovviamente, essere una coincidenza ma dopo un’analisi più accurata abbiamo rapidamente escluso la teoria del “solo una coincidenza”.
Non solo le compilazioni con la stessa data si differenziano al massimo di alcuni minuti (ciò implica che i Dridex probabilmente compilano entrambi i progetti contemporaneamente), ma nei casi esaminati anche le costanti generate casualmente sono uguali. Queste costanti generalmente cambiano a ogni compilazione per rendere l’analisi e l’individuazione del malware ancora più complessa.

Figura 4. Funzione GetAPIByHash in campioni Dridex con differenza di tempo di compilazione di 3 giorni. La costante evidenziata è diversa.
Nella Figura 4 abbiamo confrontato due campioni del loader Dridex con una differenza di tre giorni tra i timestamp di compilazione. Mentre i loader sono quasi identici con le uniche differenze legate ai loro dati hardcoded, come le chiavi di crittografia e IP del server di C & C, le costanti sono diverse così come naturalmente tutti gli hash che si basano su di esse. D’altra parte, nella Figura 5, possiamo vedere il confronto tra i loader di FriedEx e Dridex dello stesso giorno (in effetti, con i timestamp a soli due minuti di distanza). Qui le costanti sono le stesse, il che significa che entrambe sono state probabilmente generate durante la stessa sessione di compilazione.

Figura 5. Funzione GetAPIByHash in binari Dridex e FriedEx compilati lo stesso giorno. La costante evidenziata è la stessa in entrambi i campioni
Informazioni sul compilatore
Le informazioni sul compilatore supportano ulteriormente la nostra teoria e si aggiungono a tutte le prove trovate finora, infatti i file binari di Dridex e di FriedEx sono compilati in Visual Studio 2015. Ciò è confermato dalla versione del linker che si trova nei dati dell’intestazione PE e dell’intestazione Rich.

Figura 6. Dati di intestazione ricchi trovati negli esempi Dridex e FriedEx
A parte le ovvie somiglianze con Dridex, ci siamo imbattuti in una variante a 64 bit precedentemente non dichiarata del ransomware. Poiché la solita versione a 32 bit del ransomware può utilizzare sia i sistemi x86 che x64, riteniamo che questa variante sia un po’ una curiosità.
Conclusione
Con tutte queste prove possiamo affermare con sicurezza che FriedEx è davvero opera degli stessi sviluppatori del Dridex. Questa scoperta ci offre un quadro più preciso sulle attività di questo gruppo di criminali confermandoci che non solo si occupa di aggiornare costantemente il proprio trojan bancario inserendo di volta in volta nuove tecnologie, come il supporto webinject per le ultime versioni di Chrome o funzionalità come l’Atom Bombing, ma che segue anche le ultime “tendenze” malware creando un proprio ransomware.
Possiamo solo immaginare che cosa accadrà in futuro, ma siamo già certi che gli autori del Dridex continueranno a innovare il loro vecchio progetto e a produrre nuovi strumenti in grado di minacciare gli utenti di Internet.
Per molto tempo si è creduto che la banda di Dridex fosse un gruppo di criminali mono corda che si è concentrato esclusivamente sul proprio trojan bancario, ma ora abbiamo scoperto che non è questo il caso e che può adattarsi facilmente alle nuove tendenze e creare un tipo diverso di malware in linea con quelli più avanzati diffusi su Internet nell’ultimo periodo.
IoC





1 Commento