NEWS

La storia completa di Emotet, il malware emergente nel 2018


GIOVEDÌ 3 GENNAIO 2019 - 14:45


Nel 2018 abbiamo visto incrementarsi l'attività del malware Emotet. Emotet ha iniziato la sua carriera come trojan bancario, per poi evolversi lentamente in un "threat distributor", ovvero un distributore di ulteriori minacce. In questo report ne tratteremo non solo la storia, ma ne approfondiremo anche il lato server, il lato client e come si diffonde. Infatti la sua capacità di autopropagazione ha reso Emotet una delle minacce più individuate, a livello statico, quindi anche una delle maggiori sfide per i vendor di sicurezza. 

Che cosa è Emotet? 
Emotet è una campagna malware esistente dal 2014. Si ripresenta frequentemente ad intervalli con differenti tecniche e varianti. Abbiamo visto gli attaccanti usare complesse tecniche per evitare l'individuazione. Si è evoluto dall'essere un trojan bancario standalone ad un complesso distributore di minacce. All'inizio del 2017 abbiamo individuato una massiccia campagna Emotet diffondersi tramite email di spam contenenti allegati PDF e file JS. Nel 2018 si è invece diffuso attraverso documenti MS Office Word contenenti macro altamente offuscate. Alcune email contenevano anche un URL che eseguiva il dowbload del documento Office (Word o Excel). L'US-Cert ha diffuso un alert che individua Emotet come una minaccia di livello critico. 

Che cosa lo rende un complesso distributore di malware
Il malware mostra un'infezione persistete ed è molto aggressivo in termini di hijacking degli URL e dei payload forniti a intervalli regolari dai suoi gestori: ciò rende difficile il rilevamento statico. Abbiamo visto Emotet sottrarre anche le credenziali della rete, degli account email e perfino le password memorizzate nei browser. Emotet tenta la diffusione nella rete tramite attacchi di brute-force sfruttando le credenziali rubate. Sfrutta poi gli account email Outlook violati per inviare email di spam, trasformando essenzialmente le vittime in spammer. 

Vettore di infezione

La campagna si divide in due fasi:
  1. l'attacco al sito web;
  2. l'attacco alla macchina della vittima (ne abbiamo già parlato qui)
I siti web compromessi sono usati per l'hosting del malware finale. Questo malware è scaricato come un documento, quindi come eseguibile di Emotet nella fase successiva di distribuzione del malware. 

Perchè Emotet attacca siti web PHP-based?
Circa il 70-80% dei siti web sono sviluppati usando PHP. Anche sistemi di gestione contenuti come Joomla o Wordpress si basano su PHP. PHP è un linguaggio di scripting lato server che fornisce HTML come risposta. Se l'attaccante riesce ad eseguire codice dannoso sul server (PHP), può ottenere l'accesso come admin sul server. Chiaramente Emotet mira alle vulnerabilità presenti sul server: ad esempio Wordpress e Joomla hanno svariate vulnerabilità presenti nei loro plugin, sfruttabili in svariati tipi di attacchi, quali
  • arbitrary File Upload Vulnerability;
  • accesso diretto a XMLRPC.php;
  • remote privilege escalation vulnerability;
  • cross-site scripting;
  • information disclosure vulnerability.
Durante l'analisi abbiamo scoperto che Emotet sfrutta le vulnerabilità più recenti di exploit-db e rapid7. A conferma di ciò, abbiamo individuato nel codice di Emotet link come 
http://exploit-db.com/search/?action=search&filter_description=LinuxLinuxKernelposix_getegid?nameuidnamegid/cwd.

Solitamente queste vulnerabilità non vengono risolte dal proprietario del sito web, in quando l'aggiornamento dei plugin all'ultima versione potrebbe influire sui temi del proprio sito web. Questo è il motivo principale per il quale questi siti web sono un bersaglio privilegiato dei cyber attaccanti e possono essere usati come una infrastruttura libera e non rilevabile per raccogliere malware diversi. 

