.Net 移植版,实现了 impacket 的 secretsdump.py 中远程 SAM + LSA 机密转储功能。默认在当前用户的上下文中运行。请仅在您拥有或有权测试的环境中使用 :)
SharpSecDump.exe -target=192.168.1.15 -u=admin -p=Password123 -d=test.local
必需标志
可选标志
该项目已针对 Win 7、10、Server 2012 和 Server 2016 进行测试。较旧版本(win 2003 / xp)可能无法与此工具配合使用。
默认情况下,如果您尝试从本地系统转储配置单元,则需要以高完整性上下文运行。但是,当目标为远程系统时则不需要。
目前支持通过 SAM + SECURITY 注册表配置单元转储来检索缓存的凭据数据。但尚不支持 NTDS.dit 解析/dcsync。如果您在 .Net 项目中寻找 dcsync 功能,我推荐 sharpkatz。
如果系统配置为禁止通过 TCP 使用 RPC(需要通过命名管道使用 RPC——这不是默认设置),Windows 在回退到 RPC/NP 之前会有 21 秒的延迟,但仍会允许连接。这似乎是使用利用 SCManager 远程绑定服务的 API 调用的一个限制。
本代码是以下项目功能的移植:impacket(作者 @agsolino)和 pypykatz(作者 @skelsec)。解析和解密注册表配置单元信息的原始步骤全部归功于他们。
使用的注册表配置单元结构来自 gray_hat_csharp_code(作者 @BrandonPrry)。
最后,该脚本的原始想法基于我对 Posh_SecModule(作者 @Carlos_Perez)的部分移植工作,初期 SAM 解析代码的很大一部分来自该项目。