导出Chrome浏览器中保存的密码

参考

https://3gstudent.github.io/3gstudent.github.io/渗透技巧-导出Chrome浏览器中保存的密码/

参考Chromium开源代码,找到Chrome做二次加密的方法: 通过Windows API CryptProtectData()实现

参考加密代码: https://github.com/scheib/chromium/blob/eb7e2441dd8878f733e43799ea77c2bab66816d3/chrome/browser/password_manager/password_store_win_unittest.cc#L107

CryptProtectData()的说明可参考:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa380261(v=vs.85).aspx

步骤流程

(1)获得关键信息,对应解密函数为CryptUnprotectData

参考地址:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa380882(v=vs.85).aspx

(2)只有与加密数据的用户具有相同登录凭据的用户才能解密数据
也就是说,只能在当前用户的凭据下解密数据。

获取另一系统下的Chrome密码

如果获得了另一系统下的相关配置文件,能否导出Chrome浏览器中保存的密码呢?

解密需要获得三部分内容:

1.加密密钥(即Master Key文件),位于%appdata%\Microsoft\Protect下对应sid文件夹下的文件

2.数据库文件Login Data

3.用户明文的密码,用于解密加密密钥

由于chromepass程序的设计问题,以上文件需要组成特定格式,子目录格式如下:
\AppData\Local\Google\Chrome\UserData\Default\Login Data
\AppData\Roaming\Microsoft\Protect{sid}}\下保存key文件
{sid}必须同原系统的对应

eg.
\AppData\Local\Google\Chrome\User
Data\Default\Login Data
\AppData\Roaming\Microsoft\Protect\S-1-5-21-3453529135-4164765056-1075703908-1001\329c4147-0011-4ad6-829d-e32dcbd1bbd7

如下图
在这里插入图片描述


版权声明:本文为qq_43312649原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。