Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-31431 — # Exploit d'élévation de privilèges du noyau pour CVE-2026-31431 Exploit d'élévation de privilèges du noyau pour CVE-2026-31431, abusant de l'interface AF_ALG pour écraser /bin/su et lancer un shell root. Inclut une implémentation en C et un guide de dépannage. | Kitploit
Outils/GitHubGitHub/0xshe/cve-2026-31431
Escalade de PrivilègesFrameworks d'ExploitationExploitationApprentissage et ÉducationExploitation de Binaires
GitHub0xshe/cve-2026-31431

CVE-2026-31431

# Exploit d'élévation de privilèges du noyau pour CVE-2026-31431 Exploit d'élévation de privilèges du noyau pour CVE-2026-31431, abusant de l'interface AF_ALG pour écraser /bin/su et lancer un shell root. Inclut une implémentation en C et un guide de dépannage.

Voir le dépôt
4020il y a 3 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Auteur : 0xShe

Langue / 语言

  • 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

Guide de l'outil d'élévation de privilèges du noyau CVE-2026-31431

0x01 Démarrage rapide

Certains environnements cibles n'ont pas Python installé, c'est pourquoi cette logique d'élévation de privilèges a été réécrite en C.

  1. Compilation

Exécutez la commande suivante sur votre machine Linux ou WSL (l'utilisation de -static est recommandée pour éviter les problèmes de version GLIBC) :

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

2. Déploiement et exécution

Téléversez le binaire généré sur la machine cible :

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

Si l'exploit réussit, le programme exécutera automatiquement su et lancera directement un shell root sans demander de mot de passe.


0x02 Logique d'élévation de privilèges : comment cela fonctionne-t-il ?

Cet exploit abuse d'une faille logique dans l'interface AF_ALG du noyau Linux (API cryptographique du noyau).

  1. Créer un socket cryptographique Le programme crée un socket AEAD (Authenticated Encryption with Associated Data) en utilisant socket(AF_ALG, ...).

  2. Injection mémoire (Splice) En exploitant l'appel système splice de Linux, les données d'un descripteur de fichier (en l'occurrence /bin/su) peuvent être directement redirigées vers le tampon cryptographique du noyau.

  3. Écrasement de la charge utile En utilisant des décalages mémoire spécifiques, l'exploit remplace une partie de la logique d'authentification de /bin/su par une charge utile d'élévation de privilèges (un programme ELF minimal qui lance /bin/sh).

  4. Déclenchement de l'élévation de privilèges Une fois que le noyau a terminé la série d'opérations cryptographiques, le processus su en mémoire a déjà été altéré. Lorsque system("su") est finalement exécuté, le système lance en réalité la charge utile modifiée du shell root à la place.


0x03 Guide de dépannage : pourquoi demande-t-il toujours un mot de passe ?

Lors du débogage, si le programme affiche Exploit finished mais que l'exécution de su demande toujours un mot de passe, le problème est généralement causé par l'un des détails suivants.

  1. L'indicateur critique MSG_MORE

C'est le point de défaillance le plus courant. L'appel sendmsg doit inclure l'indicateur MSG_MORE.

  • Raison : Cet indicateur signale au noyau que d'autres données arrivent et empêche le tampon cryptographique d'être finalisé trop tôt.

  • Conséquence : Sans cet indicateur, le noyau ferme immédiatement le contexte cryptographique actuel. Par conséquent, l'injection splice suivante ne peut pas entrer dans le bon tampon du noyau, rendant l'écrasement impossible.

  1. Longueur des données associées (Assoclen)

Le noyau est extrêmement strict concernant l'alignement et les contrôles de longueur pour les données associées AEAD.

  • Piège : Si ASSOCLEN dans le code C est défini sur 4 octets alors que le noyau attend 8 octets (ou vice versa), le noyau peut soit renvoyer une erreur d'argument invalide, soit ignorer silencieusement toute la logique d'injection.
  1. Réinitialisation du décalage de fichier

Pendant la boucle qui modifie /bin/su, chaque opération splice doit commencer la lecture au décalage 0.

  • Piège : Si off_su n'est pas explicitement réinitialisé à 0, splice se comporte comme read() et continue d'avancer le pointeur de fichier. À la deuxième itération, les données injectées deviennent désalignées, ce qui peut corrompre su ou casser la logique de l'exploit.
  1. Correctifs du noyau

Certains systèmes peuvent déjà avoir reçu des correctifs de sécurité silencieux. Cela a été confirmé lors de tests sur plusieurs machines — certaines cibles avaient déjà reçu des correctifs non officiels ou rétroportés.


0x04 Remarques

  • Version du noyau : Cette vulnérabilité affecte principalement les premiers noyaux Linux 5.x (comme la version initiale d'Ubuntu 20.04). Si le noyau a déjà été corrigé, cette méthode ne fonctionnera plus.

  • Différences de chemins : Différentes distributions Linux peuvent stocker su à différents emplacements (/bin/su ou /usr/bin/su). Le code tente de détecter automatiquement le bon chemin, mais si aucun des deux n'existe, vérifiez manuellement avec which su et modifiez le code en conséquence.

  • Avertissement : Cet article est destiné strictement à la recherche technique et à des fins éducatives. Ne l'utilisez pas pour des activités illégales. Les utilisateurs sont seuls responsables de toute conséquence juridique résultant d'une mauvaise utilisation de l'outil.

Télécharger l’outil