
Exploit semplice per la vulnerabilità Dirty Pipe (CVE-2022-0847) Questo repository contiene un semplice proof of concept (PoC) per la vulnerabilità Dirty Pipe (CVE-2022-0847), che colpisce le versioni del kernel Linux dalla 5.8 alla 5.16. Questo exploit dimostra l'escalation dei privilegi locali sfruttando una gestione impropria dei buffer delle pipe nel kernel.
Questo repository contiene un Proof of Concept (PoC) dello sfruttamento della vulnerabilità Dirty Pipe (CVE-2022-0847), che interessa le versioni del kernel Linux dalla 5.8 alla 5.16. Tale vulnerabilità consente l'escalation dei privilegi locali sfruttando una gestione impropria dei buffer delle pipe nel kernel, permettendo a un attaccante di modificare file di sola lettura (come i binari SUID) ed eseguire codice arbitrario con privilegi elevati.
La vulnerabilità Dirty Pipe è un problema critico riscontrato nelle versioni del kernel Linux comprese tra la 5.8 e la 5.16. Consente l'escalation dei privilegi locali sfruttando una gestione impropria dei buffer delle pipe nel kernel. Questa vulnerabilità può essere innescata scrivendo su un file di sola lettura (come binari SUID), portando all'esecuzione di codice arbitrario e potenzialmente a una shell root sul sistema compromesso.
Per compilare l'exploit, esegui il seguente comando:
gcc dirtypipe.c -Wall -O2 -fno-pie -no-pie -o dirtypipe
Note:
Assicurati che il binario SUID bersaglio sia sfruttabile e si trovi in un percorso accessibile dall'utente che esegue l'exploit.
Il sistema deve eseguire una versione vulnerabile del kernel Linux (5.8 - 5.16).
L'exploit include un meccanismo anti-debug per impedire il rilevamento da parte di strumenti di debugging come gdb. Se l'exploit rileva la presenza di un debugger, termina anticipatamente, rendendo più difficile l'analisi del codice per gli attaccanti.
Come funziona:
L'exploit controlla l'attività di debugging ispezionando /proc/self/status e utilizza chiamate di sistema ptrace per rilevare se il programma è tracciato da un debugger.
Se viene rilevato un debugger, l'exploit interrompe l'esecuzione e termina, rendendo il reverse engineering più complesso.
Questo exploit è fornito esclusivamente a scopo educativo e di ricerca. L'uso non autorizzato di questo exploit è illegale e non etico. Eseguire questo exploit su qualsiasi sistema senza esplicita autorizzazione del proprietario è proibito e potrebbe comportare conseguenze legali.
L'autore non è responsabile per eventuali danni, perdita di dati o conseguenze legali derivanti dall'uso o dall'abuso di questo exploit.