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

Uno sguardo tecnico alle botnet. Mirai e Qbot sono inviolabili?

Redazione RHC : 4 Agosto 2023 08:33

A cura di: Manuel Roccon e Fernando Curzi (Team hackerhood)

Da marzo 2023, i ricercatori di Palo Alto Networks unit 42 hanno osservato un nuovo malware che prende di mira molteplici vulnerabilità nei dispositivi IoT più diffusi. 

La botnet è sempre la famigerata Mirai e prende come target principalmente dispositivi D-Link, Arris, Zyxel, TP-Link, Tenda, Netgear e MediaTek e li utilizza per eseguire attacchi DDoS. L’elenco dei dispositivi  include router, DVR, sistemi di controllo degli accessi e sistemi di monitoraggio per pannelli solari e altri dispositivi iOT.

I ricercatori durante l’arco del 2023 hanno osservato due campagne portate avanti dai criminali con diverse varianti di questa Botnet, rispettivamente una marzo e l’altra a giugno e i criminali la stanno potenziando integrando all’ interno sempre nuovi exploit.

La US Cybersecurity and Infrastructure Security Agency (CISA) ha aggiunto una CVE critica sfruttata dalla Botnet Mirai recentemente corretta in Zyxel Gear nel suo catalogo KEV (Known Exploited Vulnerabilities).

Tale Vulnerabilità in questione è la CVE-2023-28771 si riferisce a un command injection che interessa diversi modelli di firewall e consente  a un utente malintenzionato non autenticato di eseguire codice arbitrario inviando un payload appositamente predisposto al dispositivo. 

Con la seguente analisi e la verifica di alcuni PoC nella rete, abbiamo portato alla luce alcune lacune tecniche su due botnet più popolari: “Swichware” e “Miori” che si basano sul codice sorgente di Mirai e Qbot altro framework dal quale nasce una  variante molto conosciuta “Qakbot” quest’ ultima utilizzata per distribuire sui sistemi target i ransomnware peggiori, per maggiori informazioni date un occhiata all’articolo di Red Hot Cyber.

Spesso chi gestisce queste reti durante le varie personalizzazioni del codice si impegna maggiormente nell’adoperare sistemi anti analysis o anti detection da parte di IDS e IPS, senza dar peso alle vulnerabilità binarie che si potrebbe lasciare alle spalle. Affronteremo un insolito assessment in laboratorio e vedremo che molte volte il copia e incolla di codice e le continue modifiche apportate al malware da parte di Script Kiddies porta sostanzialmente a gravi entry point in questi sistemi criminali.

Il framework Swichware

La prima vulnerabilità che affrontiamo si trova nel comando DDOS dell’ interfaccia di comando di Swichware ed è un RCE post auth. Ciò vuol dire che per l’esecuzione del codice remoto è necessario conoscere le credenziali. 

Dopo aver compilato e configurato la botnet in un’area di laboratorio, eseguiamo il login e utilizziamo il comando DDOS per lanciare subito il nostro payload.

DDOS ATK 1; touch /tmp/hacked #

Possiamo vedere che il comando touch iniettato ha creato nel server che ospita la botnet dei file. La vulnerabilità in questione è scatenata da un carattere di escape (;) inserito nel comando “DDOS” seguito da un secondo comando shell (touch /tmp/hacked), che verrà accodato al primo, vediamo il motivo: 

Quando viene eseguito il comando “DDOS”, IP inserito nel parametro viene passato a una funzione sprintf che compone un comando python che verrà eseguito successivamente dalla shell di Linux tramite la funzione system().

Inviando il comando corretto DDOS ATK xxx.xxx.xxx.xxx output finale eseguito dalla shell sarà questo:

tmux new-session -d 'python attack.py xxx.xxx.xxx.xxx 80 20'

Come possiamo vedere è presente nessun controllo sul input e l’ip viene inserito direttamente nella stringa che verrà eseguita dalla shell di linux.

Per sfruttare questa cosa possiamo usare il carattere “;” dopo IP per poter eseguire un escape e poter agganciare un secondo comando da far eseguire e infine carattere “#” per far considerare commento tutto il codice successivo (# 80 20′).

Per cui inviando il comando:

 DDOS ATK 1; touch \tmp\hacked #

Verrà composto questo comando shell

tmux new-session -d 'python attack.py 1; touch \tmp\hacked # 80 20'

Come possiamo vedere il comando touch \tmp\hacked verrà eseguito successivamente python attack.py 1 e continuerà nell’eseguire il secondo comando creando i vari file nella directory tmp. Abbiamo anche scritto in un file l’utente con cui viene eseguito il comando che restituisce l’utente corrente, come possiamo vedere la botnet è stata configurata come root, per cui violandola avremmo anche i pieni poteri sul server.

Abbiamo sostituito in un attimo il comando di escape e come notiamo nello screenshot seguente abbiamo appena aperto una reverse shell nella nostra macchina

La botnet MIORI

Un’altra botnet interessante che girava un po’ di tempo fa è Miori, una copia di Mirai.  In questo caso la Vulnerabilità è molto simile a quella di Swichware, ma molto più grave in quanto pre-auth.

Il payload questa volta viene inserito direttamente nel nome utente durante l’accesso alla botnet. Nel caso l’accesso non sia corretto viene composta una stringa per scrivere un log contenente il nome utente errato in un file.

Per cui è possibile utilizzare questo nome utente durante l’autenticazione per inviare dei comandi ed eseguire del codice arbitrario.

Effettuando il login con l’username “; touch /tmp/hacked #

Il sistema eseguirà questo:

echo \"\nfailed login with cred --> "; touch /tmp/hacked #:password \n[victems ip] \nip --> ip \n\" >> failed.txt

Grazie al nostro solito escape, verrà eseguito dopo echo il nostro codice (touch /tmp/hacked) senza dover neanche essere autenticati come per l’esempio precedente.

Conclusioni

Questa breve analisi di due varianti diverse di Botnet ci fa capire come vengano copiate e modificate senza prestare attenzione alla loro sicurezza o per mancanza di competenze oppure per gioco, il che fa trapelare molte volte un informazione importante agli analisti di malware ovvero il livello di professionalità di chi gestisce queste reti, non è di certo una novità che uno script kiddies che passa alla funzione system() un parametro vulnerabile al BOF, venga scambiato per un blackhat esperto classe 80′ che fa parte di un’organizzazione criminale Russa.

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.