Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca

Malware analysis di Qakbot, il malware che distribuisce il ransomware Black Basta

Redazione RHC : 21 Luglio 2023 22:22

Autore: Fabio Pensa –  SOC Analyst & Malware Reverse Engineer at Swascan

Il malware sample di Qakbot preso in considerazione in questo articolo è identificato dall’hash b9dd2d79e9b78f0d3f439c302f19b0bbec463f135701ab2ea99c27f48fa2eb1a. L’obiettivo principale di questa tipologia di malware, scoperta nel 2008, è il furto di credenziali delle vittime.

Nonostante la longevità di tale minacce, la loro diffusione è tornata in auge soprattutto nel corso del 2021. Dal momento che Qakbot effettua anche tasks di Remote Code Execution, tra i suoi obiettivi vi è anche la distribuzione di ulteriori malware, soprattutto ransomware. Tra i ransomware distribuiti mediante l’utilizzo di Qakbot vi sono REvil, ProLock e Lockbit e, appunto, Black Basta (il caso specifico del presente articolo).

Qakbot è stato costantemente aggiornato con nuove peculiarità, nello specifico nel 2015 sono state rilasciate nuove versioni aggiornate, nel 2020 il threat landscape ha visto un incremento significativo del 465 %. Nel 2021 vi è stata una grande compromissione dell’azienda americana di lavorazione della carne JBS, richiedendo un riscatto di 11 milioni di dollari [1].

È del tutto probabile che nuovi threats model futuri si approccino alla seguente metodologia di infection kill chain: initial phase per ottenere un accesso all’infrastruttura target mediante threats, i quali adottano metodi sempre più mirati all’offuscazione, strings encryption ed encoding al fine di disporre in modo sempre più marcato tasks di evasion e bypassing anche per quanto riguarda un’analisi statica e malware assessment.

Inoltre, un’altra tecnica adottata potrebbe essere l’API hiding, utilizzabile al fine di nascondere le funzioni impiegate e richiamate all’interno del contesto di esecuzione degli stessi, con lo scopo di disporre una metodologia di anti-analysis in ambito di malware debugging e dynamic analysis.

Qakbot provvede al furto delle credenziali e tale peculiarità è fondamentale anche in termini di threat intelligence e dark web hunting in quanto le stesse, sottratte da infrastrutture vulnerabili e divenute target da parte dei threats, possono essere oggetto di compravendita sul mercato nero, solitamente mediante forums privati che richiedono una validazione dell’account per accedervi.

Naturalmente ciò può semplificare l’accesso illecito ad infrastrutture vulnerabili comportando consequenzialmente una compromissione da ransomware. Questo rende possibile un attacco, non solo da parte di ransomware gangs e gruppi di malware authors specializzati, ma anche di semplici cybercrime users registrati ai forums sopra citati e che pertanto possono provvedere ad effettuare un primo accesso ad un’infrastruttura specifica identificata, eventualmente anche mediante una fase di port scan preliminare al fine di individuare eventuali porte e servizi critici esposti, per poi procedere con una seconda fase di weaponization ed infine la fase di infezione vera e propria con la compromissione di servers ed hosts critici ed un’eventuale fase di lateral movement invasiva.

Il sample fa uso di metodi d’esecuzione concorrenziali, ovvero mediante l’utilizzo di multithreading esso gestisce in modo più efficace l’esecuzione di threads e le risorse utilizzate, a seguire ad esempio un’evidenza della funzione GetCurrentThreadId.

Di seguito alcune evidenze di funzioni legate alla gestione del registro di sistema, tra cui RegOpenKeyExA, RegCloseKey. Il registro di sistema contiene un insieme di impostazioni ed informazioni ed è spesso utilizzato da malware threats per questo scopo, come ad esempio l’impostazione di avvio automatico con Windows per creare persistenza a bordo macchina.

Qakbot fa uso di funzioni di gestione della tastiera al fine di interagire con gli elementi dell’interfaccia grafica presente:

Vi sono diversi riferimenti a funzioni di connessioni sockets, come ad esempio connect e closesocket:

A seguire un’evidenza contenente riferimenti ad attributi di login, nella fattispecie Username e Password.

La data di compilazione dell’eseguibile risulta essere improbabile: difatti essa è settata al 19 Giugno 1992, mentre il resources stamp risulta essere relativo alla data del 25 Aprile 2015.

Tra gli indicatori più sospetti del malware troviamo la compilazione in Delphi, attributi relativi a networking, file management (che può essere relativo anche alla fase di files stealing e files gathering).

A seguire ulteriori riferimenti associati a Base64 encoding, password management (e stealing) e gestione del registro di sistema:

Di seguito, inoltre, dettagli fondamentali relativi a connessioni verso URLs esterne tramite il modulo UrlMon:

Nella libreria delle risorse sono inclusi anche dettagli che fanno riferimento a diverse immagini presenti all’interno della GUI:

Effettuando una disamina dell’esecuzione del processo in contesto di analisi dinamica, vi sono riferimenti a funzioni di LoadLibrary e LoadDll.

