DPAPI - Extracting Passwords
Last updated
Last updated
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
RootedCON 是 西班牙 最相关的网络安全事件,也是 欧洲 最重要的事件之一。该大会的 使命是促进技术知识,是各个学科技术和网络安全专业人士的一个热烈交流点。
数据保护 API (DPAPI) 主要用于 Windows 操作系统中,进行 对称加密非对称私钥,利用用户或系统秘密作为重要的熵来源。这种方法简化了开发人员的加密过程,使他们能够使用从用户登录秘密派生的密钥进行数据加密,或者对于系统加密,使用系统的域认证秘密,从而免去开发人员自己管理加密密钥保护的需要。
DPAPI 保护的个人数据包括:
Internet Explorer 和 Google Chrome 的密码和自动完成数据
Outlook 和 Windows Mail 等应用程序的电子邮件和内部 FTP 账户密码
共享文件夹、资源、无线网络和 Windows Vault 的密码,包括加密密钥
远程桌面连接、.NET Passport 和各种加密和认证目的的私钥密码
由凭据管理器管理的网络密码以及使用 CryptProtectData 的应用程序中的个人数据,如 Skype、MSN Messenger 等
受保护的凭据文件可能位于:
使用mimikatz dpapi::cred
获取凭据信息,在响应中可以找到有趣的信息,例如加密数据和guidMasterKey。
您可以使用 mimikatz module dpapi::cred
和适当的 /masterkey
进行解密:
用于加密用户 RSA 密钥的 DPAPI 密钥存储在 %APPDATA%\Microsoft\Protect\{SID}
目录下,其中 {SID} 是该用户的 安全标识符。DPAPI 密钥与保护用户私钥的主密钥存储在同一个文件中。它通常是 64 字节的随机数据。(请注意,此目录受到保护,因此您无法使用 dir
从 cmd 列出它,但您可以从 PS 列出它)。
这是用户的一组主密钥的样子:
通常每个主密钥是一个加密的对称密钥,可以解密其他内容。因此,提取 加密的主密钥是有趣的,以便稍后解密用它加密的其他内容。
查看帖子 https://www.ired.team/offensive-security/credential-access-and-credential-dumping/reading-dpapi-encrypted-secrets-with-mimikatz-and-c++ 以获取提取主密钥并解密的示例。
SharpDPAPI 是@gentilkiwi的Mimikatz项目中某些DPAPI功能的C#移植。
HEKATOMB 是一个自动提取LDAP目录中所有用户和计算机的工具,并通过RPC提取域控制器备份密钥。然后,脚本将解析所有计算机的IP地址,并对所有计算机执行smbclient,以检索所有用户的所有DPAPI blob,并使用域备份密钥解密所有内容。
python3 hekatomb.py -hashes :ed0052e5a66b1c8e942cc9481a50d56 DOMAIN.local/administrator@10.0.0.1 -debug -dnstcp
通过从LDAP提取的计算机列表,您可以找到每个子网络,即使您不知道它们!
“因为域管理员权限还不够。黑掉他们所有人。”
DonPAPI 可以自动转储受DPAPI保护的秘密。
RootedCON 是西班牙最相关的网络安全事件,也是欧洲最重要的事件之一。该大会旨在促进技术知识,是各个学科技术和网络安全专业人士的一个热烈的交流平台。
学习和实践AWS黑客攻击:HackTricks Training AWS Red Team Expert (ARTE) 学习和实践GCP黑客攻击:HackTricks Training GCP Red Team Expert (GRTE)