前几天电脑中毒了,虽然第一时间重装系统,但是隔天依然收到一大堆网站登录的 gamil 验证邮件,谷歌帐号也提示风险操作。密码管理一直用的 chrome 自带的,考虑是 chrome 保存的密码泄漏,于是连夜改了所有帐号密码,能二验的全部添加二验。然而第二天早上还是发现一台小鸡被人在 vps panel 里重装了 windows 系统,还好有数据备份,然后又改所有小鸡的 ssh 登陆密码。因为之前谷歌帐号开了二次验证,还好谷歌帐号没被登录。吃了这个惨痛的教训,我开始研究 chrome password manger 的安全问题,才发现 chrome 保存密码等于裸奔。
一篇解释如何获取 chrome 保存的密码的文章: https://ohyicong.medium.com/how-to-hack-chrome-password-with-python-1bedc167be3d
如果用 chrome 自带的密码管理保存密码,任何一个运行在你电脑上的程序,不需要管理员权限,都能解密并读取本地保存的密码。因为 chrome 的密码保存在本地加密的 sqlite 中,同时加解密密钥也明文保存在本地文件里,任何程序都能读取。
加密 sqlite 文件路径: C:\Users<PC Name>\AppData\Local\Google\Chrome\User Data\Default\Login Data
解密密钥文件路径 C:\Users<PC Name>\AppData\Local\Google\Chrome\User Data\Local State
额外说明一点是解密需要用到 win32 提供的 API CryptUnprotectData 函数,这个函数保证解密是和加密在同一台电脑(用户)进行的,所以如果直接复制硬盘的浏览器数据到其他电脑上是解密不了的,但是只要你的 Windows 登录了,任何程序只要想都可以解密 chrome 的密码然后上传。
现在考虑转 bitwarden 中。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.