chrome 密码泄漏了, 才知道用 chrome 保存密码等于裸奔

2022-08-14 12:31:38 +08:00
 juejinloop

前几天电脑中毒了,虽然第一时间重装系统,但是隔天依然收到一大堆网站登录的 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 中。

58759 次点击
所在节点    信息安全
294 条回复
ltkun
2022-08-14 14:54:51 +08:00
这就是开源的意义 FOSS 其实最安全 相信商业公司等于出卖自己
ghs55kai
2022-08-14 15:09:38 +08:00
苹果的呢
a68UkLHpycW7ImyV
2022-08-14 15:10:33 +08:00
我上次在安装 bt 彗星的过程中,无意中安装了一个浏览器,这个浏览器竟然导入了我所有 chrome 的密码。。。
Eureka0
2022-08-14 15:10:46 +08:00
@dingwen07 #55
@nbndco #56
这样啊,谢谢解答
phithon
2022-08-14 15:10:55 +08:00
推荐一个项目,可以用于窃取世面上常见浏览器里保存的密码、Cookie 等信息: https://github.com/moonD4rk/HackBrowserData
Ne
2022-08-14 15:12:47 +08:00
chrome 密码管理一直都不行。多年以前全部用 chrome 管理,有一次全部掉失,好多网站会员没了。之后换了 safeincloud 管理一直到现在,几刀的价格真不错
dcsuibian
2022-08-14 15:16:54 +08:00
在我看来,这相当于病毒攻破了人体的免疫系统,你却希望器官自己做好防护。

说真的,如果我是安全人员,我肯定主要想的是“怎么防止病毒进来”而不是“病毒进来以后怎么办”。
因为在后者的情景下,花了九牛二虎之力能获得的安全性提升仍然十分轻微。就好像你花了大量的时间去锻炼身体却不注重个人卫生一样。
万一病毒是监控你操作、远程控制你电脑的呢?

中病毒了,你应该首先重装系统、安装杀毒软件、不要轻易下载和运行二进制文件、提高自己的安全意识。

而且,我觉得你在选择 Chrome 作为密码存储软件时,已经对安全性和便利性做出了选择。
makelove
2022-08-14 15:19:51 +08:00
快来用我 Firefox ,可以设置 Master password ,有效防止别的程序随便偷看密码
kwh
2022-08-14 15:22:07 +08:00
@7zlid 我去,等复制完,几十分钟就过去了。。。
不要在 Windows 上运行未知软件不就行了?
即便运行未知软件,也得禁止联网,不就发不出去了?
而且莫名软件读取谷歌密码杀毒软件应该会发现吧?
比如借助 sandboxie 沙盒运行并禁止联网。
1and0
2022-08-14 15:32:20 +08:00
没有此文件: C:\Users\<PC Name>\AppData\Local\Google\Chrome\User Data\Default\Login Data , 准确的说是没有 Default 这个文件夹
Chrome Version 104.0.5112.81 (Official Build) (64-bit)
sillyB
2022-08-14 15:36:18 +08:00
你的电脑怎么中的病毒,中的什么病毒?这个才是重点,不要倒打一耙 chrome ,如果自己的电脑都都被拥有最高权限了,怪别人?
totoro625
2022-08-14 15:38:21 +08:00
我推特账户被盗封号了,才知道自己本地有个病毒偷 cookies
正常都是偷取 cookies ,因为偷取密码的话绝大部分账户都有两步验证,登录后还会有邮件提示等等

火绒没任何提示,后来我下载了卡巴斯基扫到了
juejinloop
2022-08-14 15:40:56 +08:00
@sillyB “被拥有最高权限”,能不能读完帖子再发言?阅读能力有问题吗?服了,那么多字直接不看是吧。
wwbfred
2022-08-14 15:42:50 +08:00
逻辑是这样的:如果一个密码库没有 Master Key ,那么玩得再花也没有用;如果一个密码库有 Master Key ,它也不能阻止一个具有 ROOT 权限的进程,因为 Master Key 需要输入,而 ROOT 权限可以得到你所有的输入。只有硬件级别的密码存储和管理方式才能杜绝在设备遭到入侵情况下密码被盗的问题,除此之外的 Master Key 本质上就是防流氓不防强盗的东西。
Chrome 最大的问题不是明文存储,而是它是浏览器会执行第三方代码。如果浏览器存在提权漏洞,就可能导致密码泄露,这才是不使用 Chrome 管理密码的最重要原因。
ysc3839
2022-08-14 15:43:44 +08:00
@nbndco Windows 有类似 Keychain 的功能,叫 Credential Manager ,不过应该是不能阻止别的应用进行读取。
我不知道 macOS Keychain 能否阻止别的应用读取数据,但是保存的文件数据是阻止不了别的程序读取的。
lixinrui000
2022-08-14 15:45:01 +08:00
哇,太感谢楼主了,不说我完全不知道这一点,之前已经使用 1password 了,但 Chrome 存储的密码没有删,现在就删掉。另外:edge 有这个问题嘛?
ysc3839
2022-08-14 16:05:27 +08:00
@ysc3839 macOS 的 Keychain 确实是能分应用限制访问的,会通过代码签名来判断是否是同一个应用。
https://stackoverflow.com/questions/58290058/how-does-macos-keychain-acl-determine-which-apps-have-access
explorerproxy
2022-08-14 16:05:42 +08:00
我也去删掉,话说不能批量删除嘛
felixcode
2022-08-14 16:07:56 +08:00
所以,按照楼上很多人的逻辑,密码存文本文件放桌面上就行了,任何防护都是徒劳。
因为只要终端不保证安全,其它方式保护数据的方式都是无效的。
如果有病毒读取了桌面上文本文件的内容,那就不是密码存放方式的问题,而是没有防住病毒的问题。
nyxsonsleep
2022-08-14 16:11:29 +08:00
@1and0 如果你新建一个用户会变成 Profile{int},再删除默认账户就没有 default 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/872745

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX