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-2022-0847-Docker — Exploit Docker | Kitploit
Outils/GitHubGitHub/mrchucu1/cve-2022-0847-docker
Escalade de PrivilègesSécurité des ConteneursAnalyse des VulnérabilitésExploitationApprentissage et ÉducationExploitation de BinairesLabs et Pratique
GitHubmrchucu1/cve-2022-0847-docker

CVE-2022-0847-Docker

Exploit Docker

Voir le dépôt
1235il y a 1 anPas encore vérifié

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

Dirty Pipe (CVE-2022-0847) : Une démonstration pratique d'exploitation dans Docker

CVE-2022-0847 Docker C Language

Ce dépôt fournit un environnement Docker autonome et interactif pour démontrer et analyser en toute sécurité la vulnérabilité d'élévation de privilèges « Dirty Pipe ». Il est conçu comme un outil pédagogique permettant aux professionnels de la sécurité de comprendre les mécanismes d'une exploitation critique au niveau du noyau dans un environnement contrôlé.


1. La vulnérabilité expliquée : Qu'est-ce que Dirty Pipe ?

Dirty Pipe était une vulnérabilité critique découverte dans le noyau Linux (affectant les versions à partir de 5.8). Elle permettait à un utilisateur local non privilégié d'écraser des données dans des fichiers en lecture seule arbitraires.

L'impact est sévère : en écrasant un fichier sensible comme /etc/passwd ou un binaire SUID, un attaquant pourrait facilement élever ses privilèges à root, obtenant le contrôle complet du système. Cette vulnérabilité était particulièrement dangereuse car elle contournait les vérifications standard des permissions de fichiers, un contrôle de sécurité fondamental sous Linux.

2. Architecture du projet : Utilisation de Docker pour un laboratoire sécurisé

Ce projet utilise Docker pour créer un environnement sûr, isolé et intentionnellement vulnérable. Cela permet à quiconque d'étudier l'exploit sans risquer sa machine hôte.

Les composants clés sont :

  • Dockerfile : Définit le modèle de notre conteneur vulnérable. Il utilise une image de base plus ancienne (debian:bullseye-20210927-slim) connue pour avoir un noyau sensible à Dirty Pipe, et il automatise le processus de configuration.
  • exploit.c : Le code C qui implémente la logique de l'exploit, basé sur la preuve de concept originale de Max Kellermann.
  • Makefile : Un makefile simple pour compiler le code C en un binaire exécutable dans le conteneur.

3. Démonstration pratique : De l'utilisateur à root

Cette procédure pas à pas vous guidera dans la construction de l'environnement et l'exécution de l'exploit.

Prérequis : Vous devez avoir Docker installé et en cours d'exécution sur votre système.

Étape 1 : Cloner le dépôt

Ouvrez votre terminal et clonez ce projet.

root@kitploit:~
git clone https://github.com/mrchucu1/CVE-2022-0847-Docker.git
cd CVE-2022-0847-Docker

Étape 2 : Construire l'image Docker vulnérable

Utilisez la commande docker build pour créer l'image du conteneur. Le Dockerfile gérera toutes les dépendances et compilera le code de l'exploit.

root@kitploit:~
docker build -t dirty-pipe-demo .

Étape 3 : Exécuter le conteneur et l'exploit

Maintenant, exécutez le conteneur de manière interactive. Le flag --rm garantit que le conteneur est supprimé à la sortie, et -it vous donne un shell interactif.

root@kitploit:~
docker run --rm -it dirty-pipe-demo

Vous serez placé dans un shell à l'intérieur du conteneur en tant qu'utilisateur non privilégié (hacker@...:/$).

Maintenant, exécutez l'exploit précompilé :

root@kitploit:~
# You are currently an unprivileged user.
# Your prompt looks like this: hacker@<container_id>:/$
#
# Now run the exploit...
./exploit

Succès ! L'exploit écrase un binaire SUID pour vous accorder un shell root. Votre invite de terminal passera de $ à #, indiquant que vous avez maintenant les privilèges root.

root@kitploit:~
# The exploit has succeeded.
# Your prompt is now a root shell: # whoami
root
#

4. Enseignements clés en matière de sécurité

Ce projet est plus qu'un simple script ; c'est une démonstration pratique des principes critiques de sécurité pertinents pour mon travail en tant qu'ingénieur en sécurité cloud :

  • Les exploits du noyau contournent la sécurité de la couche applicative : Cela montre que même avec des permissions de fichiers parfaites, une vulnérabilité du noyau peut compromettre l'ensemble du modèle de sécurité d'un système d'exploitation, prouvant que la défense en profondeur est essentielle.
  • La sécurité des conteneurs est la sécurité de l'hôte : Cela fournit une preuve tangible que les conteneurs partagent le noyau de l'hôte. Un exploit du noyau exécuté dans un conteneur peut conduire à une évasion complète et compromettre la machine hôte. Cela souligne l'importance d'utiliser des profils seccomp, gVisor ou des systèmes d'exploitation optimisés pour les conteneurs en production.
  • L'importance cruciale de la gestion des correctifs : C'est un exemple concret de pourquoi les mises à jour opportunes du noyau sont une pratique de sécurité non négociable dans tout environnement de production, en particulier sur les hôtes de conteneurs.
  • Comprendre la surface d'attaque : En construisant l'environnement d'exploitation, j'ai acquis une meilleure appréciation de la façon dont les attaquants analysent les systèmes et exploitent des failles apparemment mineures dans la gestion de la mémoire (comme les pipes et les caches de pages) pour obtenir une compromission totale du système.

Avertissement

Ce projet et son code sont destinés à des fins éducatives et de recherche uniquement. N'essayez pas d'utiliser cet exploit sur un système pour lequel vous n'avez pas d'autorisation explicite et autorisée.

Télécharger l’outil