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-2017-7184 — Exploit de preuve de concept pour une élévation de privilèges locale via CVE-2017-7184, un débordement de pile XFRM netlink du noyau Linux. Démontre l'abus d'espaces de noms et une ROP noyau pour obtenir les droits root sans sudo. | Kitploit
Outils/GitHubGitHub/grish-pradhan/cve-2017-7184
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationApprentissage et ÉducationExploitation de Binaires
GitHubgrish-pradhan/cve-2017-7184

CVE-2017-7184

Exploit de preuve de concept pour une élévation de privilèges locale via CVE-2017-7184, un débordement de pile XFRM netlink du noyau Linux. Démontre l'abus d'espaces de noms et une ROP noyau pour obtenir les droits root sans sudo.

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
Voir le dépôt
il y a 7 moisPas encore vérifié

CVE-2017-7184 – Élévation de privilèges XFRM du noyau Linux (sans sudo)

Aperçu

Ce dépôt contient un exploit de preuve de concept d'élévation de privilèges locale pour CVE-2017-7184, une vulnérabilité du noyau Linux dans le sous-système netlink XFRM (IPsec).

L'exploit démontre comment un utilisateur non privilégié peut obtenir un root réel (UID 0) en :

  1. Créant un espace de noms utilisateur + réseau non privilégié

  2. Obtenant CAP_NET_ADMIN à l'intérieur de l'espace de noms

  3. Déclenchant un débordement de pile du noyau dans le traitement netlink XFRM

  4. Exécutant une chaîne ROP du noyau pour appeler :

    • prepare_kernel_cred(NULL)
    • commit_creds()
  5. Revenant en toute sécurité dans l'espace utilisateur avec tous les privilèges root

Aucun sudo n'est requis.


Détails de la vulnérabilité


Stratégie d'exploitation (haut niveau)

  1. Espace de noms utilisateur non privilégié

    • Utilise unshare(CLONE_NEWUSER | CLONE_NEWNET)
    • Mappe l'utilisateur actuel → UID 0 dans l'espace de noms
    • Accorde CAP_NET_ADMIN sans sudo
  2. Abus de XFRM Netlink

    • Crée un socket NETLINK_XFRM
    • Envoie un message XFRM_MSG_NEWSA malformé
    • Déclenche un débordement de pile du noyau via des attributs surdimensionnés
  3. Exécution de ROP dans le noyau

    • Écrase la pile du noyau
    • Exécute une chaîne ROP contrôlée
    • Élève les identifiants dans le contexte du noyau
  4. Retour à l'espace utilisateur

    • Utilise swapgs; iretq
    • Lance un shell root interactif

Prérequis

  • Noyau Linux vulnérable (testé sur 4.8.0-36-generic)
  • unprivileged_userns_clone = 1
  • Symboles du noyau disponibles ou décalages connus
  • gcc avec le support de pthread

Vérifiez le support des espaces de noms :

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

Sortie attendue :

root@kitploit:~
1

Compilation

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

Exécution

root@kitploit:~
./exploit

N'utilisez pas sudo.

En cas de succès, vous obtiendrez un véritable shell root :

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

Résolution des adresses du noyau

L'exploit tente de :

  1. Divulguer les symboles à partir de /proc/kallsyms

  2. En cas de restriction, se rabattre sur des décalages codés en dur pour :

    • commit_creds
    • prepare_kernel_cred
    • la base du noyau

⚠️ Les gadgets ROP et les décalages sont spécifiques à la version du noyau. Vous devez les ajuster pour d'autres compilations.


Résultats attendus

Exploit entièrement réussi

  • UID = 0
  • GID = 0
  • Shell root interactif

Succès partiel (toujours vulnérable)

  • La création de l'espace de noms fonctionne
  • La création du socket XFRM réussit
  • La charge utile de débordement a été envoyée
  • Crash du noyau ou pas d'élévation de privilèges

Cela confirme tout de même que le système est vulnérable.


Limites

  • Gadgets ROP codés en dur (spécifiques au noyau)
  • Pas de contournement de KASLR au-delà de kallsyms
  • Pas de contournement SMEP/SMAP pour les noyaux durcis
  • Pas fiable sur les noyaux modernes

Atténuation

  • Mettre à jour le noyau vers une version corrigée
  • Désactiver les espaces de noms utilisateur non privilégiés :
root@kitploit:~
sysctl -w kernel.unprivileged_userns_clone=0
  • Activer KASLR, SMEP, SMAP
  • Restreindre les capacités netlink

Avertissement

Ce code est fourni uniquement à des fins éducatives et de recherche en sécurité.

  • Ne l'utilisez pas sur des systèmes que vous ne possédez pas ou que vous n'avez pas la permission de tester
  • L'auteur décline toute responsabilité en cas d'utilisation abusive ou de dommages
  • Destiné à l'apprentissage des techniques d'exploitation du noyau

Références

  • CVE-2017-7184
  • Sous-système XFRM du noyau Linux
  • Élévation de privilèges via les espaces de noms utilisateur
  • Exploitation de ROP du noyau et de commit_creds
Télécharger l’outil
ChampValeur
CVECVE-2017-7184
ComposantNoyau Linux – Netlink XFRM
Type de bugDébordement de pile du noyau
ImpactÉlévation de privilèges locale
Vecteur d'attaqueLocal (utilisateur non privilégié)
Classe d'exploitAbus d'espace de noms + ROP
Première version affectéeNoyaux Linux ≤ 4.8
Corrigé dansCorrectifs du noyau publiés en 2017