查看原文
其他

钥匙串:苹果移动设备的金矿

石冀 数据安全与取证 2022-11-11

本文由石冀编译,Roe校对,转载请注明。

钥匙串是iOS和macOS的重要组成部分,它可以安全地存储最关键的数据:各种密码、加密密钥、证书、信用卡号码等等。在可能的情况下,提取和解密钥匙串是移动取证中必须的。

提取钥匙串的方法可以参考《提取和解密iOS钥匙串:物理、逻辑和云端选项的探讨[1]》,不同的方法将出现不同的结果。当用逻辑获取法分析加密的备份时,你无法获取到所有的项目,如一些安全信使(如Signal和Wickr)的加密密钥,以及许多其他的零碎项目。用我们的提取代理获得的钥匙串理论上是相对完整的,并包含所有这些密钥,以及一些非常有用的数据,如本地备份密码,它可以用来解锁包含已经从设备本身删除的数据的旧备份。

TL&DR

• iOS钥匙串包含有价值的证据

• 低级别提取解密所有钥匙串项目

• 新版本:iOS Forensic Toolkit现在支持在所有支持的设备上运行iOS 15.1.1及更高版本的钥匙串提取(以前是到iOS 14.4.1为止,包括iOS 14.4.1)。

• 在旧版本中,专家在提取钥匙串时必须用屏幕锁密码解锁设备(即便如此,一些钥匙串项目也可能丢失)。新版本不再需要解锁,所有钥匙串项目都可以被解密。

• 现在支持基于M1的iPad Pro。

• 钥匙串提取攻略(含截图)

它是关于什么的

取证专家的最终目标是从设备中提取尽可能多的数据。逻辑获取是最简单的使用方法,也是支持所有设备和所有版本的iOS的最兼容的方法(见《逻辑获取知多少[2]》),但正如我们最近在《完整文件系统和钥匙串获取:什么、何时和如何[3]》中解释的那样,不同的方法可能产生明显更好的反馈。

对于包括iPhone X在内的设备(以及许多iPod和iPad,大多数Apple TV型号和Apple Watch S3)我们有一种基于引导程序漏洞的出色的取证提取方法。然而,对于基于苹果A12和更新的SoC的设备,这种方法并不适用,提取完整的文件系统和钥匙链的唯一解决方案是使用我们独特的基于代理的方法,提供大致相同的结果。

提取代理使用内核级漏洞,因此对支持哪些版本的iOS有一定的限制。在撰写本文时,该代理支持iOS 15.1.1和更早的版本。文件系统的提取相对简单(一旦我们有一个合适的漏洞),而钥匙链有一些额外的保护层,更难解密。正因为如此,我们只支持iOS 14.4.1及更早版本的钥匙串提取。今天,随着Elcomsoft iOS Forensic Toolkit[4]的更新版本发布,这种情况正在改变。新版本缩小了对iOS版本支持的差距,并允许对所有支持文件系统提取的iOS版本进行钥匙串解密。这意味着完整的文件系统提取和钥匙串解密都可以用于iOS 15.1.1以下的所有版本,以及iPhone 13 Pro Max以下的所有设备。

此外,在关键链提取方面有一个显著的改进。在早期版本中,你必须在这个过程中输入设备密码(有时甚至两次),或在手机上使用Touch ID或Face ID。不管怎么说,时不时会有一些钥匙串记录没有被提取出来。通过这次更新,我们使这一过程无懈可击:不需要在手机上做任何操作,完整的钥匙串也能被解密。

最后,我们为基于M1 SoC的最新款iPad Pro(第五代)增加了完整的文件系统和钥匙串提取。iPad在一年多前发布了iOS 14.5.1系统;我们目前支持iOS 14版本的所有版本(直到14.8.1),以及iOS 15.0至15.1(与iPhone的范围相同)。

提取钥匙串

对于EIFT 7.x,只需遵循标准的安装程序即可。Windows版本将指导你完成整个过程,并在开始菜单中安装Elcomsoft iOS Forensic Toolkit图标。对于macOS版本,需要装载DMG安装镜像,并将产品图标复制到应用程序。

