【iPhone Keychain】六种解密方法

原著: VladimirKatalov,译:安证重生

非经授权,谢绝转载!

在苹果领域中,Keychain是MacOS、iOS及其衍生版本(如watchOS和tvOS)的核心和最安全的组件之一。Keychain旨在安全的保护用户最有价值的秘密。这包括对身份验证令牌、加密密钥、信用卡数据等的保护。终端用户最熟悉Keychain的一个特定特性:存储各种密码的能力。包括网站(Safari和第三方Web浏览器)、邮件帐户、社交网络、即时通讯、银行帐户以及几乎所有其他密码。有些记录(如WiFi密码)是“全局”的,而其他记录只能由它们各自的应用程序访问。iOS 12还开发了密码自动填充功能,允许用户在许多第三方应用程序中使用存储在Safari中的密码。

如果可以访问保存在keychain中的信息,那么就可以访问设备所有者的在线帐户、银行数据、在线购物、社交生活等的密钥。

苹果为开发者提供了关于Keychain服务的详细文档

(https://developer.apple.com/documentation/security/keychain_services),

并在iOS安全指南

(https://www.apple.com/business/site/docs/iOS_Security_Guide.pdf)

中提供了附加信息。

在本文中我们收集了有关访问和解密keychain秘密的所有现有方法的信息。

方法1:交互式(iOS设置)

你有尝试过打开[设置]|[帐户和密码]|[应用与网站密码]吗?为了访问该屏幕,你必须用指纹、密码或脸部ID进行身份验证,即使设备当前在解锁状态。在这个屏幕上,你将能够交互地浏览所存储的密码列表。“交互”部分表示缺乏适当的输出。为了导出特定的密码,你必须将其复制到剪贴板或通过AirDrop发送。无法同时导出多个密码。

当在iOS设置中浏览密码时,你将很快意识到缺少一些东西。你的iPhone上安装了Facebook或Twitter应用程序吗?如果是,你能在设置中看到你的Facebook或Twitter密码吗?除非你在Safari中使用了任意一个密码(例如,用于单点登录,即用户只需要登录一次就可以访问所有相互信任的应用系统),否则在iOS设置中不会看到这些密码。这仅仅是因为这些类型的密码没有由它们各自的应用程序保存,取而代之的是身份验证令牌。

640?wx_fmt=png

密码列表

640?wx_fmt=png

推特的账号密码

信用卡数据保存在不同的位置:

[设置]|[Safari]|[自动填充]|[已存储的信用卡]

由于某些原因,iOS不允许查看或编辑Wi-Fi密码。不过,可以在macOS中实现这一点。

复杂性:容易

优点:不需要额外的软件

缺点:需要访问物理设备(已经解锁);逐个复制粘贴(没有一次导出所有记录);仅仅是网站密码和信用卡。

方法2:MacOS Keychain工具

如果你除了iPhone之外还有一个Mac,并且你的密码是通过iCloud同步的(稍后将详细介绍),那么你可以在Mac上使用Keychain Access工具。该工具还是一次只显示一个条目,并且你每次都必须输入keychain密码。幸运的是,在新版Macbook上可以使用Touch ID代替密码。

640?wx_fmt=png

复杂性:容易

优点:不需要额外的软件;所有keychain数据都可用

缺点:需要访问iCloud同步的Mac;逐个复制粘贴(每次输入keychain的密码)

注意:还需要keychain密码

方法3:解密全部MacOS Keychain

你可以使用Elcomsoft Phone Digger提取所有记录,替代手动查看记录并逐个导出密码。你需要从Mac中复制出用户和系统keychain文件。为了解密用户keychain,你需要用户密码。系统keychain可以使用具有管理员访问权限的密钥文件进行解密。

640?wx_fmt=png

640?wx_fmt=png

复杂度:中等

优点:所有keychain数据(用户和系统keychain)都可用

缺点:需要访问iCloud同步的Mac

注意:还需要用户登录和keychain密码

方法4:从加密iTunes备份中提取keychain

如果你可以访问iPhone,你可以创建一个密码保护的iTunes备份。“密码保护”部分是绝对强制性的。如果不设置密码,或者正在分析没有密码的iTunes备份,则无法访问keychain。为了查看keychain,将备份加载到Elcomsoft Phone Breaker并使用[Explore keychain.]功能。你可以注意到许多keychain项没有解密。这是因为这些keychain记录具有更高的保护级别,并且只能通过创建它们的设备访问(解密需要硬件特定的密钥)

640?wx_fmt=png

这不是唯一的问题。如果你不知道现有备份的密码,那么破解它并不容易。虽然我们iOS 4-10.1的恢复速度为每秒数万个密码,但是新版本的iOS,如iOS 11和12,通过强大的GPU,这个数字下降到每秒大约一百个密码。然而,如果设备运行iOS 11或iOS 12,则可以使用“ResetAll Settings”命令重置备份密码。注意,这将删除Wi-Fi密码,但不会删除存储在keychain中的用户密码。

复杂度:中等

优点:只需要iTunes备份(使用已知密码),或者已经获得设备

缺点:破解iOS 10.2+密码(如果设置的话)几乎是不可能的;不是所有的记录都可以解密

注意:对于iOS 11+,可以重置备份密码(但是Wi-Fi密码会丢失)

方法5:越狱和物理获取

这是所有方法中最脏但是最强大的。如果你有一个可以破解的设备(在撰写本文时,对于iOS版本存在可以破解的版本最高到iOS 11.3.1),你将能够解密所有keychain记录,包括那些具有最高保护级别的记录。只要使用ElcomsoftiOS取证工具包。如果成功安装了jailbreak(这对于iOS的一些版本来说并不容易),其余的只需点击几下即可。

640?wx_fmt=png

GrayShift的GrayKey设备允许从非越狱的iPhone中提取keychain(以及文件系统的拷贝),但是它需要花费15000美元,并且只能在指定的国家(美国、加拿大、英国、澳大利亚和新西兰)选择代理。它还适用于数量有限的iOS版本(由于某些原因,兼容性列表是保密的)。

复杂性:难

优点:允许访问全部keychain记录

缺点:需要访问(解锁)设备;需要越狱

注意:GrayKey允许对iOS 11.4甚至一些没有越狱的iOS 12版本进行keychain提取,但是仅对指定国家的执法部门开放;而且这设备很昂贵。

自iOS 7以来,keychain可以通过iCloud与其他设备同步。这是好消息,因为iCloud提取不需要访问设备本身。然而,你将需要用户的Apple ID和密码,以及来自第二身份验证因素的一次性代码(除非你在已经受信任的设备上执行提取)。此外,你还需要进入“信任圈”的iOS或macOS设备的屏幕密码或系统密码。

方法6:iCloud Keychain

许多keychain项没有同步到iCloud。苹果公司的Set up iCloud Keychain的文章写道:“iCloud Keychain会记住一些事情,所以你不必这么做。它自动填充你的信息,比如在任何设备上的Safari用户名和密码、信用卡、Wi-Fi和社交登录”。这篇文章的前一版本说只有密码是同步的,这是不正确的;一些应用程序(至少如Facebook和LinkedIn)也同步身份验证令牌。令牌比密码更难使用;你不能手动使用它们来访问所需的网站或应用程序。然而,它们稍微优于密码,因为它们的使用将允许你绕过双重验证(如果已经启用双重验证)。

iCloud Keychain可以通过Elcomsoft Phone Breaker获得,你曾经使用它来查看本地(iTunes)Keychain。下载的Keychain看起来就像iTunes备份的Keychain。记录的数量会有所不同,因为有些记录会丢失。反过来,你可能会看到一些在本地备份中没有看到的额外记录。

复杂度:中等

优点:不需要访问设备;从所有同步设备访问keychain数据

缺点:需要iCloud凭据(包括双重验证)和设备密码,以及没有双重验证的帐户的iCloud安全代码,许多记录不可用

注意:如果满足所有要求,你还可以访问iCloud中的iMessage和iCloud同步的健康数据


总结:Keychain解密的优点

在许多情况下,你可能需要访问Keychain数据,即使你不在执法部门工作。如果是,你将会知道这些数据有多么重要。

如果重置了设备,则此操作将完全擦除Keychain,没有恢复的机会。如果你碰巧有一个iTunes备份,并且忘记设置密码,那么你就走运了。在这种情况下,如果启用了iCloudKeychain,那么iCloud Keychain可能是你唯一的希望。

如果重置设备(设备运行iOS 11或iOS 12)上的网络设置,则删除Wi-Fi密码。如果你保存了很多网络,则确保确保提前保存它们。

   值得我们给执法部门的读者提个简短的说明。如果你成功提取到Keychain,那么接下来你可能想做的是从Keychain中发现的密码生成一个词表/字典。当攻击设备/帐户所有者的其他数据(文档、数据库或系统)的密码时,这个词表将非常有效,特别是如果你使用分布式密码恢复。

 

注:

1、原文出自

https://blog.elcomsoft.com/2018/12/six-ways-to-decrypt-iphone-passwords-from-the-keychain/

2.关于Keychain服务的全面文档

https://developer.apple.com/documentation/security/keychain_services

3.iOS安全指南

https://www.apple.com/business/site/docs/iOS_Security_Guide.pdf

4.用到的工具

macOS Keychain Tool;Elcomsoft Phone Digger;Elcomsoft Phone Breaker;ElcomsoftiOSForensic Toolkit


640?wx_fmt=gif

iOS的密码管理系统 Keychain的介绍和使用

https://blog.csdn.net/zhoushuangjian511/article/details/78583429

Keychain简单使用

https://blog.csdn.net/wang_Bo_JustOne/article/details/80409613

谈谈iOS Keychain的使用

http://blog.51cto.com/13619586/2074256

640?wx_fmt=gif

猜你喜欢

转载自blog.csdn.net/xCnhYKoHj3eK/article/details/86535147