ShadowDumper LSASS内存转储工具 LsassDumping
ShadowDumper 简介
Shadow Dumper 是一款功能强大的工具,用于转储 LSASS(本地安全机构子系统服务)内存,渗透测试和红队活动经常需要用到。它为用户提供灵活的选项,并使用多种高级技术转储内存,允许访问 LSASS 内存中的敏感数据。
警告
值得注意的是,该项目仅用于教育和研究目的,任何未经授权的使用都可能导致法律后果。
功能
解除挂钩注入(修改后的 Mimikatz 二进制文件) ——利用解除挂钩来注入修改后的 Mimikatz 二进制文件,绕过 EDR 挂钩并逃避检测。
解除挂钩注入(使用 MDWD 的直接系统调用) ——使用 MDWD 实现直接系统调用以进行隐身注入,减少留下的痕迹。
简单的 MiniDumpWriteDump API – 执行简单的 MiniDumpWriteDump API 方法进行标准 LSASS 内存提取。
MINIDUMP_CALLBACK_INFORMATION 回调– 使用回调函数进行自定义处理,从而可以更好地控制转储过程。
进程分叉技术——分叉 LSASS 进程,创建内存克隆并避免直接访问目标进程。
使用 MiniDumpWriteDump 进行直接系统调用– 将直接系统调用与 MiniDumpWriteDump 相结合,通过避免典型的 API 挂钩来增强隐身性。
具有直接系统调用的本机转储(离线解析) – 利用直接系统调用创建具有离线解析基本流的本机转储,非常适合低噪音操作。
构建
克隆 ShadowDumper 存储库
在 Visual Studio 2019 (v142) 中打开
C++ 语言标准 ISO C++14 标准或更高版本
从[Resource Shellcodes]文件夹下载shellcodes pan.bin 和 off.bin,将它们放在计算机的某个位置,并在编译之前更改ShadowDumper.rc文件中的路径。
确保选择了 MASM。[在解决方案资源管理器中右键单击您的项目,单击“构建依赖项”,单击“构建自定义”,然后选择 .masm]
右键单击 ASM 文件并转到属性,并确保项目类型应为 Microsoft Macro Assembler
编译项目
提示
V1.0 兼容性:Windows(x64)[使用 x64 版本测试] 在 Windows 10 版本 22H2(操作系统版本 19045.5073)上,主要版本为 10.0 [您可能会在某些方法中遇到最新版本的问题,这可能是由于 mimikatz 的版本造成的]
使用方法
要运行 ShadowDumper,请从 powershell (管理员身份运行)执行已编译的二进制文件。
默认模式
未提供参数:显示用户友好的控制台,其中包含多个可执行选项
命令行模式
参数:-h:显示包含所有可用选项的帮助菜单。
ShadowDumper.exe
- 参数: 1: 使用取消钩挂技术注入修改后的 mimikatz 二进制文件来转储 lsass 内存。
ShadowDumper.exe
- 参数: 2: 使用取消钩挂技术,通过直接系统调用(MDWD)注入二进制文件来转储 lsass 内存。
ShadowDumper.exe
- 参数: 3: 使用简单的 MiniDumpWriteDump API 转储 lsass 内存。
ShadowDumper.exe
- 参数: 4: 使用 MINIDUMP_CALLBACK_INFORMATION 回调来转储 lsass 内存。
ShadowDumper.exe
- 参数: 5: 使用进程分叉技术来转储 lsass 内存。
ShadowDumper.exe
- 参数: 6: 使用直接系统调用和 MiniDumpWriteDump 来转储 lsass 内存。
ShadowDumper.exe
- 参数: 7: 使用直接系统调用(本地转储,包含离线解析所需的流)来转储 lsass 内存。
演示
演示 ShadowDumper 的工作原理。
导出的内存文件位置
C:\Users\Public
直链下载地址
https://lp.lmboke.com/ShadowDumper.exe
项目地址
GitHub:https://github.com/Offensive-Panda/ShadowDumper
免责声明
本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本平台和发布者不为此承担任何责任。