对于EIFT 8.0测试版,安装需要一些手动步骤。挂载适当的DMG镜像(有两个:一个用于macOS Big Sur和Monterey,支持基于Intel和M1的Mac;另一个用于macOS High Sierra、Mohave和Catalina)之后,首先将EIFT文件夹复制到桌面(或任何其他文件夹)。然后,通过在控制台运行以下命令,从该文件夹中删除隔离标志:

xattr -r -d com.apple.quarantine <path to folder>

现在cd到该文件夹并启动EIFT:

./EIFT_cmd <parameters>

• 代理安装

用Lightning数据线将设备连接到电脑上,或者用USB Type-C连接部分iPad型号,先建立信任关系。

在EIFT v7中,可以通过从菜单中选择[1]命令来安装代理;在EIFT v8中,运行以下命令。

./EIFT_cmd agent install

然后,系统会提示您输入苹果ID和密码,并可能被要求通过双因素认证。

重要提示:请勿使用设备所有者的用户的苹果ID。关于更多的细节账户和限制,请参考《iOS低级获取:如何侧载提取代理[5]》。普通用户和开发者可以在Windows和macOS中使用。

注意:如果设备上的日期和时间不正确,代理安装可能会失败。

一旦代理安装完毕,你应在设备主屏幕上看到采集应用程序图标。

操作方法

在设备上,通过点击其图标启动提取代理。

在EIFT v7中,运行菜单项[2](钥匙串提取);将提示您提供钥匙串路径的输出路径。在EIFT v8中,运行以下命令:

./EIFT_cmd agent keychain -o <filename>

提取代理将使用已知的漏洞来获得所需的权限级别,然后读取和解密钥匙链项目,并将其保存到一个XML文件以供进一步分析。你可以手动审查分析提取的记录。请注意,文件名(用于保存钥匙串)应该是唯一的;如果文件已经存在,则提取失败。

对于某些版本的iOS,提取阶段可能需要一分钟,通常情况下会更快。保存解密的钥匙串的速度很快。

有时,钥匙串的提取在第一次运行时并不成功:可能设备屏幕上显示 "所有漏洞失败"(在这种情况下,只需重新启动设备并再次尝试;没有必要重新安装代理,只需运行它并运行采集),或者设备只是重新启动。我们使用的一些漏洞需要3-5次尝试。

现在,也支持提取完整的文件系统(以.tar归档的形式)。如用户手册中所述—— 最后,从设备上删除代理(注意:会留下一些痕迹)。

兼容性

你可以通过checkm8或提取代理从以下设备提取文件系统和解密钥匙串。

• iPhone 5s, iPhone 6, iPhone 6s, iPhone SE (1st gen), iPhone 7, iPhone 8, iPhone X: 它们可以运行的所有iOS版本

• iPhone Xr/Xs、iPhone 11、iPhone 12、iPhone SE(第二代)、iPhone 13:直到并包括iOS 15.1.1

iPhone SE(第三代,2022年)不在名单上,因为它发布时已经搭载了iOS 15.4。我们也没有列出其他设备(如iPod Touch、所有iPad型号,包括Mini/Air/Pro、Apple Watch和Apple TV);基本上,根据它们所基于的SoC,对iPhone的支持是一样的。

为方便起见,请见下表。

“*”表示支持该模式,但设备密码需要提前删除(仅限iOS 14和iOS 15)。我们正在努力为iPhone 7取消这一限制。还请注意,代理收购不适用于苹果电视(checkm8适用)。

原文链接:

https://blog.elcomsoft.com/2022/07/keychain-the-gold-mine-of-apple-mobile-devices/

参考链接:

[1] https://blog.elcomsoft.com/2020/08/extracting-and-decrypting-ios-keychain-physical-logical-and-cloud-options-explored/

[2] https://blog.elcomsoft.com/2022/06/logical-acquisition-not-as-simple-as-it-sounds/

[3] https://blog.elcomsoft.com/2022/06/full-file-system-and-keychain-acquisition-what-when-and-how/

[4] https://www.elcomsoft.com/eift.html

[5] https://blog.elcomsoft.com/2022/04/ios-low-level-acquisition-how-to-sideload-the-extraction-agent/

[6] https://www.elcomsoft.com/eppb.html

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存