Di nuovo campagne EMOTET: conosciamo il nostro nemico

Questo articolo dedicato a EMOTET è il primo approfondimento “tecnico” rivolto a chi ha già dimestichezza con le terminologie tecniche.

Cercheremo di essere pratici e sintetici, senza utilizzare linguaggi “da programmatore” pur rivolgendoci ad un pubblico più esperto del solito.

Ovviamente questo è il primo articolo che proponiamo in questa forma e se lo ritenete interessante, o avete altri spunti per proporre miglioramenti, scriveteci, e ricordate di iscrivervi alla newsletter, riceverete il nostro opuscolo “CyberSecs Introduction . aggiornato a dicembre 2020”

Questa prima puntata vede protagonista una “vecchia conoscenza”:  il malware EMOTET, anche conosciuto come “il virus bancario”.

La storia di Emotet

EMOTET deve la sua fama quando nel 2018 inizia come “password stealer” bancario: uno strumento adottato per catturare le informazioni di accesso ai siti bancari utilizzando codici di siti compromessi per distribuirsi sulle macchine ospite. Ma era già attivo da almeno 4 anni.

Dal suo momento di “gloria” ad oggi sono passati due anni, ma la sua fama viene ancora sfruttata se a fine 2020 (e inizio di quest’anno) si ha una grande diffusione di attacchi portati agli utenti utilizzando mail intestate Ministero dell’Istruzione, dei Trasporti, INPS o altri Enti, cavalcando anche l’onda della pandemia COVID ed utilizzando anche indirizzi PEC.

Ha subito però una trasformazione dell’uso che se ne fa: da ladro di password a “corriere per altri malware”.

La sua struttura infatti ha alcune caratteristiche ritenute molto interessanti dagli hacker:

  • autopropagazione
  • invisibile alle rilevazioni
  • dotato di capacità di connessione
  • dotato di capacità di “privilege escalation”

La trasmissione avviene attraverso siti “compromessi”, normalmente scritti in PHP, che tra l’altro è il linguaggio utilizzato dai più comuni CMS (da Joomla al diffusissimo WordPress).

Come vedrete nella figura che segue, dove ho evidenziato le varie fasi, il sito compromesso funge da vettore iniziale e da sistema di distribuzione del codice malevolo (fasi 1 e 4).

Schema di attacco del malware EMOTET

Proprio la diffusione di siti “non patchati” scritti con i comuni CMS, di cui si conoscono le vulnerabilità, ha permesso agli hacker di introdursi, attraverso tecniche di SQL Injection o Code Injection, all’interno del sito per agganciare il codice sfruttando le vulnerabilità

  • File Upload Vulnerability
  • accesso diretto a XMLRPC.php
  • remote privilege escalation
  • cross-site scripting
  • information disclosure

Come FUNZIONA L’INFEZIONE emotet

Il meccanismo di trasmissione è una semplice mail, che può contenere un codice Javascript o un documento word/excel contenente del codice Macro; molte volte viene inviato in un file compresso per evitare che gli antivirus lo intercettino (fase 2).

Mail di esempio con allegato malware

In questi ultimi attacchi viene usato come vettore un documento Office contenente una macro che richiede, ovviamente, l’abilitazione per attivarsi. Il documento in esempio è quello che contiene le macro, ovviamente offuscate. Questa mail contiene un codice di sblocco per il file allegato, così che sia l’utente, con un comando esplicito a fornire al malware le autorizzazioni per eseguire il codice. Ho preso questa come esempio perché fornisce anche alcuni spunti per come “riconoscere il nemico”:

  • la mail è sfacciatamente di un indirizzo che non conosciamo (ho mascherato il mittente che viene invece usato prendendolo da quelli “che ci conoscono e sono stati attaccati”)
  • la mail è metà in italiano e metà in inglese
  • contiene una indicazione relativa ad un fatto che non riconduciamo a nulla di conosciuto o ricollegabile al mittente

Insomma è piuttosto identificabile.

Se l’avessimo aperta eseguendo il codice saremmo passati alla fase successiva (fase 3):

Generalmente una macro usa anche codice di scarto al solo fine di complicare le operazioni di rianalisi, ma in mezzo al codice è nascosto lo script PowerShell codificato in base64, che viene eseguito con criteri di utente ed esegue le operazioni utilizzando quella che viene denominata “privilege escalation”.

Lo script scarica il malware da un URL di quelli compromessi (fase 4), lo rinomina localmente generando un nome random (una sequenza di lettere normalmente che può essere identificata anche nei processi di Windows visto che si lancia in autorun alla partenza del Sistema Operativo) e lo salva in una cartella (la %temp% o la appdata del’utente) con estensione exe.

Il payload scaricato [nomerandom].exe viene eseguito dalla cartella e si replica cambiando nome alla sua istanza (fase 5), così avremo diversi processi in esecuzione autonomamente. Questo permette di identificare che si è infetti anche “dopo” perché la macchina appare estremamente rallentata a causa dell’esecuzione di molte istanze del processo. A volte potrebbe anche rinominare la sua istanza e lanciare una copia di se stesso dal nome “wsdquota.exe” dalla cartella “C:\Windows\system32”, con i privilegi massimi di System.

COSA FA UNA VOLTA INSTALLATO

Le procedure precedenti solitamente sono solo la testa di ponte per un’aggressione più “profonda”: vengono infatti creati, scaricandoli dai siti compromessi, altri processi (fase 6) che si occuperanno di

  • prelevare i dati dalla rubrica di posta per spedire spam “fingendosi noi” (per trarre in inganno il destinatario come si diceva prima)
  • rubare le password e gli account (con dei keylogger)
  • esfiltrare i dati riservati dal disco per spionaggio
  • criptare il disco per richiedere un riscatto
  • ecc…

Cioè qualunque tipo di codice malevolo che possa essere messo a disposizione su server compromessi, o anche adibiti alla distribuzione di malware può essere installato a cura di questo “amministratore di sistema infiltrato”.

Come vedete la tecnica è piuttosto efficace e subdola, potendo bypassare anche molti sistemi antivirus/sicurezza (soprattutto quelli che non hanno la rilevazioni in tempo reale).

Per minimizzare i rischi conviene quindi:

  • utilizzare un sistema di gestione sicurezza “completo” (sandbox, firewall, analisi processi, ecc),
  • aggiornare sempre il sistema operativo
  • non aprire mail e verificare sempre che l’indirizzo (non il mittente) sia conosciuto
  • disabilitare le macro dei documenti ed impedire l’esecuzione arbitraria di codice sia nel browser che nel mailer
  • e… prestare attenzione: il miglior dispositivo di sicurezza siete voi!

Ricordate

La Sicurezza non può essere per molti…

deve essere per tutti!

Ovviamente questo è il primo articolo che proponiamo in questa forma e se lo ritenete interessante, o avete altri spunti per proporre miglioramenti, scriveteci, e ricordate di iscrivervi alla newsletter, riceverete il nostro opuscolo “CyberSecs Introduction . aggiornato a dicembre 2020”