Il modulo malevolo viene quindi caricato durante la sessione di debugging:

Di seguito un dettaglio riferibile all’icona dell’eseguibile, inclusa all’interno delle risorse dello stesso:

Qui i dettagli di caricamento dei componenti grafici del Qakbot (ad esempio LoadBitmapA e LoadIconA).

A seguire ulteriori esecuzioni dinamiche di aperture e chiusure di chiavi di registro:

Nella seguente schermata un’evidenza di process monitoring, ove si evince il dropping e l’utilizzo della libreria ghyphy.dll:

Contestualmente vi sono dettagli di funzioni di LoadLibrary, LdrLoadDll (al fine di caricare moduli specifici):

Di seguito ulteriori riferimenti alle risorse del Qakbot, ovvero immagini contenute all’interno della GUI:

Threat research

Il sample Qakbot contatta l’indirizzo IP malevolo 41.111.118[.]56, registrato da Telecom Algeria.

L’indirizzo e-mail citato all’interno dei dettagli Whois del medesimo è contenuto all’interno di evidenze di data breaches e spam bots.

A seguire ulteriori dettagli in merito al dominio di tale indirizzo e-mail e alcune URLs ad esso associate:

Malware techniques

A seguire un dettaglio inerente alla richiesta POST effettuata dal Qakbot verso l’indirizzo IP malevolo contattato con l’attributo della variabile lpszObjectName posto a “/t5”:

Per quanto riguarda invece l’accesso al registro di sistema durante la cyber kill chain è possibile identificare la chiave Software\\Microsoft\\Fdircmnenyyey con il valore 3665b42c:

Il threat effettua tasks di strings encryption e decryption al fine di disporre operazioni di evasion ed anti-analysis. Tra le stringhe ottenibili vi sono numerosi comandi di infection: comandi PowerShell offuscati, ottenimento di screenshots della macchina compromessa, comandi di ping, accesso a cartelle ProgramData, netstat –nao per ottenere la lista dei processi attualmente in esecuzione con le relative porte utilizzate, connessioni a share di rete con il comando net share, eliminazione di specifici scheduled tasks con il comando schtasks.exe /Delete /F /TN %u.

Qui di seguito numerosi riferimenti di aggiunta ad esclusioni di Windows Defender, raggiro del modulo di Windows Defender SpyNet, queries WMI al fine di enumerare prodotti Antivirus attualmente installati a bordo macchina.

A seguire un dettaglio relativo ad un’enumerazione di processi inerenti ad analysis e monitoring, tale enumerazione può essere usata dal Qakbot al fine di effettuare un’operazione di evasion di tali tools di monitoraggio.

IOCs:

  • b9dd2d79e9b78f0d3f439c302f19b0bbec463f135701ab2ea99c27f48fa2eb1a
  • c05798268fcde7fbda9305a54389bb79
  • 41.111.118[.]56
  • Software\\Microsoft\\Fdircmnenyyey
  • 3665b42c
  • n[.]djouahra[@]djaweb[.]dz

Regola YARA:

rule QakbotBlackBastaRule

strings: 

$regString = “Fdircmnenyyey”

$regHex = { 46 64 69 72 63 6d 6e 65 6e 79 79 65 79 }

condition: $regString or $regHex 

}

CONCLUSIONI:

Il Qakbot threat sottoposto ad analisi possiede numerose caratteristiche di anti-analysis, string encryption ed encoding, nonché numerosi tasks di evasion. Contestualmente a ciò Qakbot effettua infection routines piuttosto invasive, come ad esempio registry enumeration, keyboard events capturing, socket connections, files stealing e Command and Control connections.

Il fatto che tale minaccia venga utilizzata anche per scopi diversi dalla mera sottrazione di dati e files sensibili dai victim hosts, è grazie alle numerose caratteristiche di evasion sopra citate di cui dispone. È quindi possibile inizializzare compromissioni di diversa portata creando uno scenario di ransomware infection, nel caso specifico da Black Basta Ransomware, il quale non effettua soltanto un’azione di cifratura dei files della vittima ma anche una double extortion: se il pagamento richiesto non viene effettuato, i dati sottratti vengono pubblicati.

Un esempio di utilizzo di un threat Qakbot per effettuare delivery di ransomware può essere quello di sottrarre le credenziali RDP di un server critico di un’infrastruttura e procedere con un’azione di malware implanting e proseguire con l’encryption dei files ed eventualmente la pubblicazione dei dati sottratti.

Date tali considerazioni, non è difficile pensare che in un futuro non molto remoto altri Threat Actors possano realizzare nuovi malware con le stesse tecniche di evasion utilizzate da Qakbot, in grado di effettuare una prima attack phase di infrastructure access e targeting per poi procedere con una seconda fase consequenziale che preveda l’utilizzo di minacce ancora più pericolose e distruttive per l’infrastruttura compromessa.

Riferimenti:

[1] (introduzione in merito a Qakbot malware family): What Is Qakbot? (blackberry.com)

Redazione
La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.