Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
PwnKit — 针对 Polkit Pkexec 漏洞的概念验证:CVE-2021-4034 (Pkexec Local Privilege Escalation) | Kitploit
工具/GitHubGitHub/nosferatuvjr/pwnkit
权限提升漏洞分析漏洞利用渗透测试学习与教育二进制利用
GitHubnosferatuvjr/pwnkit

PwnKit

针对 Polkit Pkexec 漏洞的概念验证:CVE-2021-4034 (Pkexec Local Privilege Escalation)

查看仓库
214年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

PwnKit

此仓库包含一个我开发的漏洞利用程序,用于理解 Polkit Pkexec 漏洞:CVE-2021-4034 (Pkexec 本地权限提升)。Polkit(原名 PolicyKit)是一个组件,其功能是控制类 Unix 操作系统上的权限。它以有序的方式提供了一种机制,让无特权进程能够与有特权进程通信。该漏洞允许任何用户——系统上的普通用户,无管理权限——达到系统最高权限。

该漏洞发生在 pkexec 的 main() 函数处理命令行参数时,当参数为 0 时。该函数尝试访问参数列表,最终试图访问 argvvoid(一个命令行参数控制器),也就是说,当 pkexec 未能正确处理调用参数,并最终尝试将环境变量作为命令执行时发生。结果是内存被越界读写,攻击者可以利用这一点注入环境变量,从而加载恶意代码。

理解起来很简单:这些环境变量可以被引入,使得代码易受攻击。我用来利用该漏洞的方式与 Qualys 使用的相同。过程很简单:只需在 pkexec 的工作环境中注入一个 GCONV_PATH 变量,即任意对系统普通用户可用的目录。该变量将导致以 root 权限执行一个共享库。需要说明的是,这种技术很嘈杂且会留下大量痕迹,因为变量注入会创建一个目录,并且该目录与 root 用户共享权限。

如果你发现系统存在漏洞,请尽快更新。如果仍然认为可能存在漏洞,可以移除 pkexec 的 SUID 位作为临时缓解措施,方法如下:# chmod 0755 /usr/bin/pkexec

有关漏洞工作原理的更多细节在此。

工作原理

该漏洞利用程序在基于 Debian、Ubuntu、Fedora 和 CentOS 的易受攻击发行版上会立即生效。它是为了学习该漏洞以及看看目前我仅凭 C 语言能走到哪一步而创建的 :D。不要用它来做不该做的事。

root@kitploit:~
$ git clone https://github.com/Nosferatuvjr/PwnKit
$ cd PwnKit
$ chmod +x ./PwnKit.sh
$ ./PwnKit.sh
# id

或

root@kitploit:~
$ git clone https://github.com/Nosferatuvjr/PwnKit
$ cd PwnKit
$ chmod +x ./PwnKit
$ ./PwnKit
$ ./PwnKit id #交互式 shell

展示

编译

root@kitploit:~
gcc -shared PwnKit.c -o PwnKit -Wl,-e,entry -fPIC

技术详情与参考

  • https://blog.qualys.com/vulnerabilities-threat-research/2022/01/25/pwnkit-local-privilege-escalation-vulnerability-discovered-in-polkits-pkexec-cve-2021-4034

  • https://github.com/arthepsy/CVE-2021-4034/

联系我:

下载工具