关联漏洞
标题:
polkit 缓冲区错误漏洞
(CVE-2021-4034)
描述:polkit是一个在类 Unix操作系统中控制系统范围权限的组件。通过定义和审核权限规则,实现不同优先级进程间的通讯。 polkit 的 pkexec application存在缓冲区错误漏洞,攻击者可利用该漏洞通过精心设计环境变量诱导pkexec执行任意代码。成功执行攻击后,如果目标计算机上没有权限的用户拥有管理权限,攻击可能会导致本地权限升级。
描述
PoC for cve-2021-4034
介绍
# cve-2021-4034
PoC for cve-2021-4034
Based on the PoC by https://haxx.in: https://haxx.in/files/blasty-vs-pkexec.c. Probably he's https://github.com/blasty?! I don't know.
With a little help from https://github.com/daimoniac
# How to use?
## Compile cve-2021-4034.c
```
gcc -Wall cve-2021-4034.c -o cve-2021-4034-exploit
```
## Execute ansible playbook
**Change variable `hosts` in `asses_CVE-2021-4034.yml` to your usecase!**
```
ansible-playbook -i </path/to/inventory.yml> </path/to/playbooks/>asses_CVE-2021-4034.yml
```
The playbook copies the exploit to the host, executes it and evaluates `whoami` on multiple occasions and checks for "root" as return value of the exploit.
On hosts where the task `Check result of privilege escalation` fails a privilge escalation was successful.
In the play recap hosts which don't have `failed=0` are vulnerable.
# What does it do?
Deep down? I have no idea. Weired memory mashups probably.
What's essential for the operability of this anbible playbook is https://github.com/mike-artemis/cve-2021-4034/blob/main/cve-2021-4034.c#L50. The plain exploit by https://haxx.in/files/blasty-vs-pkexec.c only opens a root-shell and the ansible playbook is stuck in it.
Changing the payload of the exploit to
```
" static char *a_argv[] = { \"bash\", \"-c\", \"whoami\", NULL };\n"
```
return the current user. The playbook checks the user for privilege escalation and fails the playbook if it happened.
文件快照
[4.0K] /data/pocs/5f9d3580cfe755ee6dfdfb3b28628053e6785c2f
├── [1.4K] asses_CVE-2021-4034.yml
├── [2.3K] cve-2021-4034.c
└── [1.4K] README.md
0 directories, 3 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。