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-2026-31431 — Exploit di escalation dei privilegi del kernel per CVE-2026-31431, che abusa dell'interfaccia AF_ALG per sovrascrivere /bin/su e generare una shell root. Include implementazione in C e guida alla risoluzione dei problemi. | Kitploit
Strumenti/GitHubGitHub/0xshe/cve-2026-31431
Escalation di PrivilegiFramework di ExploitExploitApprendimento e FormazioneBinary Exploitation
GitHub0xshe/cve-2026-31431

CVE-2026-31431

Exploit di escalation dei privilegi del kernel per CVE-2026-31431, che abusa dell'interfaccia AF_ALG per sovrascrivere /bin/su e generare una shell root. Include implementazione in C e guida alla risoluzione dei problemi.

Vedi Repository
40203 mesi 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

Autore: 0xShe

Lingua / 语言

  • English: https://github.com/0xShe/CVE-2026-31431/blob/main/README.md
  • 中文: https://github.com/0xShe/CVE-2026-31431/blob/main/README-CN.md 1

Guida allo strumento di escalation dei privilegi del kernel CVE-2026-31431

0x01 Avvio rapido

Alcuni ambienti target non hanno Python installato, quindi questa logica di escalation dei privilegi è stata riscritta in C.

  1. Compilazione

Esegui il seguente comando sulla tua macchina Linux o WSL (si consiglia di usare -static per evitare problemi di versione GLIBC):

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

2. Distribuzione ed esecuzione

Carica il binario generato sulla macchina target:

root@kitploit:~
chmod +x exploit
./exploit

Se l'exploit ha successo, il programma eseguirà automaticamente su e avvierà direttamente una shell root senza richiedere una password.


0x02 Logica di escalation dei privilegi: come funziona?

Questo exploit abusa di un difetto logico nell'interfaccia AF_ALG del kernel Linux (Kernel Crypto API).

  1. Creare un socket crittografico Il programma crea un socket AEAD (Authenticated Encryption with Associated Data) usando socket(AF_ALG, ...).

  2. Iniezione in memoria (Splice) Sfruttando la chiamata di sistema splice di Linux, i dati da un descrittore di file (in questo caso /bin/su) possono essere reindirizzati direttamente nel buffer crittografico del kernel.

  3. Sovrascrittura del payload Utilizzando specifici offset di memoria, l'exploit sostituisce parte della logica di autenticazione di /bin/su con un payload di escalation dei privilegi (un programma ELF minimale che avvia /bin/sh).

  4. Attivazione dell'escalation dei privilegi Dopo che il kernel completa la serie di operazioni crittografiche, il processo su in memoria è già stato manomesso. Quando system("su") viene infine eseguito, il sistema esegue in realtà il payload della shell root modificato.


0x03 Guida alla risoluzione dei problemi: perché chiede ancora la password?

Durante il debug, se il programma restituisce Exploit finished ma l'esecuzione di su richiede ancora una password, il problema è solitamente causato da uno dei seguenti dettagli.

  1. Il flag critico MSG_MORE

Questo è il punto di errore più comune. La chiamata sendmsg deve includere il flag MSG_MORE.

  • Motivo: Questo flag indica al kernel che stanno arrivando altri dati e impedisce che il buffer crittografico venga finalizzato troppo presto.

  • Conseguenza: Senza questo flag, il kernel chiude immediatamente il contesto crittografico corrente. Di conseguenza, la successiva iniezione splice non può entrare nel buffer corretto del kernel, rendendo la sovrascrittura impossibile.

  1. Lunghezza dei dati associati (Assoclen)

Il kernel è estremamente severo riguardo all'allineamento e ai controlli di lunghezza per i dati associati AEAD.

  • Insidia: Se ASSOCLEN nel codice C è impostato a 4 byte mentre il kernel si aspetta 8 byte (o viceversa), il kernel può generare un errore di argomento non valido o saltare silenziosamente l'intera logica di iniezione.
  1. Reset dell'offset del file

Durante il ciclo che modifica /bin/su, ogni operazione splice deve iniziare la lettura dall'offset 0.

  • Insidia: Se off_su non viene esplicitamente reimpostato a 0, splice si comporta in modo simile a read() e continua ad avanzare il puntatore del file. Alla seconda iterazione, i dati iniettati diventano disallineati, il che può corrompere su o rompere la logica dell'exploit.
  1. Patch del kernel

Alcuni sistemi potrebbero avere già applicate patch di sicurezza silenti. Questo è stato confermato durante i test su più macchine — alcuni target avevano già ricevuto correzioni non ufficiali o backportate.


0x04 Note

  • Versione del kernel: Questa vulnerabilità colpisce principalmente i kernel Linux 5.x iniziali (come la versione iniziale di Ubuntu 20.04). Se il kernel è già stato patchato, questo metodo non funzionerà più.

  • Differenze di percorso: Diverse distribuzioni Linux possono memorizzare su in posizioni diverse (/bin/su o /usr/bin/su). Il codice tenta di rilevare automaticamente il percorso corretto, ma se nessuno dei due esiste, verifica manualmente usando which su e modifica il codice di conseguenza.

  • Disclaimer: Questo articolo è inteso strettamente per scopi di ricerca tecnica e didattici. Non usarlo per attività illegali. Gli utenti sono gli unici responsabili di qualsiasi conseguenza legale derivante dall'uso improprio dello strumento.

Scarica lo strumento