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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/puckiestyle/cve-2021-3156
权限提升漏洞利用框架漏洞分析漏洞利用二进制利用
GitHubpuckiestyle/cve-2021-3156

CVE-2021-3156

CVE-2021-3156(Sudo Baron Samedit)的漏洞利用程序,针对 Linux x64,提供多种变体以适配不同的 glibc 和 sudo 版本。

查看仓库
14年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2021-3156(Sudo Baron Samedit)

本仓库是针对 Linux x64 的 CVE-2021-3156 漏洞利用代码。相关技术分析文章请访问 https://datafarm-cybersecurity.medium.com/exploit-writeup-for-cve-2021-3156-sudo-baron-samedit-7a9a4282cb31
致谢:Qualys 的 Braon Samedit 提供的原始安全公告。


文件

针对带 tcache 的 glibc 的漏洞利用
  • exploit_nss.py 自动检测所有需求以及 /etc/nsswitch.conf 中的条目数量
  • exploit_nss_manual.py exploit_nss.py 的简化版本,便于理解漏洞利用原理
  • exploit_timestamp_race.c 覆盖 def_timestamp 并利用竞态条件修改 /etc/passwd
针对不带 tcache 的 glibc 的漏洞利用
  • exploit_defaults_mailer.py 该漏洞利用覆盖 struct defaults 以修改 mailer 二进制文件路径。它要求 sudo 在编译时未禁用 root mailer,例如 CentOS 6 和 7。
  • exploit_userspec.py 该漏洞利用覆盖 struct userspec 以绕过身份验证并在 /etc/passwd 中添加新用户。仅支持 sudo 版本 1.8.9-1.8.23。
  • exploit_cent7_userspec.py exploit_userspec.py 的简化版本,便于理解,但仅针对默认配置的 CentOS 7
  • exploit_nss_d9.py 在 Debian 9 上覆盖 struct service_user,但仅支持默认的 /etc/nsswitch.conf
  • exploit_nss_u16.py 在 Ubuntu 16.04 上覆盖 struct service_user,但仅支持默认的 /etc/nsswitch.conf
  • exploit_nss_u14.py 在 Ubuntu 14.04 上覆盖 struct service_user,但仅支持默认的 /etc/nsswitch.conf
其他
  • asm/ 用于嵌入 Python 漏洞利用脚本的 tinyelf 库和可执行文件
  • gdb/ 用于调试 sudo 堆的脚本

选择漏洞利用方式

对于 glibc 支持并启用了 tcache 的 Linux 发行版(CentOS 8、Ubuntu >= 17.10、Debian 10):

  • 首先尝试 exploit_nss.py
  • 如果错误与 glibc tcache 无关,接下来可以尝试 exploit_timestamp_race.c

对于 glibc 不支持 tcache 的 Linux 发行版:

  • 如果目标是 Debian 9、Ubuntu 16.04 或 Ubuntu 14.04,首先尝试针对特定版本的 exploit_nss_xxx.py
  • 接下来,尝试 exploit_defaults_mailer.py。如果你知道目标 sudo 在编译时使用了 --disable-root-mailer,可以跳过此漏洞利用。该漏洞利用会尝试从 sudo 二进制文件中检查 root mailer 标志。但某些 Linux 发行版上 sudo 的权限为 4711 (-rws--x--x),无法在目标系统上进行检查。(已知可用的操作系统为 CentOS 6 和 7)
  • 最后,尝试 exploit_userspec.py
下载工具