Durante il 2017 e per tutti i primi mesi del 2018 il principale percorso di attacco utilizzato da criminali informatici è stato, e risulta essere tutt'ora la posta elettronica. Numerosi report testimoniano quanto affermato sia su scala Nazionale sia su scala Internazionale.
Contemporaneamente e sempre più spesso non "addetti ai lavori" o semplici curiosi domandano come ciò possa essere possibile e quale "stratagemma" o "tecnica" venga implementata da parte degli attaccanti per infettare e prelevare informazioni dal sistema vittima. In questo breve articolo viene investigato un esempio di attacco informatico eseguito attraverso "email" per comprendere quali azioni vengano intraprese dall'attaccante. Proprio come avviene in molte discipline la consapevolezza è un valido strumento di prevenzione, quindi comprendere il funzionamento di un attacco può notevolmente aiutare vittima ad evitarlo.
Tutto inizia da una email. Inutile osservare la totale assenza di contesto del contenuto, il linguaggio non troppo corretto, l'indirizzo email che vagamente assomiglia a qualche cosa di "già sentito" e la richiesta di effettuare una azione sia essa "aprire un allegato" o "cliccare un link", perchè siamo essere umani e, se non in questa occasione, alla prossima, cliccheremo il temibile link. Un file apparentemente compresso viene scaricato sul nostro computer. Il nome non ha importanza, ora il file è sul computer, è al "sicuro", non è successo nulla, apparentemente non sembra un virus, la curiosità è alle stelle, magari a casa o in ufficio comodamente seduti, si crede di essere sereni ed "al sicuro": il file viene aperto.
Prende così il via quello che tecnicamente viene denominato Stage 1. Nel caso analizzato, un file .bat viene eseguito. Il tipico obiettivo del primo stage è quello di evadere i sistemi antivirus prelevando contenuto malevolo dalla rete e posizionarlo all'interno del pc vittima. Il contenuto del file .bat è il seguente:
Un semplice script attraverso il comando "start" avvia la visualizzazione di un PDF (accessibile da remoto) in modalità "silenziosa" (ecco off) questo per distrarre la vittima e fargli credere che il file scaricato contenesse un PDF. Codice "spazzatura" viene inserito fino alla fine del file eseguito (.bat) come distrazione per gli analisti, ma poi alcune righe di codice destano un forte sospetto (rappresentate nella seguente immagine): sono le ultime del file a partire dalla riga 34461.
"certutil.exe" è un programma installato direttamente da Microsoft facente parte della suite Certificate Services. Attraverso questo programma è possibile verificare e salvare le configurazioni delle Certification Authority (CA), configurare i propri certificati, effettuare backup, importare nuove chiavi e ricercarle. CertUtil possiede la funzionalità di verificare certificati remoti (non presenti sulla propria macchina) e di stamparli (visualizzarli) su standard output (anche se non riconosciuti). In questo specifico caso l'attaccante ha codificato un "finto certificato" e reso disponibile attraverso un server web. Per "finto certificato" si intende un insieme di Bytes aventi le sembianze di un certificato ma che non lo sono affatto, contrariamente vedremo essere un formato di file appositamente codificato (base64).
L'attaccante sfrutta lo strumento certutil.exe per scaricare il sedicente certificato e per salvarlo in uno specifico percorso (in questo esempio in %APPDATA%\WinHelperKS.txt). L'attaccante simulando la verifica del certificato e sfruttando la capacità di certutil.exe di stampa a video salva il file codificato all'interno della macchina vittima senza destare il sospetto di nessun sistema di protezione. Inizia così il secondo stage. Usualmente il secondo stage avviene all'interno della vittima ed ha come scopo quello di avvicinarsi all'esecuzione del payload, ovvero il codice realmente malevolo utilizzato dall'attaccante: raggiungendo l'obiettivo dell’attaccante. La seguente immagine mostra il “finto certificato” contenente il secondo Stage.
Decodificando attraverso l'algoritmo base64 il "certificato" (utilizzando certutil --decode) l'attaccante converte il file in un formato conosciuto al sistema Windows, nello specifico caso analizzato, in un file di tipologia .cab. Attraverso il comando "expand" (immagine precedente) l'attaccante apre il file .cab e ne esegue il suo contenuto. Il contenuto del cabinet (.cab) a sua volta è un file conosciuto a Windows denominato Portable Executable (PE) di tipologia .exe. Un file PE (.exe) è un noto formato di file eseguibile, usualmente non è un portatore di dati ma come evidenziato dal nome stesso (Portable Executable) è un file compilato per eseguire azioni, in questo caso, sulla macchina vittima. Viene avviato in questo modo un nuovo ed ultimo stage: il terzo stage.
Questo stage (non sempre presente) viene introdotto usualmente per offuscare il payload. L'offuscamento è una delle principali operazioni "anti analisi" implementato per rendere difficoltoso il lavoro dell'analista che, ottenuto il file sospetto, deve effettuare azioni di "reverse engineering" per comprenderne il funzionamento. Il file eseguito appartenente allo stage 3 si comporta come un classico "dropper locale". Un dropper locale è un sistema di offuscamento del reale payload (codice malevolo) ed implementa una tecnica di "staging" dove l'esecuzione avvia una sezione del codice (Entry Point) differente da quello del reale Payload, capace di estrarre dal suo interno un nuovo file eseguibile ed avviarlo. Il Payload infatti viene estratto dal dropper stesso, leggendo parte dei propri dati, codificandoli e salvandoli su di un file differente oppure eseguendoli direttamente in memoria. In questo caso il payload viene estratto, salvato ed eseguito, la seguente immagine mostra la fase di estrazione del payload dal dropper.
L'ulteriore analisi del payload non risulta essere interessante in quanto il codice utilizzato dall'attaccante è riconosciuto da 33 AntiVirus su un totale di 67 AntiVirus e classificato come Ursnif. Ursnif è un malware della famiglia Trojan che apparentemente sembra effettuare azioni lecite (in questo caso visualizzare un documento PDF) ma silenziosamente effettua azioni malevole come: furto di credenziali (Accessi Bancari, Accessi eMail, Accessi a social media e ai profili locali) ed esecuzione di codice remoto (attraverso un server di Command e Control, controllato dall'attaccante). Ursnif è legato ad un piu noto Malware denominato Gozi attribuito in un primo momento ad un ragazzo Russo ma in una seconda analisi ad un gruppo di hacker piu sofisticati della medesima nazionalità. Da questo momento l'attaccante ha il controllo della macchina vittima, può eseguire codice da remoto e può prelevare informazioni generiche oppure specifiche come per esempio username e password presenti all’interno del sistema vittima.
Durante questo breve articolo abbiamo analizzato il flusso di infezione di un semplice Malware a 3 stage e dimostrato come un semplice "click" sia esso su di un link o su di un file allegato possa creare una catena di eventi atti a sfuggire ai sistemi perimetrali quali AntiVirus, Proxy, NextGen Firewall, Anti-Spam ed a rendersi invisibile a semplici azioni di analisi ("codice spazzatura" e stage di offuscamento). E' necessario mantenere alta l'attenzione, controllare l'umana curiosità di cliccare su contenuti attraenti ed affidarsi a esperti per difendere la propria sfera digitale.