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
Outils/GitHubGitHub/justinye377/ctf-cve-2022-0847
Escalade de PrivilègesExploitationCTFApprentissage et ÉducationExploitation de BinairesLabs et Pratique
GitHubjustinye377/ctf-cve-2022-0847

CTF-CVE-2022-0847

Défi CTF déployant l'exploit CVE-2022-0847 (Dirty Pipe) pour écraser des fichiers en lecture seule. Inclut des scripts de configuration, des indices et une vérification pour la pratique d'exploitation du noyau.

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
12il y a 1 anPas encore vérifié

Déploiement Dirty Pipe

Pour ce défi, vous voulez écraser le fichier en lecture seule cat.txt en utilisant l'exploit CVE-2022-0847. Il existe plusieurs façons de le faire avec l'exploit.

Dépendances

  • Version du noyau Linux 5.8 ou ultérieure (vulnérable)
  • gcc (GNU Compiler Collection) pour compiler le code de l'exploit

Configuration initiale

  1. Mettre en place un environnement vulnérable :
  • Pour les utilisateurs Linux :
    • Utilisez une distribution Linux avec une version du noyau 5.8 ou plus récente, mais inférieure aux versions patchées :
    • Les versions patchées incluent 5.16.11, 5.15.25 et 5.10.102.
    • Vérifiez la version de votre noyau en exécutant : uname -r
    • Si votre noyau est déjà patché, vous devrez peut-être le rétrograder ou utiliser une autre installation Linux correspondant aux critères de vulnérabilité.
  • Pour les utilisateurs Windows :
    • Installez une machine virtuelle :
      • Téléchargez et installez une machine virtuelle comme Oracle VM VirtualBox ou VMware.
    • Téléchargez une distribution Linux vulnérable :
      • Rendez-vous dans les archives de Kali Linux pour télécharger une ancienne version de Kali Linux.
      • Les versions suggérées incluent toute version avec un noyau 5.8 - 5.15 (par exemple, Kali 2021.1).
    • Vous pouvez également utiliser d'autres distributions Linux avec des versions de noyau correspondantes (par exemple, d'anciennes versions d'Ubuntu ou Debian).
  • Configurez la VM :
    • Créez une nouvelle machine virtuelle dans VirtualBox :
    • Allouez au moins 2 Go de RAM et 10 Go d'espace disque.
    • Utilisez le fichier ISO téléchargé pour installer la distribution Linux.
    • Après installation, confirmez la version du noyau en exécutant : uname -r
  • Installez les outils nécessaires :
    • Après avoir configuré l'environnement, assurez-vous que les outils suivants sont installés :
      • gcc : nécessaire pour compiler le code de l'exploit.
      • make : pour construire des projets si besoin.
      • Mettez à jour votre gestionnaire de paquets et installez les outils : sudo apt update sudo apt install gcc make -y

Démarrer le défi

  1. Démarrage : Assurez-vous de vérifier la version du noyau ! Utilisez ce lien GitHub (https://github.com/basharkey/CVE-2022-0847-dirty-pipe-checker.git)

Vérifiez que le fichier cat.txt est un fichier en lecture seule.

Les limitations sont les suivantes : l'attaquant doit avoir les permissions de lecture (car il doit appeler splice() sur une page dans un pipe) le décalage (offset) ne doit pas être sur une limite de page (car au moins un octet de cette page doit avoir été splice() dans le pipe) l'écriture ne doit pas traverser une limite de page (car un nouveau tampon anonyme serait créé pour le reste) le fichier ne peut pas être redimensionné (car le pipe a sa propre gestion de remplissage de page et ne communique pas à la page cache la quantité de données ajoutée)

  1. Déployer l'exploit :
  • Créez un pipe.

  • Remplissez le pipe avec des données arbitraires (pour définir le flag PIPE_BUF_FLAG_CAN_MERGE dans toutes les entrées de l'anneau).

  • Videz le pipe (en laissant le flag activé dans toutes les instances struct pipe_buffer sur l'anneau struct pipe_inode_info).

  • Splicez les données du fichier cible (ouvert avec O_RDONLY) dans le pipe juste avant le décalage cible.

  • Écrivez des données arbitraires dans le pipe ; ces données écraseront la page du fichier mise en cache au lieu de créer une nouvelle struct pipe_buffer anonyme, car PIPE_BUF_FLAG_CAN_MERGE est activé.

  • Écraser le fichier cat.txt, changer I'm a cat 1444 en I'm a dog 2025

  • Utilisez check_cat.sh pour vérifier si cela fonctionne ou non. chmod +x check_cat.sh ./check_cat.sh

Régénération du défi

Utilisez la commande suivante : chmod +x cat_generate.sh ./cat_generate.sh

Publication du défi

Les indices se trouvent dans hints.txt.

Télécharger l’outil