
Scripted Linux Privilege Escalation for the CVE-2022-0847 "Dirty Pipe" vulnerability

Script Bash pour vérifier et exploiter la vulnérabilité CVE-2022-0847 « Dirty Pipe » de Linux
Ce script permet à un utilisateur non privilégié sur un système vulnérable de faire ce qui suit :
Ce dépôt contient 2 exploits :
Remplace le mot de passe root par le mot de passe "piped" et sauvegarde le fichier original /etc/passwd sous /tmp/passwd.bak. Ensuite, l'exploit vous donne accès à un shell root élevé et restaure le fichier passwd original lorsque vous quittez le shell.

Injecte et écrase des données dans la mémoire en lecture seule des processus SUID qui s'exécutent en tant que root.

Clonez ce dépôt et placez-vous dans le répertoire de travail
git clone https://github.com/rexpository/linux-privilege-escalation.git
cd linux-privilege-escalation
Vérifiez si le système cible actuel est vulnérable
./check.sh
Installez GCC pour compiler l'exploit
sudo apt-get install gcc
Compilez et exécutez le script bash pour automatiser la compilation des deux exploits
chmod +x compile.sh
./compile.sh
Exécutez le binaire d'exploit souhaité
./exploit-1
ou
./exploit-2 /usr/bin/sudo
Cette vulnérabilité réside dans l'outil pipe utilisé pour la communication unidirectionnelle entre processus, d'où le nom "Dirty Pipe".
Un utilisateur local non privilégié pourrait exploiter cette vulnérabilité pour écraser des fichiers supposés en lecture seule dans le noyau Linux et ainsi élever ses privilèges sur le système.
Cette vulnérabilité se produit en raison de l'utilisation d'une mémoire partiellement non initialisée de la structure du tampon pipe lors de sa construction. L'absence d'initialisation à zéro du membre de la nouvelle structure entraîne une valeur obsolète de flags, qui peut être abusée par un attaquant pour obtenir un accès en écriture aux pages du cache même si elles étaient initialement marquées avec un attribut read-only.
Pour garantir que votre infrastructure est protégée contre cette menace et des menaces similaires :