Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
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
Strumenti/GitHubGitHub/neuschaefer/cve-2016-0728-testbed
Analisi delle VulnerabilitàExploitApprendimento e FormazioneBinary Exploitation
GitHubneuschaefer/cve-2016-0728-testbed

cve-2016-0728-testbed

Un testbed per CVE-2016-0728, un bug di leak/overflow del refcount in Linux

Vedi Repository
511110 anni faNon ancora revisionato

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

Banco di prova CVE-2016-0728

Questa repository contiene un programma di test per CVE-2016-0728, un bug di refcount leak e overflow in Linux, che porta a un use-after-free.

Il bug è stato trovato e spiegato da Perception Point. Non sono affiliato a loro.

Utilizzo

Welcome to the CVE-2016-0728 testbed
sizeof(struct msg_msg) == 0x30, sizeof(struct key) == 0xb8

PID: 27673, UID: (1000/1000)
Keyring: 1b66e5d6, "test-1a328d6e"
Usage:   1
Press a key: (f)ork (i)ncref (a)uto-incref (r)evoke (h)eap-spray (s)hell (q)uit

Sul mio sistema di test, una shell di root poteva essere ottenuta nel seguente modo:

  1. Portare il refcount a -2; Se incrementi il refcount troppo spesso, probabilmente manderai in crash il kernel.
  2. Fare fork due volte per farlo overfloware, così il garbage collector delle chiavi libera il keyring
  3. Spargere l'heap con keyring falsi
  4. Chiamare revoke
  5. execl("/bin/sh", "sh", NULL)

Ho trovato utile eseguire watch -n0.1 cat /proc/keys per vedere cosa sta succedendo.

Portabilità

Questo codice è stato testato solo su x86-64, ma dovrebbe funzionare anche su altre architetture, perché non ho usato offset magici, ma ho copiato le definizioni delle strutture dagli header di Linux e ho usato sizeof (eccetto per il fatto che ho hard-codato gli indirizzi di prepare_kernel_cred e commit_creds).

Scarica lo strumento