Come Emotet compromette i siti web e li usa come distributori di minacce?
Quando un utente accede all'URL, invia una richiesta "Get" al server. Il server legge l'URL e esegue la pagina PHP associata alla richiesta corrente. Facciamo un esempio: quando un utente accede al sito “http://www.Abc.com/login”, dal lato server il webserver verifica la pagina login.php. Se questa è presente, esegue il codice sul server e invia l'HTML in risposta. Generalmente non possiamo accedere direttamente al codice PHP, dato che il suo accesso è limitato dal server.  Quindi, per impiantare uno script backdoor sul server/webserver PHP-based, l'attaccante deve caricare lo script sul server PHP usando una delle vulnerabilità sopra menzionate. L'attaccante ha bisogno quindi di inviare una richiesta per la risorsa in oggetto (lo script backdoor) che verrà eseguita sul server PHP e darà accesso al server stesso assieme all'ID dell'admin e alla password del server stesso. A sua volta, scaricherà altri contenuti dannosi dal server C&C. Spesso l'attaccante usa scanner di vulnerabilità come wpscan, owaspzap, Joomla scanner, nmap per individuare le vulnerabilità nei siti web. Altro dato interessante: molti siti web compromessi sono elencati sul server "fped8.org" (nella foto sottostante, i siti web compromessi trovati su "fped8.org"). 


Un sito web compromesso da Emotet contiene anche script simili a Roi777Eng, usato per l'hacking di siti web usando backdoor PHP. 

Emotet, per prima cosa, bersaglia i siti web compromessi elencati su fped8.org per l'uploading degli script dannosi, quindi cerca altri siti web vulnerabili. Carica la backdoor PHP usando la vulnerabilità di file upload arbitrario: il server non controlla il tipo di file mentre l'upload è in corso e la cartella caricata su questi siti web è direttamente accessibile. Ecco perchè è molto facile per gli attaccanti impiantare la backdoor. 

Una volta che lo script è caricato sul sito web, l'attaccante manda una richiesta del tipo “http://www.Abc.com/wp-uploads/2018/11/backdoor.php” , così lo script viene eseguito sul server. Emotet compromette perfino i temi Wordpress che sono disponibili sugli shop WordPress e Joomla. 

Abbiamo analizzato in dettaglio uno dei siti web compromessi, che conteneva il tema chiamato "sketch", caricato in Novembre. La pagina 404.php di questo particolare sito web era stata compromessa e garantiva l'accesso via backdoor all'attaccante. Eseguito l'exploit, l'attaccante esegue il codice dannoso con richieste post e gets. Per bypassare i filtri, usa codice offuscato. 

Ulteriori analisi hanno indicato che questi siti web compromessi sono usati anche come piattaforma di hosting per malware o come infrastruttura di attacco da un attaccante che, evidentemente, è solito diffondere malware come Emotet e svariati tipi di miner. Come detto prima, il numero di siti web PHP nel mondo è molto elevato, di conseguenza lo è anche quello dei siti web compromessi. 


Nella campagna Emotet abbiamo individuato molteplici script, eseguiti dall'attaccante per comando diretto. L'attaccante può inviare nuove varianti di file exe o doc con richieste post. Sul sito web compromesso gli script cripteranno il file e lo salveranno con un nome random. Per eseguire questi script PHP verrà usata la funzione eval() di PHP. Gli script elencati sotto sono usati per ottenere l'accesso da remoto o l'accesso via backdoor sul server compromesso. Solitamente sono individuabili nella location wp-admin\wpclient. 
  1. remote.php
  2. settings.php
  3. minify.php
  4. wsetting.php
  5. syslib.php
  6. new_license.php
In alcuni casi questi script sono ospitati nella cartella di root del sito web. Vediamo alcuni degli script più importanti, in dettaglio:

1. remote.php
è usato come backdoor PHP. Invia richieste HTTP e curl a “fped8.org/doorways/settings_v2.php”  e “update.php”. Tale script potrebbe svolgere l'importante funzione di aggiornare i moduli degli script dannosi. 

2. settings.php
è la componente principale per un intruso . Aprendo questa pagina otteniamo la casella per l'inserimento password e il pulsante di invio. Una volta analizzato il codice PHP abbiamo scoperto che questa pagina è stata criptata più volte. Una volta decodificato, abbiamo trovato script Javascript e perl che eseguono la connessione socket. Riteniamo che questo script abbia la funzione principale di garantire all'attaccante l'accesso alla shell. 

