trinetra-1308/PwnKit-

GitHub: trinetra-1308/PwnKit-

CVE-2021-4034 PwnKit 本地权限提升漏洞的概念验证利用工具,可使 Linux 低权限用户直接获取 root 权限。

Stars: 1 | Forks: 0

# CVE-2021-4034 | PwnKit 本地权限提升

## [+] 免责声明 本仓库严格用于以下目的: - 安全研究 - 教育用途 - 经授权的渗透测试 如果你在未经你拥有或明确获得测试许可的系统上使用本工具,后果自负。 不要因为凌晨3点觉得一个 README 看起来很酷就试图挑战联邦法律底线。 # [>_ ] 什么是 PwnKit? `PwnKit` 是 Polkit 的 `pkexec` 工具中的一个本地权限提升漏洞。 - **CVE:** CVE-2021-4034 - **组件:** `pkexec` - **影响:** 本地用户 → root - **严重性:** 严重 - **公开披露时间:** 2022年1月 - **漏洞存在时长:** 约12年 这段存在漏洞的代码在 Linux 系统中默默潜伏了超过十年。 一个普通的低权限用户可以在不知道任何密码的情况下成为 `root`。 绝对的史诗级大片。 # [>_ ] 漏洞利用流程 ``` ┌─────────────────────────────────────────────────────────────────┐ │ You (regular user) │ │ $ ./pwnkit.sh │ └─────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ 1. Fake gconv module gets created │ │ 2. pkexec gets tricked into loading it │ │ 3. Malicious initialization code executes │ │ 4. Root shell gets spawned │ └─────────────────────────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ # id │ │ uid=0(root) gid=0(root) groups=0(root) │ │ Privilege escalation successful │ └─────────────────────────────────────────────────────────────────┘ ``` # [>_ ] 为何此漏洞如此危险 `pkexec` 被设计为安全地以其他用户身份执行命令。 然而: - 无需绕过身份验证 - 无需内存破坏 - 无需内核漏洞利用 - 无需竞争条件 只需在本地执行载荷,就能像领取支线任务奖励一样轻松获得 root 权限。 # [>_ ] 前置条件 最低配置要求。 ### 所需条件 - Linux 目标系统 - 存在漏洞的 `pkexec` - `gcc` # [>_ ] 安装 GCC ## Debian / Ubuntu ``` sudo apt update sudo apt install gcc -y ``` ## Fedora / RHEL / CentOS ``` sudo dnf install gcc -y ``` ## Arch Linux ``` sudo pacman -S gcc ``` # [>_ ] 检测漏洞 ``` pkexec --version ``` 大多数存在漏洞的系统包含较旧且未打补丁的 Polkit 版本。 # [>_ ] 安装 ## 一行命令 ``` curl -sSL https://raw.githubusercontent.com/yourusername/CVE-2021-4034-PwnKit-Exploit/main/pwnkit.sh | bash ``` ## 手动安装 ``` # 克隆仓库 git clone https://github.com/trinetra-1308/PwnKit-.git # 进入目录 cd PwnKit-/ # 设置可执行权限 chmod +x pwnkit.sh # 运行 exploit ./pwnkit.sh ``` # [>_ ] 示例输出 ``` $ ./pwnkit.sh [!] CVE-2021-4034 - PwnKit [!] For educational and authorized testing only [+] Found pkexec binary [+] Preparing payload [+] Compiling exploit [+] Triggering vulnerability [*] Attempting privilege escalation... # whoami root # id uid=0(root) gid=0(root) groups=0(root) # hostname target-machine # exit $ ``` # [>_ ] 检测与缓解 ## 检查 SUID 位 ``` ls -l /usr/bin/pkexec ``` 存在漏洞的系统通常显示: ``` -rwsr-xr-x ``` `s` 表示该二进制文件以 root 权限运行。 ## 临时缓解措施 ``` chmod 0755 /usr/bin/pkexec ``` 这将移除 SUID 位并阻止漏洞利用。 # [>_ ] 参考资料 - [Qualys Research](https://blog.qualys.com/vulnerabilities-threat-research/2022/01/25/pwnkit-local-privilege-escalation-vulnerability-discovered-in-polkits-pkexec-cve-2021-4034) - [NIST NVD](https://nvd.nist.gov/vuln/detail/cve-2021-4034) # [>_ ] 结语 PwnKit 之所以成为传奇,是因为它证明了一件可怕的事情: 有时候最致命的漏洞并不隐藏在复杂的内核利用链中。 有时候它们只是静静地待在某个默认的 Linux 组件里长达十二年,等待有人注意到那个被诅咒的 `argc` 边界情况。 那一周,Linux 管理员们集体老了五岁。
标签:Cutter, CVE-2021-4034, pkexec, Polkit, PwnKit, Web报告查看器, 事件响应, 威胁模拟, 安全漏洞, 客户端加密, 开放策略代理, 授权渗透测试, 提权漏洞, 教育用途, 本地权限提升