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-Container-Escape — CVE-2022-0847 (Dirty Pipe) utilisé pour réaliser l'évasion de conteneur | Kitploit
Outils/GitHubGitHub/greenhandatsjtu/cve-2022-0847-container-escape
Escalade de PrivilègesSécurité des ConteneursAnalyse des VulnérabilitésExploitationÉvasion de Conteneur
GitHubgreenhandatsjtu/cve-2022-0847-container-escape

CVE-2022-0847-Container-Escape

CVE-2022-0847 (Dirty Pipe) utilisé pour réaliser l'évasion de conteneur

Voir le dépôt

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
3766il y a 4 ansVérifié par Kitploit

CVE-2022-0847

CVE-2022-0847 utilisé pour réaliser une évasion de conteneur (écraser tous les fichiers en lecture seule sur l'hôte)

Diapositives (en chinois) disponibles ici

利用CVE-2022-0847 (Dirty Pipe) 实现容器逃逸(效果为覆写宿主机上任意只读文件)

中文汇报PPT在这里

Introduction

Si le noyau est vulnérable à CVE-2022-0847, l'attaquant peut écraser des fichiers en lecture seule (Non persistant ! Visitez https://dirtypipe.cm4all.com/ pour plus de détails). Cependant, un conteneur ne peut accéder qu'aux fichiers à l'intérieur du conteneur. Heureusement, lorsqu'il dispose de CAP_DAC_READ_SEARCH, l'attaquant peut désormais écraser des fichiers sur l'hôte !

Explanation

Comme l'explique https://dirtypipe.cm4all.com/, pour écraser un fichier en lecture seule, nous devons utiliser splice() sur le tube. Pour utiliser splice(), nous devons d'abord ouvrir le fichier cible avec l'indicateur O_RDONLY pour obtenir un descripteur de fichier.

C'est là que CAP_DAC_READ_SEARCH m'est venu à l'esprit. Selon le manuel Linux, lorsque CAP_DAC_READ_SEARCH est accordé, l'attaquant à l'intérieur du conteneur peut :

  • Contourner les vérifications d'autorisations de lecture de fichiers et les vérifications d'autorisations de lecture et d'exécution de répertoires
  • Invoquer open_by_handle_at(2)

Avec la capacité CAP_DAC_READ_SEARCH, nous pouvons parcourir le système de fichiers de l'hôte et utiliser open_by_handle_at(2) pour ouvrir en lecture seule n'importe quel fichier sur l'hôte depuis le conteneur, en obtenant son descripteur de fichier (Visitez http://stealth.openwall.net/xSports/shocker.c pour plus de détails).

Maintenant que nous avons le descripteur de fichier du fichier cible sur l'hôte, nous pouvons bien sûr utiliser splice() pour envoyer le contenu du fichier cible dans le tube, puis l'écraser !

Usage

root@kitploit:~
cp /etc/password . # back up /etc/password
gcc dp.c -o dp
docker run --rm -it -v $(pwd):/exp --cap-add=CAP_DAC_READ_SEARCH ubuntu
/exp/dp /etc/passwd 1 ootz: # overwrite /etc/password on host from offset 1
/etc/dp /etc/passwd # dump /etc/passwd on host

Exemple

Tout d'abord, créez un fichier en lecture seule /home/vagrant/flag.txt par l'utilisateur root sur l'hôte, dont le contenu est hello world :

Ensuite, démarrez un conteneur avec la capacité CAP_DAC_READ_SEARCH, essayez d'abord de vider /home/vagrant/flag.txt sur l'hôte, nous obtenons hello world :

puis essayez d'écraser le fichier cible à partir du décalage 1 avec le contenu abcdefghij :

vide à nouveau le fichier cible, maintenant le contenu est habcdefghij ! Quittez le conteneur et vérifiez /home/vagrant/flag.txt sur l'hôte, son contenu est habcdefghij.

Oui, nous venons d'écraser un fichier sur l'hôte depuis le conteneur !

Crédits

  • https://dirtypipe.cm4all.com/
  • http://stealth.openwall.net/xSports/shocker.c
Télécharger l’outil