search feed
Banner Pubblicitario Animato

Ripropongo questo nostro articolo pubblicato su hackerhood https://hackerhood.redhotcyber.com di  Fernando Curzi e Manuel Roccon.

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

Botnet Mirai 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)

La Vulnerabilità in questione è la CVE-2023-28771

Banner Pubblicitario

https://github.com/BenHays142/CVE-2023-28771-PoC/blob/main/CVE-2023-28771-poc.py

con uno score di CVSS: 9.8, il problema 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:

https://www.redhotcyber.com/post/malware-analysis-di-qakbot-il-malware-che-distribuisce-il-ransomware-black-basta/

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.

 

SWITCHWARE

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.

Banner Pubblicitario

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

 

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.

 

CONCLUSIONE

Questa breve analisi di due varianti diverse di Botnet ci fa capire come i malware vengano copiati e modificati senza prestare attenzione alla loro sicurezza o per mancanza di competenze o per disinteresse, 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 immesso da riga di comando senza opportuni filtri sugli escape, venga scambiato per un blackhat. Vulnerabilità di questo tipo inoltre potrebbero incidere sul rilevamento dell’identità dell’organizzazione criminale che le gestisce.

 

Seguici anche su:

@INSTAGRAM https://www.instagram.com/hackerpunk2019/
@LINKEDIN https://www.linkedin.com/company/hackerpunk
@FACEBOOK https://www.facebook.com/hackerpunk2019
@EBOOK
https://amzn.to/48exAdf
@EBOOK (English version)
https://amzn.to/4fflbbv
@YOUTUBE https://www.youtube.com/channel/UCiAAq1h_ehRaw3gi09zlRoQ

 

Banner Pubblicitario Animato

Di HPadmin