
Prueba de concepto del exploit para CVE-2021-4034, una escalada de privilegios local en pkexec de polkit, que demuestra la explotación con simples ayudantes en C y un script de shell.
Los investigadores de Qualys encontraron una vulnerabilidad de escalada de privilegios local bastante interesante
en pkexec de Polkit: informe, tuit. Esta vulnerabilidad
ha estado presente y explotable en las principales distribuciones de Linux durante bastante tiempo.
Se han publicado parches de seguridad, así que decidí escribir un PoC muy simple para
mostrar lo trivial que es explotar esto. El código en este repositorio debería ser realmente
autoexplicativo después de leer el informe enlazado. También gracias a
@Drago1729 por la idea y la ayuda.
Cómo hacerlo:
pkexec, p. ej. de policykit-1 <= 0.105-31 en
los repositorios de Debian o incluso compilada desde el código fuente.
Puedes tenerla instalada localmente o simplemente copiar el ejecutable pkexec solo
directamente en este directorio (asegúrate de que sea ejecutable y setuid root)../expl.sh y disfruta.NOTA: expl.sh primero buscará pkexec en el directorio de trabajo actual,
y luego recurrirá a $PATH. Dado que pkexec suele ser un ejecutable setuid-root,
quizás sea mejor ejecutar esto en una máquina virtual y no en tu máquina, ¿sabes...?
Demo:

Saludos, @mebeim :)