Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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
2il y a 8 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é

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

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 :

cat /proc/sys/kernel/unprivileged_userns_clone

Sortie attendue :

1

Compilation

gcc exploit.c -o exploit -pthread

Exécution

./exploit

N'utilisez pas sudo.

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

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 :
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