3. wpsetting.php
è usato per spostare a destinazione il file caricato.

4. Minify.php
una volta decifrato, abbiamo scoperto che qminify.php non è altro che una webshell. Anche questo, come settings.php, è pesantemente criptato con diversi algoritmi di criptazione, per eludere il rilevamento sul lato server. Questo script non dettaglio è una webshell che consiste in diverse utility necessarie all'attaccante per ottenere l'accesso completo al sistema senza alcuna password dell'utente. 

Ecco i tool disponibili in questo script:
  1. Filemanager
  2. SQL Browser
  3. Console
  4. Php Shell per eseguire codice PHP. (Eval())
  5. Bruteforce tool per attacchi a dizionario
  6. Script di rete per creare la connessione socket. 
Una volta che questo script è caricato sul webserver, l'attaccante può facilmente installare altri script e ottenere l'accesso ftp usando il File Manager. Uno degli script viene aggiunto come pagina 404 nel tema attivo del sito infetto, garantendosi così la persistenza. Tutti gli script hanno l'abilità di auto-cancellazione: con un solo clic l'attaccante può rimuoverli tutti. 

6. new_license.php
su alcuni server compromessi abbiamo trovato anche questo script, contenente un modulo HTML multiparte senza alcuna validazione client-side o server-side. E'uno script utile per caricare qualsiasi tipo di file ed eseguire codice dannoso sul webserver. Nella foto sotto il source-code di new_license.php. 

I file script di Emotet
Emotet scarica 5 file in una cartella generata con nome random. La lista di questi file è:
  • .67179322b768a6c97af866b5561a06aabf878f15
  • .bt
  • .htaccess
  • index.php
  • web.config
  • .bt: è un file nascosto che contiene gli indirizzi IP degli URL host.
  • .67179322b768a6c97af866b5561a06aabf878f15 - è un file json che viene aggiornato ogni volta che Emotet viene scaricato dal sito infetto. Al momento dell'analisi, il conteggio download era a 1031 infezioni, solo dal sito corrente. 
  • .htaccess - è usato per fornire l'accesso ai file, ma anche per limitarlo verso alcuni. Questo file fornisce le permissioni a index.php. 
  • .index.php - contiene il payload di Emotet. Nell'email di phishing, la cartella sopra indicata contenente i link a index.php iene fornite alla vittima: quando un utente fa clic sul collegamento, il malware decriptato viene inviato come risposta. Quando viene inviata al server una richiesta, il server stesso invia un .exe o .doc come risposta. Anche index.php è stato più volte criptato. 
Per l'esecuzione di Emotet dal lato client, fare riferimento a >>
Conclusioni:
in questa maniera, un malware PHP infetta siti web PHP/Server puliti e fornisce agli attaccanti l'accesso per eseguire script dannosi. Può essere usato anche per diffondere altri malware, come nel caso di index.php che contiene, in forma criptata, il payload di Emotet. Indipendentemente da come sia chiamato questo PHP, il malware Emotet decriptato (doc/exe) viene inviato come risposta. Questi siti web compromessi sono usati dagli attaccanti anche come infrastruttura o come piattaforma di hosting per malware. In alcuni casi ci siamo resi conto che, una volta avuto accesso ai server, gli attaccanti possono cancellare gli script dannosi. Questo malware viene diffuso tramite email di spam contenenti truffe tipiche dell'ingegneria sociale per imbrogliare facilmente l'utente. 

Quick Heal fornisce una protezione per ogni livello dei vari stadi della campagna Emotet. Ulteriori misure di sicurezza da eseguire sono:
  • non aprire alcun link contenuto nel corpo di una email spedita da un mittente sconosciuto;
  • non scaricare mai allegati ricevuto via email da un mittente non affidabile;
  • mantieni sempre attiva la protezione email del tuo software antivirus;
  • non abilitare la macro o l'"editing mode" prima dell'esecuzione di un documento. 
Pubblicheremo prossimamente un "technical paper" per la campagna Emotet. 

Le ultime news

Chi siamo

Risorse

Supporto

Area informativa

 





Distributore ufficiale per l'Italia
S-MART è un marchio di proprietà netWork Sas
P.IVA: 05345670482




© 2017     |     Privacy Policy     |     Cookie Policy     |     Login