Analisi del malware Qakbot
Torniamo all’articolo relativo al malware Qakbot per fare un approfondimento sul suo funzionamento. L’attività relativa alle operazioni del malware QakBot, come già avevamo anticipato a dicembre, ha registrato un incremento.
Abbiamo, quindi, studiato il malware attraverso un’analisi dettagliata per approfondire il tema e mostrare il suo funzionamento.
Funzionamento del malware
Il malware in questione, attivo dal 2008, è una minaccia che in questi 15 anni di “vita” continua ad evolversi per cercare di eludere, quanto più possibile, i controlli di rilevamento.
In particolare, il malware viene veicolato tramite delle campagne phishing che portano la vittima a scaricare degli allegati dannosi, in genere creati con modelli esistenti di Microsoft Office, come fatture o ordini di vendita.
Gli attaccanti cercano di implementare tecniche di offuscamento tramite l’utilizzo di archivi ZIP.
Di seguito si riporta un esempio di flusso di infezione di Qakbot.
Il malware viene recapitato con una mail di phishing che contiene un archivio zip protetto da password e che a sua volta contiene un’immagine ISO, cioè un’estensione utilizzata generalmente per file immagine.
Alcuni esempi di nome sono:
- Details12.iso
- Contract_1.iso
- Cancellation#2 iso
L’ISO contiene un file LNK, collegamento rapido di Windows, che mostra un’icona familiare di una directory o di un documento che induce la vittima a fare doppio clic su di esso. Inoltre, è presente una cartella nascosta che contiene alcuni payload e la DLL (Dynamic Link Library) di Qakbot, una libreria contenente codice e dati utilizzabili da più di un programma contemporaneamente.
Il file LNK funge da collegamento a cmd.exe che esegue uno script batch (.cmd) presente nella directory nascosta. Nella stessa directory sono anche presenti quattro file (.txt, .cmd, .gif e .dat) e il file LNK che esegue il file .cmd in cui è contenuto il seguente codice:
Lo script batch ha due gruppi di comandi: “set” (righe 4-8) e “call” (riga 10). Il gruppo “set” crea cinque variabili di ambiente e il gruppo “call” esegue una riga di comando offuscata con tutte le variabili di ambiente.
Il malware utilizza una tecnica di mascheramento per evitare i rilevamenti che consiste nel posizionare il file binario regsvr32.exe in una posizione diversa da quella standard, utilizzando replace.exe.
replace C:\Windows\system32\regsvr32.exe C:\Users\Admin\AppData\Local\Temp /A
Il parametro /A copia il nuovo file nella directory richiesta anziché spostare il file esistente. %1 %2 %3 sono gli argomenti che risiedono nella riga di comando LNK. La loro concatenazione, che risulta in regsvr32.exe, verrà eseguita per caricare la DLL di Qakbot in un processo chiamato DLL Injection. La DLL di Qakbot in questo caso è il file “volleyed.dat”.
Invece, nella tecnica sfruttata da Qakbot, che si chiama DLL Injection, si usa una tecnica di Code Injection per eseguire del codice all’interno di un processo forzandolo a caricare una libreria DLL esterna.
Essa viene solitamente eseguita scrivendo il percorso di una DLL nello spazio di memoria del processo target. Questa injection può essere eseguita con chiamate API native di Windows. La DLL di Qakbot prende di mira un processo che verrà scelto da un elenco codificato in base alle soluzioni AV in esecuzione sul sistema compromesso, al fine di eluderle.
Alcuni processi target sono:
- %SystemRoot%\SysWOW64\wermgr.exe (nelle ultime campagne il processo target era: %SystemRoot%\SysWOW64\explorer.exe)
- %SystemRoot%\SysWOW64\mobsync.exe
- %SystemRoot%\SysWOW64\msra.exe
- %SystemRoot%\SysWOW64\OneDriveSetup.exe
- %ProgramFiles(x86)%\Internet Explorer\iexplore.exe
Dopo l’iniezione, Qakbot corrompe il file sul disco sovrascrivendolo, in modo da interferire con i tentativi di analisi forense. A questo punto, il processo Qakbot iniettato esegue comandi di discovery usando processi legittimi di Windows.
Tramite i comandi di discovery si raccolgono informazioni sul sistema compromesso e si inviano le informazioni al server C2. Questa azione serve agli autori del malware per mappare il sistema e sfruttare possibili movimenti laterali. Il meccanismo di persistenza, che qui non verrà approfondito, consiste nello scrivere una chiave di registro sotto (HKCU\Software\Microsoft\Windows\CurrentVersion\Run).
Un’altra delle azioni spesso eseguite dai criminali tramite l’infezione di qakbot è portare all’esecuzione di Mimikatz o Cobalt Strike: la prima funzionalità consente ai criminali di scaricare password e hash NTLM dalla memoria, raccogliere ticket Kerberos ed eseguire un attacco chiamato “Pass the Hash”, per cui i criminali eseguono il movimento laterale e l’escalation dei privilegi.
In conclusione, è stato osservato che l’attacco viene portato avanti direttamente dal criminale che procede ad eseguire un ransomware, portando alle conseguenze che sono note a tutti.
Consigli per difendersi
Il malware Qakbot viene distribuito principalmente tramite campagne di phishing, in cui si fa leva sulla disattenzione degli utenti per spingerli ad aprire gli allegati di posta elettronica. Un clic di troppo può quindi portare a conseguenze molto gravi che dipendono, anche, dal tipo di malware distribuito. Nonostante nel mondo della sicurezza informatica non sia possibile impedire totalmente un’infezione, esistono comunque delle regole di difesa da mettere in pratica contro questo tipo di minacce.
In particolare:
- non scaricare gli allegati proveniente da mittenti sconosciuti;
- è bene prestare attenzione anche se il mittente è conosciuto nel momento in cui vengono condivise delle informazioni non richieste;
- non eseguire file eseguibili (.txt, .cmd, .gif e .dat) allegati alle email, a meno di non essere assolutamente certi della provenienza;
- non abilitare le macro all’interno dei prodotti Office;
- in caso di dubbio, contattare il mittente prima di aprire l’allegato per chiedere ulteriori informazioni.
In caso di dubbi o se sei vittima di un attacco puoi scriverci a sos@cybergon.com.