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-2021-3156-Baron-Samedit — Un simple laboratoire Docker et une configuration d'exploit pour CVE-2021-3156 - "Baron Samedit". | Kitploit
Outils/GitHubGitHub/theleopard65/cve-2021-3156-baron-samedit
Escalade de PrivilègesSécurité des ConteneursAnalyse des VulnérabilitésExploitationShellcodeApprentissage et ÉducationExploitation de BinairesLabs et Pratique

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
GitHub
theleopard65/cve-2021-3156-baron-samedit

CVE-2021-3156-Baron-Samedit

Un simple laboratoire Docker et une configuration d'exploit pour CVE-2021-3156 - "Baron Samedit".

Voir le dépôt
111il y a 6 moisPas encore vérifié

CVE-2021-3156 - "Baron Samedit" Laboratoire & Exploit

Ce dépôt fournit un environnement autonome et éducatif pour comprendre et exploiter CVE-2021-3156, un débordement de tampon basé sur le tas dans sudo permettant à tout utilisateur non privilégié d’obtenir les privilèges root sur des systèmes vulnérables (versions de sudo antérieures à 1.9.5p2).

Ce matériel est destiné uniquement à la formation en sécurité et à la recherche autorisées.

Une utilisation non autorisée/non éthique contre des systèmes qui ne vous appartiennent pas est illégale.

Contenu du dépôt

  • Dockerfile - Construit un conteneur Ubuntu 20.04 avec sudo 1.8.31 (vulnérable)
  • exploit.c - Charge utile principale de l'exploit (adaptée pour Ubuntu 20.04)
  • shellcode.c - Constructeur de bibliothèque partagée qui lance un shell root
  • Makefile - Compile l'exploit et la bibliothèque malveillante

Pour commencer

Prérequis

  • Docker (ou Docker Engine)
  • Connaissances de base du langage C
  • Connaissances de base de Make
  • Utilisation des outils en ligne de commande

Construction et exécution du laboratoire

  1. Clonez ce dépôt :
git clone https://github.com/Theleopard65/CVE-2021-3156-Baron-Samedit.git
cd CVE-2021-3156-Baron-Samedit
  1. Construisez l'image Docker :
docker build -t cve-2021-3156-lab .
  1. Lancez le conteneur :
    • Vous serez connecté en tant qu'utilisateur poc à l'intérieur du conteneur.
    • Le répertoire de travail est /home/exploit, qui contient déjà les fichiers sources.
docker run -it --rm --name baron_samedit_lab cve-2021-3156-lab

Compilation et exécution de l'exploit

  • À l'intérieur du conteneur, l'exploit est déjà compilé par le processus de construction Docker. Pour l'exécuter manuellement :
cd /home/exploit
./exploit

En cas de succès, vous devriez voir une invite de shell root (#). L'exploit écrase la structure service_user dans le tas de sudo et la force à charger la bibliothèque malveillante libnss_x/x.so.2, dont le constructeur exécute le shellcode.

Compilation manuelle (si nécessaire)

  • Pour recompiler :
make clean && make

Ceci crée :

  • exploit - le binaire principal de l'exploit
  • libnss_x/x.so.2 - la bibliothèque partagée malveillante

Comment fonctionne l'exploit

CVE-2021-3156 est un débordement basé sur le tas dans la gestion des arguments de ligne de commande de sudoedit. En fournissant un tampon spécialement conçu et des variables d'environnement, un attaquant peut écraser une structure service_user sur le tas. Cette structure contient un pointeur de fonction qui, une fois détourné, peut être amené à pointer vers une bibliothèque malveillante chargée via le mécanisme NSS (Name Service Switch). Le constructeur de la bibliothèque exécute alors du code arbitraire avec les privilèges root.

Cet exploit :

  1. Alloue un grand tampon (buf) pour déclencher le débordement.
  2. Utilise les variables d'environnement LC_MESSAGES, LC_TELEPHONE et LC_MEASUREMENT pour façonner la disposition du tas.
  3. Déborde dans la structure service_user de files, remplaçant son nom par un chemin vers notre bibliothèque malveillante (libnss_x/x.so.2).
  4. Le constructeur de la bibliothèque malveillante (dans shellcode.c) exécute setuid(0), setgid(0) et lance un shell root.

Nettoyage

Pour supprimer l'image Docker :

docker rmi cve-2021-3156-lab

Références

  • Avis original de Qualys
  • Preuve de concept de Blasty
  • Entrée NIST NVD pour la CVE

Licence

Ce projet est fourni à des fins éducatives uniquement. Utilisez-le à vos propres risques.

Télécharger l’outil