BumbleBee è un malware già scoperto lo scorso mese di marzo dal Google Threat Analysis Group che lo ha così ribattezzato per via del suo esclusivo e omonimo user agent, utilizzato come parte della comunicazione con il server di comando e controllo (C2): il loader, che pare essere attivamente in fase di sviluppo, viene utilizzato per penetrare nelle reti target allo scopo di svolgere attività di post-exploitation finalizzate al movimento laterale e all’esfiltrazione di dati riservati.
A maggio, inoltre, è stata identificata un’altra variante di BumbleBee che si nascondeva dietro false fatture e induceva le vittime a scaricare ed eseguire ulteriori payload pericolosi.
Si tratta, dunque, di un codice malevolo molto particolare tanto da avere attirato le “attenzioni” degli attori delle minacce associati a BazarLoader, TrickBot e IcedID che sempre più spesso negli ultimi mesi lo hanno utilizzato per portare a termine le loro attività criminali.
È dunque utile analizzarne dettagliatamente la catena d’attacco, dall’infezione iniziale alla compromissione dell’intera rete per acquisire le conoscenze e gli strumenti utili a difendersi.
Indice degli argomenti
Come si diffonde il malware BumbleBee
La diffusione del loader avviene prevalentemente tramite e-mail di spear phishing, con file ISO compressi allegati o link per scaricare archivi compressi da fonti esterne. L’esecuzione iniziale parte dall’utente finale, spinto a decomprimere la cartella compressa, montare un file immagine ISO e cliccare su un file di collegamento Windows (LNK).
A seguito dell’esecuzione iniziale, le attività post-sfruttamento più rilevanti eseguite da BumbleBee sono le tecniche di Privilege Escalation, Reconnaissance e Credential Theft (escalation dei privilegi, riconoscimento e furto di credenziali).
Gli attaccanti che usano BumbleBee impiegano il framework Cobalt Strike durante tutto l’attacco e utilizzano le credenziali così ottenute per accedere all’Active Directory e farne una copia in formato ntds.dit, contenente tutti i dati. Infine, viene sfruttato l’account di un amministratore di dominio per il movimento laterale, per creare account utenti locali ed esfiltrare dati usando il software Rclone.
L’analisi del malware BumbleBee
Concentriamoci, ora, sulle azioni post-sfruttamento, e su tattiche, tecniche e procedure (TTP).
La tabella seguente riporta una sintesi della sequenza delle attività, dalla compromissione iniziale all’esfiltrazione dei dati.
Attività | Tempo |
Accesso iniziale | T0 |
Reconnaissance / nltest, net, whoami | T0 + 30 minuti |
Command and Control / caricamento agente Meterpreter | T0 + 4 ore |
Privilege Escalation / sfruttamento Zerologon | T0 + 4 ore |
Command and Control / esecuzione beacon Cobalt Strike | T0 + 6 ore |
Credential Theft / hive del registro | T0 + 6 ore |
Reconnaissance / adfind, ping, curl | T0 + 6 ore e 30 minuti |
Credential Theft e Privilege Escalation / dump della memoria LSASS con procdump64.exe | T0 + 19 ore |
Credential Theft / esfiltrazione NTDS.dit con privilegi completi Active Directory | T0 + 22 ore |
Lateral Movement / tunnel socks Cobalt Strike (RDP) | T0 + 24 ore |
Data Exfiltration / Rclone | T0 + 3 giorni |
L’accesso iniziale e l’esecuzione
È stato osservato il seguente metodo distributivo per l’invio del malware BumbleBee:
- viene ricevuta un’e-mail di spear phishing contenente una cartella compressa oppure un link a una fonte esterna per scaricare l’archivio compresso.
- L’utente decomprime l’archivio e monta la risultante immagine ISO.
- Il contenuto dell’immagine ISO è un file LNK che esegue il payload BumbleBee al momento dell’interazione dell’utente.
Flusso di infezione tramite BumbleBee.
Gli attaccanti che usano BumbleBee ospitano siti web malevoli che implementano un download drive-by. Per infettare il sistema, un utente finale deve innanzitutto decomprimere manualmente l’archivio contenente il file ISO, montare un’immagine e poi eseguire lo shortcut Windows (LNK).
Il file LNK contiene un comando nascosto che esegue la libreria di collegamento dinamico BumbleBee (DLL) utilizzando il file Living Off the Land Binary (LOLBin) e il file di risposta (.rsp). Il file [nome specifico BumbleBee].rsp contiene il riferimento al BumbleBee DLL.
Passaggi di infezione tramite BumbleBee.
Un utente finale decomprime ed esegue attivamente un file LNK che viene diffuso dagli attaccanti tramite BumbleBee.
Il file Odbcconf.exe carica la libreria di BumbleBee con il nome interno LdrAddx64.dll. L’immagine che segue presenta il contenuto dell’immagine ISO (file DLL, RSP e LNK) per BumbleBee.
Contenuto dell’immagine ISO montata.
La libreria DLL di BumbleBee viene eseguita usando il file odbcconf.exe -f [BumbleBee specific name].rsp nella proprietà target del file LNK. [BumbleBee specific name].rsp contiene il riferimento a [BumbleBee specific name].dll che rappresenta il payload BumbleBee.
Le basi di appoggio del malware BumbleBee
Dopo l’infezione iniziale, BumbleBee inietta codici in più processi, al fine di stabilire potenti basi di appoggio sugli endpoint infettati. Il processo odbcconf.exe crea chiamate Windows Management Instrumentation (WMI) locali al fine di generare nuovi processi.
Ne risulta che i due processi che seguono vengono generati da wmiprivse.exe (Windows Management Instrumentation Provider Service):
- wabmig.exe (tool di importazione dei contatti di Microsoft) con codice agente Meterpreter iniettato (l’agente Meterpreter è un prodotto di sicurezza usato per il penetration testing e fornisce capacità di controllo remoto).
- wab.exe (applicazione rubrica di Microsoft) con un beacon Cobalt Strike iniettato.
BumbleBee mentre sfrutta la WMI per eseguire i file wab.exe e wabmig.exe con codice mobile iniettato.
L’escalation dei privilegi e la distribuzione di Cobalt Strike
BumbleBee esegue l’escalation dei privilegi, caricando un exploit per CVE-2020-1472 (Zerologon) nel file rundll32.exe.
BumbleBee utilizza una tecnica di bypass di User Account Control (UAC) per diffondere tool post-sfruttamento con privilegi elevati sui dispositivi infettati. Questo metodo prevede l’uso del file fodhelper.exe che è un file binario affidabile, in modo che Windows 10 non mostri una finestra UAC quando il file viene lanciato per l’esecuzione.
Bypass dell’UAC tramite l’uso del file fodhelper.exe e iniezione del codice in inlogon.exe.
Il file Fodhelper.exe viene utilizzato per eseguire “cmd.exe” /c rundll32.exe C:\ProgramData\Cisco\[Cobalt strike].dll”,MainProc, dove [Cobalt strike].dll è un beacon del framework Cobalt Strike e MainProc è la funzione esportata da eseguire.
Cobalt Strike è un framework di simulazione degli attacchi il cui scopo principale è fornire assistenza ai “red team”.
Tuttavia, Cobalt Strike viene anche utilizzato attivamente dagli attaccanti per l’esecuzione di attività malevole successive all’intrusione. Cobalt Strike è un framework modulare con una vasta gamma di funzioni utili per gli attaccanti, come l’esecuzione di comandi, process injection e furto di credenziali.
BumbleBee: il furto delle credenziali
Dopo avere ottenuto i privilegi di sistema sul dispositivo infettato, BumbleBee esegue il furto di credenziali usando i due metodi descritti dettagliatamente di seguito.
Il primo metodo utilizzato è il dump della memoria del processo Local Security Authority Subsystem Service (LSASS). Sul dominio di sistemi Windows, i nomi utenti e le password locali sono salvati nello spazio di memoria del processo LSASS. BumbleBee svuota la memoria di questo processo usando il file procdump64.exe per accedere alle informazioni sensibili
BumbleBee mentre svuota la memoria lsass.exe.
Il secondo metodo di furto di credenziali usato dagli attaccanti tramite BumbleBee è l’estrazione dell’hive di registro mediante reg.exe:
- HKLM SAM: il database Security Account Manager (SAM) è il luogo in cui Windows salva le informazioni sugli account degli utenti.
- HKLM Security: Local Security Authority (LSA) salva i login degli utenti e i loro segreti LSA.
- HKLM System: contiene i codici che potrebbero essere usati per criptare/decriptare il segreto LSA e il database SAM.
BumbleBee mentre estrae l’hive di registro.
Tramite BumbleBee, gli attaccanti:
- ottengono dump di registro
- comprimono i dati
- li esfiltrano lungo tutto il tunnel di rete.
BumbleBee mentre esfiltra i dump contenenti credenzial.
Il processo utilizzato dagli attaccanti tramite BumbleBee recupera le credenziali offline, tentando di estrarre le password in chiaro. Il lasso di tempo che trascorre tra il furto delle credenziali e l’attività successiva è di circa 3 ore.
La fase di ricognizione del malware BumbleBee
Una volta gettate basi di appoggio nella rete aziendale, gli attaccanti raccolgono informazioni in modi diversi. Abbiamo osservato attaccanti che usavano tool come nltest, ping, netview, tasklist e Adfind per raccogliere una vasta gamma di informazioni correlate all’azienda. Gli attaccanti raccolgono informazioni come i nomi di dominio, gli utenti, gli host e i controller di dominio.
AdFind (chiamato “af.exe”) è un tool pubblico utilizzato per le query all’Active Directory ed è già stato sfruttato da diversi attaccanti.
BumbleBee mentre esegue diversi comandi di riconoscimento.
Durante la fase di riconoscimento, gli attaccanti BumbleBee hanno contattato oltre 200 indirizzi IP e nomi di dominio all’interno dell’azienda. I più rilevanti sono Microsoft Exchange e i server Windows Server Update Services (WSUS).
La tabella seguente riporta una sintesi dei comandi di riconoscimento osservati dal analisti GSOC di Cybereason.
Comando | Descrizione |
nltest /domain_trusts | Enumera le relazioni trust in un ambiente Windows Active Directory (AD) |
nltest /dclist: | Enumera tutti i controller di dominio all’interno del dominio. |
af.exe -f “(objectcategory=person)” > ad_users.txt | Enumera tutti gli oggetti utente nell’Active Directory e salva l’output in un file. |
af.exe -f “objectcategory=computer” > ad_computers.txt | Enumera tutti gli oggetti computer nell’Active Directory e salva l’output in un file. |
whoami /all | Mostra tutte le informazioni nell’attuale token di accesso, tra cui il nome utente attuale, gli ID di sicurezza (SID), i privilegi e i gruppi a cui appartiene l’utente attuale. |
curl ifconfig[.]me | Recupera l’indirizzo IP pubblicamente visibile del dispositivo, usando un servizio esterno. |
ping {hostname} -n 1 | Enumera gli host live. |
Tasklist /s {IP address} | Enumera un elenco di processi su uno specifico host. |
net user {username} /domain | Forza l’utente di rete all’esecuzione sull’attuale controller di dominio anziché sul computer locale. |
net group “domain admins” /domain | Enumera gli utenti membri del gruppo admin del dominio, come se fosse il Controller di Dominio (DC) designato ad eseguire l’attività di enumerazione. |
net view \\{IP address} /all | Enumera tutti i computer e le risorse condivisi su uno specifico sistema. |
Come avviene il movimento laterale
BumbleBee utilizza un agente Cobalt Strike per il movimento laterale. Possiamo osservare diverse connessioni dal processo agli indirizzi interni su Remote Desktop Protocol (RDP), sulla porta TCP 3389.
Movimento laterale di BumbleBee dall’agente Cobalt Strike.
A seguito del movimento laterale, gli attaccanti restano sulla rete aziendale usando il software di gestione da remoto “anydesk”.
Gli attaccanti BumbleBee mentre utilizzano Anydesk per il movimento laterale.
La compromissione dell’Active Directory
Dopo avere ottenuto un nome utente con privilegi elevati e la sua password, gli attaccanti accedono alla copia Shadow. La copia Shadow è una tecnologia di Microsoft Windows in grado di creare copie di backup o snapshot di file o volumi.
BumbleBee accede ai dispositivi remoti dell’Active Directory usando l’utility “riga di comando” di Windows Management Instrumentation (WMIC) al fine di creare una copia Shadow tramite il comando vssadmin. Nel contempo, gli attaccanti rubano il file ntds.dit dal controller di dominio.
Il file ntds.dit è un database in cui sono salvati i dati dell’Active Directory, tra cui le informazioni su oggetti, gruppi e membership degli utenti. Nel file sono anche salvate le hash delle password per tutti gli utenti del dominio.
BumbleBee crea copie Shadow sul server remoto dell’Active Directory ed esfiltra Ntds.dit.
Di seguito, elenchiamo i comandi correlati al furto di credenziali usati per impossessarsi di privilegi sull’Active Directory:
- wmic /node:”[Active Directory IP address]” /user:”[Compromised user name]” /password:”[Compromised user password]” process call create “cmd /c vssadmin create shadow /for=C: 2>&1”
- wmic /node:”[Active Directory IP address]” /user:”[Compromised user name]” /password:”[Compromised user password]” process call create “cmd /c vssadmin list shadows >> c:\log.txt”
- type \\[Active Directory IP address]\c$\log.txt
- wmic /node:”[Active Directory IP address]” /user:”[Compromised user name]” /password:”[Compromised user password]” process call create “cmd /c copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy635\Windows\NTDS\NTDS.dit c:\ProgramData\nt & copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy635\Windows\System32\config\SYSTEM c:\ProgramData\nt & copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy635\Windows\System32\config\SECURITY c:\ProgramData\nt”
- 7za.exe a -mx3 nt.7z \\[Active Directory IP address]\c$\ProgramData\nt
Al fine di ottenere il massimo dei privilegi sul dominio dell’Active Directory, l’attaccante:
- crea una copia Shadow del volume di file del dispositivo;
- elenca tutte le copie Shadow e salva il risultato in un file;
- copia il database dell’Active Directory (ntds.dit) nonché l’hive di registro contenente le credenziali e i dati sensibili dalla copia Shadow;
- comprime la directory di output a scopo di esfiltrazione.
La creazione dell’account e l’esfiltrazione dei dati
L’attaccante usa un account amministratore di dominio, precedentemente ottenuto, per muoversi lateralmente su diversi sistemi. Dopo il collegamento iniziale, crea un utente locale ed esfiltra i dati usando il software Rclone.
I comandi di creazione dell’utente sono i seguenti:
- net user [nome utente creato dall’attaccante] P@ssw0rd!1 /add
- net localgroup Administrators [nome utente creato dall’attaccante] /add
Creazione di un utente locale ed esfiltrazione dei dati tramite l’uso di rclone.exe.
Il processo rclone.exe trasferisce circa 50 GB di dati a un endpoint con un indirizzo IP tramite porta TCP 22 (SSH), con sede negli Stati Uniti.
Rilevamento e prevenzione del malware BumbleBee
Ecco le raccomandazioni per rilevare le attività malevoli del malware BumbleBee e adottare le necessarie misure di prevenzione:
- gestire con cautela i file scaricati da internet e le e-mail provenienti da fonti esterne;
- effettuare regolarmente il backup dei file in una location remota sicura e gestire un programma di recupero dati; regolari backup dei dati consentono di ripristinarli dopo un eventuale attacco da ransomware;
- usare password sicure, effettuare regolarmente la rotazione delle password e, dove possibile, usare l’autenticazione multifattore;
- rispettare le Best Practices for Securing Active Directory fornite da Microsoft;
Classificazione MITRE ATT&CK di BumbleBee
Tattica | Tecnica o sottotecnica |
TA0001: Initial Access | T1189: Drive-by Compromise |
TA0001: Initial Access | T1566.002: Phishing: Spearphishing Link |
TA0001: Initial Access | T1078: Valid Accounts |
TA0002: Execution | T1204.001: User Execution: Malicious Link |
TA0002: Execution | T1204.002: User Execution: Malicious File |
TA0002: Execution | T1059.003: Command and Scripting Interpreter: Windows Command Shell |
TA0002: Execution | T1047: Windows Management Instrumentation |
TA0004: Privilege Escalation | T1548.002: Abuse Elevation Control Mechanism: Bypass User Account Control |
TA0004: Privilege Escalation | T1068: Exploitation for Privilege Escalation |
TA0005: Defense Evasion | T1036.005: Masquerading: Match Legitimate Name or Location |
TA0005: Defense Evasion | T1055: Process Injection |
TA0005: Defense Evasion | T1218.008: System Binary Proxy Execution: Odbcconf |
TA0005: Defense Evasion | T1218.011: Signed Binary Proxy Execution: Rundll32 |
TA0005: Defense Evasion | T1620: Reflective Code Loading |
TA0006: Credential Access | T1003.001: OS Credential Dumping: LSASS Memory |
TA0006: Credential Access | T1003.002: OS Credential Dumping: Security Account Manager |
TA0006: Credential Access | T1003.003: OS Credential Dumping: NTDS |
TA0006: Credential Access | T1003.004: OS Credential Dumping: LSA Secrets |
TA0007: Discovery | T1018: Remote System Discovery |
TA0007: Discovery | T1033: System Owner/User Discovery |
TA0007: Discovery | T1057: Process Discovery |
TA0007: Discovery | T1082: System Information Discovery |
TA0007: Discovery | T1087: Account Discovery |
TA0009: Collection | T1560.001: Archive Collected Data: Archive via Utility |
TA0009: Collection | T1039: Data from Network Shared Drive |
TA0010: Exfiltration | T1048: Exfiltration Over Alternative Protocol |
Gli indicatori di compromissione (IOC)
Tipo IOC | Valori IOC |
File eseguibili | SHA-1 hash: af.exe (AdFind) – pubblico
|
Indirizzi IP | C2 server:
|