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

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

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

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

工具目录

分类

查看所有分类
Loading categories
DPAPISnoop — 一个 C# 工具,用于从用户 MasterKeys 中输出可破解的 DPAPI 哈希。 | Kitploit
工具/GitHubGitHub/leftp/dpapisnoop
密码破解密码攻击哈希分析后渗透利用红队
GitHubleftp/dpapisnoop

DPAPISnoop

一个 C# 工具,用于从用户 MasterKeys 中输出可破解的 DPAPI 哈希。

查看仓库
14682个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

DPAPISnoop

一个 C# 工具,用于从用户 MasterKey 和 CREDHIST 文件中提取可破解的 DPAPI 哈希。

同时针对 MasterKey($DPAPImk$)和完整 CREDHIST 链($credhist$),支持本地路径和远程 SMB 共享。


它提取什么

MasterKey 哈希($DPAPImk$)

每个用户的 MasterKey 位于 \Users\<user>\AppData\Roaming\Microsoft\Protect\<SID>\ 下。

破解后可获得用户的域密码,并解锁该时期内所有受 DPAPI 保护的数据。

哈希版本取决于操作系统:

  • 版本 1 — 3DES + SHA-1(≤ Vista)
  • 版本 2 — AES-256 + SHA-512(≥ Win7)

Context 字段编码账户类型:

  • 1 — 本地用户
  • 2 — 域用户,1607 之前
  • 3 — 域用户,1607 之后

CREDHIST 哈希($credhist$)

每个用户 CREDHIST 文件中的每个条目。每个条目都用前一个密码加密,解密后得到其前一个密码的 SHA1 + NTLM。

破解该链可重构所有历史密码及其 NTLM 哈希。

条目在用户名字段中进行了标记,因此输出是自描述的:

root@kitploit:~
alice[current]:$credhist$*...    ← encrypted with the current password; crack this first
alice[prev1]:$credhist$*...      ← encrypted with the previous password
alice[prev2]:$credhist$*...

条目哈希版本取决于操作系统:

  • 3DES + HMAC-SHA1(≤ Vista) — 使用 hashcat -m 15920 破解
  • AES-256 + SHA-512(≥ Win10 20H2) — 使用 hashcat -m 15930 破解

用法

root@kitploit:~
DPAPISnoop.exe [rootDir] [options]

如果省略,rootDir 默认为 %HOMEDRIVE%。完全支持 UNC 路径。

示例

root@kitploit:~
# Local machine — dump everything (defaults to %HOMEDRIVE%)
DPAPISnoop.exe

# Local machine — walk CREDHIST chain from a known password
DPAPISnoop.exe C: --password Summer2026!

# Local machine — walk CREDHIST chain from a known SHA1
# (e.g. from sekurlsa::wdigest pwdhash or dpapi cache)
DPAPISnoop.exe C: --sha1 da39a3ee5e6b4b0d3255bfef95601890afd80709

# Remote share — dump everything
DPAPISnoop.exe \\server01\c$

# Remote share — CREDHIST only, redirect hashes to file
DPAPISnoop.exe \\server01\c$ --credhist-only > credhist_hashes.txt

# Remote share — walk CREDHIST chain from a known password
DPAPISnoop.exe \\server01\c$ --password Summer2026!

破解

MasterKey

root@kitploit:~
hashcat -a0 -m 15300 hashes.txt wordlist.txt   # v1 local/domain pre-1607
hashcat -a0 -m 15310 hashes.txt wordlist.txt   # v1 domain post-1607
hashcat -a0 -m 15900 hashes.txt wordlist.txt   # v2 local/domain pre-1607
hashcat -a0 -m 15910 hashes.txt wordlist.txt   # v2 domain post-1607

CREDHIST

root@kitploit:~
hashcat -a0 -m 15920 credhist_hashes.txt wordlist.txt   # 3DES entries (≤ Vista)
hashcat -a0 -m 15930 credhist_hashes.txt wordlist.txt   # AES-256 entries (≥ Win10 20H2)

破解后,将恢复的密码传回 DPAPISnoop 以遍历完整链,并打印每个历史 SHA1 和 NTLM:

root@kitploit:~
DPAPISnoop.exe C:\ --password Summer2024! > ntlms.txt
DPAPISnoop.exe C:\ --sha1 <40-hex-sha1> > ntlms.txt

Hashcat 模块

查看 README


AI 使用情况

这项研发工作是人与 AI 辅助工具协作完成的,使用了 AI 模型 GPT-5.5 和 Claude Sonnet 4.6。

AI 模型被用于辅助代码生成和逆向工程支持。

然而,所有研究方向、验证、调试、测试、安全分析和最终技术决策均由人类(Imdefinelyhuman)完成。

所有生成的内容、代码和分析,均作为迭代式人工引导工作流的一部分,经过人工审查、验证、修改和集成。

上面的说法也等于委婉地告诉你:代码存在 bug,使用风险自负!


参考资料

  1. Elie Burzstein 和 Jean Michel Picod,“离线恢复 Windows 机密与 EFS 证书。”
  2. Microsoft,“CryptProtectData 函数。”
  3. Microsoft,“CNG DPAPI。”
  4. Microsoft,“Active Directory 域控制器上的 DPAPI 备份密钥”
  5. NAI Labs,“Windows 数据保护。”
  6. SpecterOps,“进攻性加密数据存储:DPAPI 版。”
  7. SpecterOps,“进攻性用户 DPAPI 滥用的操作指南。”
  8. SpecterOps,“DPAPI 备份密钥泄露 第 1 部分:某些林必须燃烧。”
  9. Passcape,“DPAPI CREDHIST。”
  10. Passcape,“DPAPI blob 分析。”
  11. Passcape,“DPAPI Master Key 分析。”
  12. NirSoft,“CredHistView。”
  13. Benjamin Delpy,“Mimikatz Wiki:module ~ dpapi。”
  14. Fox-IT,“Dissect CREDHIST 解析器。”
  15. DPAPIck3,PyPI 项目页面
  16. GhostPack,“SharpDPAPI。”
  17. Sygnia,“DPAPI 绝密武器的陨落。”

作者

Lefteris (lefty) Panos @ LRQA Red Team 2026

下载工具
标志描述
(none)转储我们用户的 $DPAPImk$ 和 $credhist$
--credhist-only / -c跳过 MasterKey 输出;仅输出 $credhist$ 行
--password <plaintext> / -p从当前明文密码开始遍历 CREDHIST 链
--sha1 <40-hex>从当前密码的已知 SHA1 开始遍历 CREDHIST 链
--pre1607对域 MasterKey 哈希输出上下文 2(域 pre-1607)而不是上下文 3