Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
cve-2014-0038 — Exploit locale di root per Linux per CVE-2014-0038 | Kitploit
Strumenti/GitHubGitHub/saelo/cve-2014-0038
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitBinary Exploitation
GitHubsaelo/cve-2014-0038

cve-2014-0038

Exploit locale di root per Linux per CVE-2014-0038

Vedi Repository
1994012 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Exploit di root locale per CVE-2014-0038

Bug:

La syscall recvmmsg X86_X32 non sanifica correttamente il puntatore timeout passato dallo spazio utente.

Primitiva dell'exploit:

Passare un puntatore a un indirizzo del kernel come timeout per recvmmsg, se il byte originale a quell'indirizzo è noto, può essere sovrascritto con dati noti. Se il byte meno significativo è 0xff, attendere 255 secondi lo trasformerà in 0x00.

Restrizioni:

Il primo long all'indirizzo passato (tv_sec) deve essere positivo e il secondo long (tv_nsec) deve essere minore di 1000000000.

Panoramica:

Puntare al puntatore a funzione release della struttura ptmx_fops situata nella memoria del kernel non inizializzata (e quindi scrivibile). Azzerare i tre byte più significativi e trasformarlo così in un puntatore a un indirizzo mappabile nello spazio utente. Il puntatore release viene usato perché è seguito da 16 byte 0x00 (quindi tv_nsec è valido). Aprire /dev/ptmx, chiuderlo e godersela.

Non molto elegante, ma dovrebbe essere abbastanza affidabile se i simboli possono essere risolti.

Testato su Ubuntu 13.10

Vedi anche http://blog.includesecurity.com/2014/03/exploit-CVE-2014-0038-x32-recvmmsg-kernel-vulnerablity.html

Esecuzione:

Recuperare gli indirizzi da /proc/kallsyms ed eseguire l'exploit:

root@kitploit:~
./build.sh && ./timeoutpwn

Se si desidera compilare il binario per un server remoto, provare quanto segue:

root@kitploit:~
ssh user@host 'cat /proc/kallsyms' > syms.txt
CFLAGS=-static ./build.sh syms.txt
scp timeoutpwn user@host:
...

Se ptmx_fops non viene trovato in kallsyms, provare a estrarlo dalla vmlinux fornita con il pacchetto headers (linux-headers su Arch Linux):

root@kitploit:~
nm /lib/modules/$(uname -r)/build/vmlinux > syms.txt
Scarica lo strumento