手把手教你解密MacOS平台下的Chrome密码

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:

虽然现在网上有很多开源的软件可以帮助你解密那些存储在GoogleChrome浏览器中的密码,但是这些软件几乎只支持在Windows操作系统下使用。那么对于我们这些Mac用户来说,当我们需要快速导出Chrome中存储的全部密码时,我们该怎么做呢?

直接进入正题

其中最常见的一种做法就是打开Chrome浏览器,选择“浏览器设置”,点击“管理密码”,然后你将会看到如下图所示的界面。接下来,你就可以在这里管理你的密码了。

点击了“显示密码”之后,系统此时便会要求你输入本地用户的密码。但是,像这种极其不方便的方法,谁还想去使用它呢?

为了解决这个问题,为了避免被要求输入用户密码,我们可以直接查询GoogleChrome浏览器的SQL数据库。在macOS平台下,这个数据库的存储路径为“~/Library/ApplicationSupport/Google/Chrome/Profile */Login Data”。

对于每一个存储在GoogleChrome浏览器中的密码来说,每一条密码数据都是以类似下图所示的这种数据格式存储在“LoginData”数据库中的:

我们可以从上图中看到,对于这个用户而言,其密码就是那段以“v10”开头的乱码,这段密码明显已经被加密了。你可能想问了,它采用的到底是哪一种加密算法呢?为了解答这个问题,我们可以参考GoogleChromium的源代码。在其源代码中,我们发现了下面这段话:

加密机制:AES-128-CBC(使用固定盐值和固定迭代次数)。解密密钥是一个PBKDF2密钥,该密钥通过下列数据生成:

  1. 盐值:盐值固定不变(saltysalt);
  2. 迭代次数:在对称密钥的生成过程中进行1003次迭代计算;
  3. 哈希函数:sha1;
  4. 密码:密码是整个环节中最重要的一个部分了。我们所要获取的,就是存储在“ChromeSafe Storage”中的凭证数据,而这部分数据又保存在用户的keychain之中。实际上,我们在访问这个安全存储密钥的时候并不需要获取到用户的keychain密码。因为我们可以在终端中使用命令“securityfind-generic-password -ga Chrome”来直接调用macOS的安全处理进程,此时系统将会显示如下图所示的对话框:

如上图所示,我们在没有输入用户密码的情况下获取到了Chrome的安全存储密钥。没错,就是这么简单!

加密与解密

之前我们也已经讨论过了,其中的AES解密密钥是通过PBKDF2密钥(‘sha1’,safeStorageKey, ‘saltysalt’, 1003)来生成的。既然我们已经获取到了这些数据,那么接下来我们怎么利用这些数据来自动化地从数据库中提取信息并解密所有的数据条目呢?没错,我们要使用的就是Python,毫无疑问,Python永远是最赞的!而且更棒的地方就在于,macOS已经帮我们安装好了Python的运行环境了,所以我们无需再去配置各种各样乱七八糟的东西了,我们可以直接在任何一台macOS设备上运行Python脚本。只需五秒钟,一切都可以搞定!

如果你想要使用Python来进行AES解密的话,我们通常都会使用这个功能强大的第三方加密库来完成【传送门】,但悲剧的地方就在于,它并不是一个原生代码库。所以我打算使用OpenSSL命令行工具来发送一个采用base64编码的加密密码副本和PBKDF2解密密钥的十六进制副本。在这个过程中我还使用到了一些其他的工具,这些工具可以在我的Github代码库中获取到【传送门】。输出信息如下图所示:

我们可以从上图中看到,Google并没有对这些keychain数据进行加密保护。实际上,当用户在除了Chrome浏览器以外的地方访问这些密码的时候,Google完全可以要求用户提供Keychain密码,但是很明显他们并没有这样做!

如果Google想要修复这个问题的话,那么他们在最初创建安全存储密钥的时候就得要求用户输入密码以验证登录信息。除此之外,苹果公司在向开发者提供这类功能的时候,也应该谨慎考虑安全性的问题。

总结

各位同学可以直接使用这个程序来解密macOS平台下的Chrome密码【工具下载】。这是目前唯一一个针对macOS/OS X平台的Chrome密码解密软件,用户无需配置任何的依赖环境即可直接使用这款软件。如果你动手能力很强的话,你也可以添加一些额外的功能代码,让这款工具帮助你自动提取密码,然后将其上传至远程FTP服务器中,并清除你在目标主机中的所有操作痕迹。这样一来,它就变成了一款黑客工具了,这就是开源的魅力。





本文作者:佚名
来源:51CTO
目录
相关文章
|
Web App开发 数据安全/隐私保护
Chrome谷歌浏览器密码数据导出与导入管理(实现数据无缝同步)
Chrome谷歌浏览器密码数据导出与导入管理(实现数据无缝同步)
680 0
|
Linux iOS开发 MacOS
CrossOver23中文永久免费版MacOS平台快速运行Windows软件
CrossOver是一款可以让Mac和Linux系统中正常运行Windows软件的应用程序。它不像虚拟机一样需要安装Windows系统之后才可以安装Windows的应用程序,这一方式给大多数用户带来了方便。通过CrossOver实现跨平台的文件复制粘贴,使Mac/Linux系统与Windows应用良好结合。CrossOver下载:http://t.csdn.cn/Ixdq6
3662 0
CrossOver23中文永久免费版MacOS平台快速运行Windows软件
|
5月前
|
NoSQL Redis 数据安全/隐私保护
macos系统中redis如何设置密码
以上步骤应该可以帮助你在macOS系统的Redis服务中设置密码,确保你的数据存储更加安全。此外,确保你定期检查Redis安全性相关的最佳实践和更新,以保持你的服务安全可靠。
408 3
|
7月前
|
消息中间件 数据库 iOS开发
第五十一章 使用 ^SystemPerformance 监视性能 - Apple macOS 平台的 InterSystems IRIS 性能数据报告
第五十一章 使用 ^SystemPerformance 监视性能 - Apple macOS 平台的 InterSystems IRIS 性能数据报告
55 0
|
7月前
|
文字识别 API 语音技术
MacOS平台翻译OCR软件,双管齐下,还可自定义插件,为其添砖加瓦!
MacOS平台翻译OCR软件,双管齐下,还可自定义插件,为其添砖加瓦!
170 1
|
7月前
|
移动开发 监控 Swift
使用Swift编写电脑监控录屏软件:在macOS平台上实现
在本文中,我们将探讨如何使用Swift编写一款电脑监控录屏软件,实现在macOS平台上的功能。这个软件将能够监控用户的屏幕活动,并将录制的数据自动提交到指定的网站。我们将深入讨论代码示例,以帮助您了解实现过程。
355 0
|
Web App开发 JavaScript 算法
开源个参考 chrome 密码生成写的密码生成库
几个月前因为某个需求参考了 chrome 的密码生成的源码撸了一个 js 的密码生成器,这里分享一下。
|
IDE 开发工具 Android开发
在Windows和macOS平台,自主编译Qt Creator和Qt Designer源码
在Windows和macOS平台,自主编译Qt Creator和Qt Designer源码
499 0
|
数据安全/隐私保护 Android开发 iOS开发
一日一技:macOS如何找回已经连接的Wi-Fi密码?
一日一技:macOS如何找回已经连接的Wi-Fi密码?
398 0
一日一技:macOS如何找回已经连接的Wi-Fi密码?