资讯动态

5步从主密钥到浏览器密码:Windows DPAPI解密工作流一次跑通

发布时间:2026/8/28 16:09:41 来源:尧图企业网站定制
5步从主密钥到浏览器密码Windows DPAPI解密工作流一次跑通【免费下载链接】SharpDPAPISharpDPAPI is a C# port of some Mimikatz DPAPI functionality.项目地址: https://gitcode.com/gh_mirrors/sh/SharpDPAPI拿到一台 Windows 主机后藏在 DPAPI 加密下的凭据怎么挖出来SharpDPAPI 是一款 C# 编写的 DPAPI解密工具把 Mimikatz 的 DPAPI 主密钥提取与 Windows凭证解密逻辑移植成了独立的命令行工具适合红队操作员和安全评估人员使用。全文按安装 → 拿主密钥 → 批量解密 → 离线验证串一遍完整流程。为什么你需要关注这件事DPAPI 是 Windows 里最常见的存凭据方式凭据管理器Credentials、保险库Vaults、Chrome 的 Login Data、RDP 保存的密码背后都套着一层主密钥。你手里往往只有主机访问权限和一个账号密码但光有这两样读不了那些文件缺的是主密钥的提取路径。SharpDPAPI 补的就是这条路径用密码、NTLM 哈希或域备份密钥解开主密钥文件再把机器上各类加密 blob 批量换成明文。整个过程就几条命令的事先跑通再说细节后补。工具全貌一句话说清它是什么SharpDPAPI 是 Mimikatz DPAPI 模块的 C# 移植版解密逻辑照搬接口重做成命令行子命令输出是可直接阅读的表格方便接脚本或走 PSRemoting 远程执行。它不发布二进制自己编译。子项目 SharpChrome 复用同一套密钥体系解密 Chrome/Edge/Slack 的 cookies 和登录密码把 Windows凭证解密的能力延伸到了浏览器数据。子命令做什么前置条件masterkeys提取/解密用户主密钥输出 {GUID}:SHA1 映射/password、/ntlm、/pvk或仅 /hashescredentials/vaults批量解密凭据文件与 Windows 保险库主密钥映射、/mkfile 或 /pvkbackupkey获取域 DPAPI 备份密钥DA 或同等权限triage一次性跑 credentialsvaultsrdgcertificates同上编译好之后第一条命令就是让它自己介绍自己SharpDPAPI.exe看到版本号和子命令列表说明环境没问题。跑起来安装与环境准备项目不发二进制clone 后自己编。默认构建目标是 .NET 3.5如果目标机器没有 3.5打开解决方案把 Target framework 改成 4.x 再编。先克隆仓库到本地git clone https://gitcode.com/gh_mirrors/sh/SharpDPAPI用 msbuild 编译 Release 版本Visual Studio 2019 里直接打开 .sln 选 Release 构建等价msbuild SharpDPAPI.sln /p:ConfigurationRelease能力拆解按任务而非按模块Windows凭证解密本地单机解密已经登上目标机、手里有密码时最快路径是密码或 NTLM 哈希直接解主密钥SharpDPAPI.exe masterkeys /password:YOUR_PASSWORD输出是一份 {GUID}:SHA1 主密钥映射后面所有解密都靠它。拿不到密码想离线爆破时用 /hashes 导出 Hashcat/John 格式的主密钥哈希SharpDPAPI.exe masterkeys /hashes批量处理远程主机与域环境做远程系统 DPAPI 评估时/server 必须和 /pvk 或 /password 一起用单独传 GUID:SHA1 是不生效的SharpDPAPI.exe credentials /server:SERVER /password:YOUR_PASSWORD域环境里性价比最高的 DPAPI主密钥提取方法是抓一次域备份密钥反复用——这把密钥永不变能解出所有域用户的主密钥SharpDPAPI.exe backupkey /server:DC /file:domain-backup.pvk之后任何命令都指向这个密钥文件就能离线批处理各台机器SharpDPAPI.exe triage /server:SERVER /pvk:domain-backup.pvk备份密钥的抓取逻辑在 Backupkey 命令实现解密核心集中在 Dpapi.cs排障时可以对着看。一条完整工作流走通最典型的任务——本地单机上回答如何解密Windows保险库——四步可复现。用密码解出用户主密钥映射SharpDPAPI.exe masterkeys /password:YOUR_PASSWORD把输出里的 master key cache 存成文件每行一个 {GUID}:SHA1就是 mkfile 格式然后一把解完凭据、保险库、RDP 和证书SharpDPAPI.exe triage /mkfile:masterkeys.txt浏览器数据复用同一份密钥SharpChrome 的 logins/cookies/statekeys 都接受 /mkfileSharpChrome.exe logins /mkfile:masterkeys.txt对拿不准的单个加密 blob用 blob 子命令验证密钥是否匹配SharpDPAPI.exe blob /target:C:\Temp\blob.bin /mkfile:masterkeys.txt第 2 步输出为空时先回第 1 步核对密码/哈希是否正确、目标用户的主密钥文件是否可读这是这条流水线里最常见的卡点。参数速查与调优建议参数作用常配命令/password:X明文密码解主密钥masterkeys、triage、credentials/ntlm:HASHNTLM 哈希解主密钥1.12 起必须显式传同上/pvk:BASE64\|file.pvk域备份密钥解主密钥credentials、vaults、triage/mkfile:FILE载入 {GUID}:SHA1 映射文件所有解密命令/server:NAME指定远程目标需配 /pvk 或 /passwordcredentials、vaults、triage/target:PATH限定单个文件或用户文件夹各命令/sid:SID/password 配 /target 定位用户时必填masterkeys三条调优建议文件量大时优先预生成 mkfile 走 /mkfile比每次传 /password 省掉重复的主密钥解析。只要某个用户的数据用 /target 指向C:\Users\USER\缩小范围提权跑全量会把机器上所有用户都 triage 一遍。输出偏长时用/consoleoutfile:PATH落盘走 PSRemoting 的场景也可以用程序集加载后的MainString()收输出。踩坑实录 现象/server 传 GUID:SHA1 或 /mkfile 不生效或直接报错。 根因/server 不是为离线查表设计的它要求搭配 /pvk 或 /password 才能定位远程用户的主密钥。 解法远程场景统一换 /pvk 或 /password必须用密钥文件时先在本地对文件解密别指望 UNC 路径上查表。现象masterkeys 单独传 /password 能跑加上 /target 指定用户后解不出来。 根因/password 配 /target 远程定位用户时还必须给出该用户的完整域 SID否则找不到对应的 Protect 目录。 解法补上/sid:S-1-5-21-DOMAIN_SIDSID 用域控或net user拿。现象/pvk:BASE64... 直接粘进去解析失败。 根因早期版本 backupkey 默认输出是换行包裹的 base64旧格式直接粘贴会断掉。 解法backupkey 加 /nowrap或用 /file 存成 .pvk 后走 /pvk:file.pvk这个参数别忘加。合规与操作边界 只在有书面授权的范围内执行backupkey 需要的 DA 权限属于高敏感操作单独评估后再动。解出来的就是明文密码和私钥落盘到加密介质、用后即删目标机器的日志可能记录你的读取行为操作前确认审计影响。可以做不可以做授权范围内解主密钥与凭据、保险库拿域备份密钥去解授权范围外的用户用户上下文用 /unprotect 验证 DPAPI blob超出最小必要的 LSASS、注册表操作/consoleoutfile 把结果归档留存把明文密码、私钥输出提交到代码库或聊天工具下一步 延伸阅读把backupkey → triage两步包进 PowerShell 脚本再经 PSRemoting 分发到多台目标是这条流水线最直接的自动化方向项目官方给了程序集 base64 加载的写法可参考。遇到不认识的加密 blob先用 search 子命令按 DPAPI 头签名扫注册表/文件夹/文件再用 blob 验证实现在 Search.cs。需要 SYSTEM 上下文的机器级 triage 时换 machinetriage它会自动提权到 SYSTEM 读取 DPAPI_SYSTEM LSA 秘钥入口见 Machinetriage.cs。其余参数的边界行为翻项目根目录的 README 对照最准它同时是这份笔记的命令出处。【免费下载链接】SharpDPAPISharpDPAPI is a C# port of some Mimikatz DPAPI functionality.项目地址: https://gitcode.com/gh_mirrors/sh/SharpDPAPI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价