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

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

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

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

工具目录

分类

查看所有分类
Loading categories
dirtypipe — 使用 Rust 编写的 DirtyPipe (CVE-2022-0847) 漏洞利用程序 | Kitploit
工具/GitHubGitHub/morgenm/dirtypipe
权限提升漏洞利用Shellcode学习与教育Payload 开发二进制利用
GitHubmorgenm/dirtypipe

dirtypipe

使用 Rust 编写的 DirtyPipe (CVE-2022-0847) 漏洞利用程序

查看仓库
111年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

免责声明

此代码仅用于教育和研究目的。

请勿将其用于你不拥有或未经许可测试的系统。

作者不对因使用此代码而导致的任何滥用、损害或法律后果负责。

DirtyPipe (CVE-2022-0847)

关于此漏洞利用的详细解析,请查看我的博客。这是我用 Rust 基于 Max Kellermann 的文章实现的 DirtyPipe(CVE-2022-0847)漏洞利用程序。 该程序允许你覆盖特定文件,或覆盖 SUID 二进制文件以提升权限。

功能

  • 检查内核版本是否易受攻击
  • 使用指定输入文件中的数据覆盖任意文件
  • 覆盖 SUID 二进制文件(默认为 passwd)以获取 root 权限
  • 在利用前将目标文件备份到 /tmp

使用方法

覆盖文件

首先创建一个输入文件。该文件中的数据将用于覆盖目标文件。然后,直接运行以下命令:

root@kitploit:~
./dirtypipe_exploit -m overwrite -i input.txt -o target_file -b offset

其中 offset 是文件中开始写入的字节偏移量。由于该漏洞的性质,偏移量不能位于页边界上,且写入操作不能跨越页边界。

SUID 提权

SUID 模式将使用给定的 ELF 载荷替换指定的 SUID 二进制文件。除非在选项中另有指定,否则 exploit 将使用本仓库 release 中提供的 suid ELF 文件。 此外,你也可以自行生成该载荷,或使用 gen_suid.py pwntools 脚本和 loader.asm 文件修改载荷。此选项将在下面讨论。 默认情况下,exploit 会将目标设置为 /usr/bin/passwd。

运行以下命令,用提供的载荷替换 /usr/bin/passwd(以 root 身份生成一个 shell):

root@kitploit:~
./dirtypipe_exploit -m suid

然后运行 /usr/bin/passwd 即可获得 root shell。

要自行生成载荷,请按照以下步骤操作:

  1. 运行 gen_suid.py 脚本,该脚本使用 pwntools 生成一个可用于生成 root shell 的载荷(shellcode.bin)。你可以根据需要对其进行修改。
  2. 通过运行 nasm -f bin -o [PAYLOAD_NAME] loader.asm 创建 ELF 二进制载荷。这会将 shellcode.bin 文件转换为可执行文件。
  3. 运行 ./dirtypipe_exploit -m suid -i [PAYLOAD_NAME] -o [TARGET_FILE]。
  4. 执行目标文件以获取 root 权限。

感谢 STALKR 的博客 作者提供的 64 位 Tiny ELF 头(此处)。

下载工具