Benvenuto su Hackerpunk — la redazione che segue in diretta frodi digitali, data breach, ransomware e indagini sul crimine informatico. Reportage, timeline degli attacchi e approfondimenti per restare un passo avanti alle minacce.
- La Vulnerabilità in questione è la CVE-2023-28771.
- Https://github.com/BenHays142/CVE-2023-28771-PoC/blob/main/CVE-2023-28771-poc.py.
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 #
(;) 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().
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.
"; 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.


