
Skriptbasierte Linux-Privilegieneskalation für die CVE-2022-0847 „Dirty Pipe“-Sicherheitslücke

Bash-Skript zur Überprüfung und Ausnutzung der Linux-Schwachstelle CVE-2022-0847 „Dirty Pipe“
Dieses Skript ermöglicht einem unprivilegierten Benutzer auf einem verwundbaren System Folgendes:
Dieses Repository enthält 2 Exploits:
Ersetzt das Root-Passwort durch das Passwort „piped“ und sichert die ursprüngliche /etc/passwd-Datei unter /tmp/passwd.bak. Anschließend gewährt Ihnen der Exploit Zugriff auf eine Root-Shell mit erhöhten Rechten und stellt die ursprüngliche passwd-Datei wieder her, wenn Sie die Shell beenden.

Injiziert und überschreibt Daten im Speicher von schreibgeschützten SUID-Prozessen, die als Root ausgeführt werden.

Klonen Sie dieses Repository und wechseln Sie in das Arbeitsverzeichnis
git clone https://github.com/rexpository/linux-privilege-escalation.git
cd linux-privilege-escalation
Prüfen Sie, ob das aktuelle Zielsystem verwundbar ist
./check.sh
Installieren Sie GCC, um den Exploit zu kompilieren
sudo apt-get install gcc
Kompilieren und führen Sie das Bash-Skript aus, um die Kompilierung beider Exploits zu automatisieren
chmod +x compile.sh
./compile.sh
Führen Sie die gewünschte Exploit-Binärdatei aus
./exploit-1
oder
./exploit-2 /usr/bin/sudo
Diese Schwachstelle befindet sich im pipe-Tool, das für die unidirektionale Kommunikation zwischen Prozessen verwendet wird, daher der Name „Dirty Pipe“.
Ein unprivilegierter lokaler Benutzer könnte diese Schwachstelle ausnutzen, um vermeintlich schreibgeschützte Dateien im Linux-Kernel zu überschreiben und auf diese Weise seine Privilegien auf dem System zu erweitern.
Diese Schwachstelle tritt aufgrund der Verwendung von teilweise nicht initialisiertem Speicher der pipe-Pufferstruktur während ihrer Konstruktion auf. Das Fehlen einer Null-Initialisierung der Mitglieder der neuen Struktur führt zu einem veralteten Wert von flags, der von einem Angreifer missbraucht werden kann, um Schreibzugriff auf Seiten im Cache zu erlangen, selbst wenn diese ursprünglich mit einem read-only-Attribut markiert waren.
Um sicherzustellen, dass Ihre Infrastruktur vor dieser und ähnlichen Bedrohungen geschützt ist: