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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2021-3156-Baron-Samedit — 一个用于 CVE-2021-3156 - "Baron Samedit" 的简单 Docker 实验室与漏洞利用环境。 | Kitploit
工具/GitHubGitHub/theleopard65/cve-2021-3156-baron-samedit
权限提升容器安全漏洞分析漏洞利用Shellcode学习与教育二进制利用实验室与实践
GitHub

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
theleopard65/cve-2021-3156-baron-samedit

CVE-2021-3156-Baron-Samedit

一个用于 CVE-2021-3156 - "Baron Samedit" 的简单 Docker 实验室与漏洞利用环境。

查看仓库
136个月前尚未审核

CVE-2021-3156 - "Baron Samedit" 实验与利用

该仓库提供了一个自包含的教学环境,用于理解和利用 CVE-2021-3156,这是 sudo 中一个基于堆的缓冲区溢出漏洞,允许任何非特权用户在受影响系统(sudo 版本低于 1.9.5p2)上获取 root 权限。

本材料仅用于授权的安全培训与研究。

在未经授权的系统上使用本材料进行非道德操作是违法的。

仓库内容

  • Dockerfile - 构建带 sudo 1.8.31(含漏洞)的 Ubuntu 20.04 容器
  • exploit.c - 主要利用载荷(针对 Ubuntu 20.04 适配)
  • shellcode.c - 生成 root shell 的共享库构造函数
  • Makefile - 编译利用程序和恶意库

入门指南

前置条件

  • Docker(或 Docker Engine)
  • 基本 C 语言知识
  • 基本 Make 知识
  • 命令行工具使用经验

构建并运行实验环境

  1. 克隆本仓库:
root@kitploit:~
git clone https://github.com/Theleopard65/CVE-2021-3156-Baron-Samedit.git
cd CVE-2021-3156-Baron-Samedit
  1. 构建 Docker 镜像:
root@kitploit:~
docker build -t cve-2021-3156-lab .
  1. 运行容器:
    • 登录后容器的用户为 poc。
    • 工作目录为 /home/exploit,其中已包含源文件。
root@kitploit:~
docker run -it --rm --name baron_samedit_lab cve-2021-3156-lab

编译并运行利用程序

  • 在容器内,利用程序已由 Docker 构建过程编译完成。如需手动运行:
root@kitploit:~
cd /home/exploit
./exploit

如果成功,您将看到 root shell 提示符(#)。该利用程序覆盖 sudo 堆中的 service_user 结构体,强制其加载恶意库 libnss_x/x.so.2,该库的构造函数执行 shellcode。

手动编译(如需)

  • 重新编译:
root@kitploit:~
make clean && make

这将生成:

  • exploit - 主利用二进制文件
  • libnss_x/x.so.2 - 恶意共享库

利用原理

CVE-2021-3156 是 sudoedit 命令行参数处理中的一个堆溢出漏洞。通过提供精心构造的缓冲区和环境变量,攻击者可以覆盖堆上的 service_user 结构体。该结构体包含一个函数指针,一旦被劫持,可以通过 NSS(名称服务切换)机制加载恶意库。该库的构造函数随后以 root 身份执行任意代码。

该利用程序:

  1. 分配一个大型缓冲区(buf)以触发溢出。
  2. 使用 LC_MESSAGES、LC_TELEPHONE 和 LC_MEASUREMENT 环境变量来塑造堆布局。
  3. 溢出到 files 服务用户结构体,将其名称替换为指向恶意库的路径(libnss_x/x.so.2)。
  4. 恶意库的构造函数(位于 shellcode.c)执行 setuid(0)、setgid(0),并生成一个 root shell。

清理

移除 Docker 镜像:

root@kitploit:~
docker rmi cve-2021-3156-lab

参考资料

  • Qualys 原始通告
  • Blasty 的概念验证
  • NIST NVD 漏洞条目

许可证

本项目仅用于教育目的。使用风险自负。


下载工具