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-2017-7184 — Exploit proof-of-concept di escalation dei privilegi locali per CVE-2017-7184, un overflow dello stack netlink XFRM del kernel Linux. Dimostra l'abuso dei namespace e il ROP del kernel per ottenere i privilegi di root senza sudo. | Kitploit
Strumenti/GitHubGitHub/grish-pradhan/cve-2017-7184
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitApprendimento e FormazioneBinary Exploitation
GitHubgrish-pradhan/cve-2017-7184

CVE-2017-7184

Exploit proof-of-concept di escalation dei privilegi locali per CVE-2017-7184, un overflow dello stack netlink XFRM del kernel Linux. Dimostra l'abuso dei namespace e il ROP del kernel per ottenere i privilegi di root senza sudo.

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
Vedi Repository
7 mesi faNon ancora revisionato

CVE-2017-7184 – Escalation dei privilegi nel kernel Linux XFRM (senza sudo)

Panoramica

Questo repository contiene un exploit proof-of-concept di escalation locale dei privilegi per CVE-2017-7184, una vulnerabilità del kernel Linux nel sottosistema netlink XFRM (IPsec).

L'exploit dimostra come un utente non privilegiato possa ottenere root reale (UID 0) tramite:

  1. Creando un namespace utente + di rete non privilegiato

  2. Ottenendo CAP_NET_ADMIN all'interno del namespace

  3. Attivando uno stack overflow del kernel nella gestione netlink XFRM

  4. Eseguendo una catena ROP nel kernel per chiamare:

    • prepare_kernel_cred(NULL)
    • commit_creds()
  5. Ritornando in modo sicuro in userland con pieni privilegi di root

Non è richiesto sudo.


Dettagli della vulnerabilità


Strategia di sfruttamento (livello alto)

  1. Namespace utente non privilegiato

    • Usa unshare(CLONE_NEWUSER | CLONE_NEWNET)
    • Mappa l'utente corrente → UID 0 all'interno del namespace
    • Concede CAP_NET_ADMIN senza sudo
  2. Abuso di XFRM Netlink

    • Crea un socket NETLINK_XFRM
    • Invia un messaggio XFRM_MSG_NEWSA malformato
    • Attiva uno stack overflow del kernel tramite attributi sovradimensionati
  3. Esecuzione ROP nel kernel

    • Sovrascrive lo stack del kernel
    • Esegue una catena ROP controllata
    • Eleva le credenziali nel contesto del kernel
  4. Ritorno in userland

    • Usa swapgs; iretq
    • Avvia una shell root interattiva

Requisiti

  • Kernel Linux vulnerabile (testato su 4.8.0-36-generic)
  • unprivileged_userns_clone = 1
  • Simboli del kernel disponibili o offset noti
  • gcc con supporto pthread

Verifica del supporto ai namespace:

root@kitploit:~
cat /proc/sys/kernel/unprivileged_userns_clone

Output atteso:

root@kitploit:~
1

Compilazione

root@kitploit:~
gcc exploit.c -o exploit -pthread

Esecuzione

root@kitploit:~
./exploit

Non usare sudo.

Se l'operazione riesce, otterrai una shell di root reale:

root@kitploit:~
uid=0(root) gid=0(root) groups=0(root)

Risoluzione degli indirizzi del kernel

L'exploit tenta di:

  1. Estrarre i simboli da /proc/kallsyms

  2. Se limitato, ripiega su offset hardcoded per:

    • commit_creds
    • prepare_kernel_cred
    • base del kernel

⚠️ I gadget ROP e gli offset sono specifici per la versione del kernel. Devi adattarli per altre build.


Risultati attesi

Exploit completamente riuscito

  • UID = 0
  • GID = 0
  • Shell root interattiva

Successo parziale (ancora vulnerabile)

  • La creazione del namespace funziona
  • La creazione del socket XFRM riesce
  • Payload di overflow inviato
  • Crash del kernel o nessuna escalation dei privilegi

Questo conferma comunque che il sistema è vulnerabile.


Limitazioni

  • Gadget ROP hardcoded (specifici del kernel)
  • Nessun bypass di KASLR oltre a kallsyms
  • Nessun bypass di SMEP/SMAP per kernel induriti
  • Non affidabile sui kernel moderni

Mitigazione

  • Aggiorna il kernel alla versione patchata
  • Disabilita i namespace utente non privilegiati:
root@kitploit:~
sysctl -w kernel.unprivileged_userns_clone=0
  • Abilita KASLR, SMEP, SMAP
  • Limita le capacità netlink

Esclusione di responsabilità

Questo codice è fornito solo a scopo educativo e di ricerca sulla sicurezza.

  • Non usarlo su sistemi che non possiedi o per i quali non hai il permesso di testare
  • L'autore non si assume alcuna responsabilità per un uso improprio o per danni
  • Pensato per apprendere le tecniche di sfruttamento del kernel

Riferimenti

  • CVE-2017-7184
  • Sottosistema XFRM del kernel Linux
  • Escalation dei privilegi tramite namespace utente
  • ROP nel kernel e sfruttamento di commit_creds
Scarica lo strumento
CampoValore
CVECVE-2017-7184
ComponenteLinux Kernel – XFRM Netlink
Tipo di bugStack overflow del kernel
ImpattoEscalation locale dei privilegi
Vettore di attaccoLocale (utente non privilegiato)
Classe di exploitAbuso dei namespace + ROP
Prime versioni affetteKernel Linux ≤ 4.8
Corretto inPatch del kernel rilasciate nel 2017