导语:iOS 12.4目前已被已越狱,而Elcomsoft iOS取证工具包就是成功越狱的神奇。将两者结合使用,可以对文件系统进行映像,并解密运行大多数iOS版本的iPhone和iPad设备的钥匙串(除了iOS 12.3和最新的12.4.1,但12.4目前仍在签名)。
iOS 12.4目前已被已越狱,而Elcomsoft iOS取证工具包就是成功越狱的神奇。将两者结合使用,可以对文件系统进行映像,并解密运行大多数iOS版本的iPhone和iPad设备的钥匙串(除了iOS 12.3和最新的12.4.1,但12.4目前仍在签名)。
这种越狱的情况比表面上看到的要复杂得多,目前市面上只有两种不同的越狱工具:unc0ver和Chimera。这两种越狱工具目前都有几个迭代版本,另外,它们的版本之间的差异非常严重。不过,还有一种工具(GeoFilza)可以在不越狱的情况下访问某些iOS设备上的文件系统(但不能访问钥匙串)。最后,我们成功破解了运行受影响tvOS版本的苹果电视。
在本文中,我将解释这两种越狱及其版本之间的区别,并提供有关不越狱就可以访问文件系统的工具的信息,并说明如何在脱机模式下安全地越狱。
漏洞利用
苹果公司在iOS 12.4中未修复由Google Project Zero研究人员Ned Williamson在iOS 12中发现并先前在iOS 12.3中修复的SockPuppet Flaw(CVE-2019-8605 )。不过 苹果公司于2019年5月在iOS 12.3中修复了iOS和macOS中XNU内核中的漏洞。
注:CVE-2019-8605 漏洞(sockport)最初由 Google Project Zero 安全团队和 Google 资安工程师 Ned Williamson 共同发现,该漏洞可以造成核心释放后重用(use after free)漏洞,并允许恶意程序以系统权限执行任意代码。
该漏洞存在于所有版本或iOS 11、iOS 12.0-12.2和iOS 12.4中。从A7到A11的所有苹果硬件都受到了全面的影响,而最新的A12和A12x设备受到了“部分影响”(影响情况请点此查看)。自那以后,这名越狱的小伙子就发现了在所有受影响的设备上实现tfp0所需的一系列漏洞,包括A12 (iPhone XS、iPhone XS Max、iPhone XR、iPad Mini(2019)、iPad Air(2019)和A12x (11英寸和12.9英寸的iPad Pro)。
2019年7月,Ned Williamson发布了SockPuppet(内核漏洞)和SockPuppet2(内核漏洞),利用代码“实现kernel_task port”或task_for_pid(0) (tfp0),这是目前破解苹果设备的热门漏洞。该漏洞代码被jailbreak开发人员发现,并导致unc0ver越狱版本的发布。
目前苹果在iOS 12.4.1中再次修复了该漏洞,因此,iOS 12.3、12.3.1、12.3.2、iOS 12.4.1和iOS 13 (beta版)不受影响。
unc0ver
第一个利用该漏洞的越狱是unc0ver,目前,unc0ver在某些设备上仍然是不太可靠的越狱工具(尤其是在运行iOS 12.4的thise上)。然而,它是最兼容的版本,因为它支持iOS 11和iOS 12的所有版本,直到12.4,但iOS 12.3.x除外。
unc0ver是一款经典的越狱软件,具有文件系统重新安装和Cydia软件包管理器的功能。但有一个例外:unc0ver 3.5.5充当A12和A12x设备(iPhone Xs/Xr一代)的“部分”越狱。虽然此特定版本不会在A12(x)设备上重新加载文件系统,但是,它仍然提供了一个有效的SSH守护进程(你可以从OpenSSH和Dropbear中选择)并访问文件系统。从某种意义上说,unc0ver 3.5.5类似于只在A12(x)设备上使用无根越狱。因此我们推荐在A12(x)设备上使用unc0ver 3.5.5。如果你在不同的设备上使用unc0ver,可以获得最新版本的越狱。
下载链接:https://unc0ver.dev/;
GitHub:https://github.com/pwn20wndstuff/Undecimus;
直接下载链接:unc0ver 3.5.5 (如果无法直接下载,请检查unc0ver.dev/以前的版本)。
Chimera(iOS + tvOS)
Chimera是针对iOS 12.4发布的第二次越狱,Chimera来自与unc0ver不同的团队,有着不同的越狱理念。Chimera开发人员选择使用新的包管理器Sileo,而不是unc0ver中的Cydia。与Cydia Substrate(unc0ver)相反,用Substitute(Chimera)注射调节剂。有趣的是,Uncyver开发人员决定在A12和A12x设备上使用Substitute,因为Cydia Substrate很难或不可能在此硬件上运行。
Chimera下载链接:https://chimera.sh/;
包管理器的选择和调整注入方法实际上会影响取证专家,因为:
1.文件系统要重新安装,一般来说,我们不希望文件系统重新加载到要从中提取数据的设备上,unc0ver 3.5.5是唯一一个不重新加载文件系统的越狱,但只适用于A12设备。
2.绑定的SSH守护进程,我们需要SSH才能连接到设备。unc0ver可以选择安装OpenSSH或Dropbear,看起来第一个更可靠,Chimera使用Dropbear。
3.A12和A12x支持(iOS 12.2, 12.4),只有unc0ver支持A12(x)设备,Chimera在撰写本文时尚未支持。
4. tvOS支持,如果你正在使用Apple TV 4或4K设备,则Chimera是唯一的选择。
5.可靠性,正如我们所发现的,Chimera比unc0ver更可靠。使用unc0ver,我们经常会随机重启设备,或者并不是所有的文件都被复制并保存到.tar存档中,或者钥匙串没有被提取等。
因此,我们强烈建议将Chimera用于大多数设备和iOS版本,而unc0ver是运行12.2或12.4的iPhone Xr/Xs(以及第三代iPad Pro)的唯一选项,同样,我们建议使用unc0ver的3.5.5版本。还请注意,Chimera是唯一支持运行tvOS 12的Apple TV的越狱程序(有关Apple TV数据分析的更多信息,请点击此处)。
Chimera也是iOS 12.2和12.4中唯一可以用来解密钥匙串的越狱工具。
GeoFilza
你知道吗,即使不越狱也可以访问文件系统? GeoFilza是运行iOS 12.0至iOS 12.1.2的iOS设备的文件管理器,该工具由安全研究员GeoSn0w开发。
Github: https://github.com/GeoSn0w/GeoFilza;
GeoFilza是一款iOS多功能系统文件管理器,能让你不需要越狱就可以直接读取iOS 12原生系统文件。实际上,GeoFilza 主要是利用 voucher_swap b4 漏洞执行 Filza 系统文件管理工具,当界面出现 iOS 系统文件夹列表即表示漏洞利用成功。如果打开时遇到卡死在全白界面,或出现设备重启的现象,这些都是漏洞利用失败导致,只需再次打开尝试即可。当然,千万不要随意删除系统重要文件,不然可能会导致系统图标丢失或者白苹果。
GeoFilza可以利用iOS 12到12.1.2的漏洞访问文件系统,而不需要越狱。简而言之,GeoFilza是一种访问设备上锁定数据的干净简单的方法。但是,使用GeoFilza将数据导出到计算机有点麻烦,不过你可以使用iCloud Drive或Dropbox。
不幸的是,GeoFilza尚不支持iOS 12.4。
安装越狱:颁发证书
关于越狱的报道很多,关于用于物理提取的越狱主题,我们已经陆陆续续写了许多文章,你可以点此了解。虽然那篇博客文章非常详细地解释了所有内容,但我觉得使用开发人员证书安装越狱程序的整个问题需要做一个澄清。
比如,为什么我们甚至需要iOS设备在越狱时上网? 因为如果未使用受信任的证书签名,iOS将不会运行侧载应用程序。Cydia Impactor会使用你选择的Apple ID在你的计算机上签署越狱IPA。还记得“可信”部分吗?iOS仍然不会运行侧载的IPA,除非你打开设置应用程序并“信任”签名证书。执行此操作时,iOS将与苹果服务器进行对话,以验证签名是否可信,这就是为什么需要互联网连接才能越狱的原因。
越狱的最大风险之一就是将设备暴露给外部世界,通过允许设备随时在线,你实际上是在允许设备同步信息,下载在设备被捕获时不可用的数据。这样,设备就很容易受到挂起的远程阻止或远程擦除命令的影响。
为避免所有这些麻烦,在采集过程的所有阶段中使设备保持离线状态至关重要。这有助于防止数据泄漏和不必要的同步,并避免可能会远程阻止或擦除设备的远程设备管理命令。
这个问题有几种解决办法,一些专家配置了专用的Wi-Fi接入点以允许连接的设备仅访问一些列入白名单的IP地址(例如ppq.apple.com)。虽然这是可行的,在设备上启用Wi-Fi,即使只是短暂的启用,也可能会在完全连接的情况下意外地连接到错误的Wi-Fi网络。这种情况很容易发生,因为接收远程擦除命令只需要很短的时间。解决方法是,一些专家将设备连接到两个适配器链上:一个Lightning到USB适配器和一个USB到以太网适配器(或者只是Lightning到以太网)。以太网更容易控制,允许设备连接到证书验证服务器,而不需要与错误的服务器进行任何通信。
最后,你可以使用反向Internet绑定,使iPhone能够通过主机连接到网络。不过,你仍然需要将证书批准所需的地址列入白名单。
有一个更容易的办法来解决这个困境,你可以使用开发人员证书,而不是使用个人证书来签署越狱IPA。开发者证书允许侧加载的应用程序在iPhone上运行(每个帐户最多100个),而不需要额外验证或“信任”证书。换句话说,如果你使用开发人员证书签署越狱IPA,你只需点击越狱图标,它就会立即启动。不需要证书验证,也不需要与苹果服务器对话。
获得开发人员证书
开发人员证书仅适用于注册的苹果开发人员,为了成为注册的苹果开发人员,你必须参加苹果开发者计划。在开始注册时,请确保注册为组织。不过,各个开发人员证书仍需要在设备上进行其他验证。你需要提交你的D-U-N-S号码并支付费用,一旦你的注册被批准,你就可以将你的苹果ID账户添加到程序中,并用它们来签署附加到设备上的IPA文件。
但是,请注意,每当你使用开发人员证书在新iPhone上签署越狱IPA时,该设备就会被注册到开发人员程序。不过,你可以注册的iOS设备数量是有限的,请确保在提取之后将iOS设备从你的Apple Developer帐户中删除。
iOS取证工具包的提示和技巧
在我们的《 iOS越狱和物理提取分步指南》中,我们描述了使用Elcomsoft iOS取证工具包提取文件系统和解密钥匙串所需了解的几乎所有知识。我不会在这里重复这些步骤,只提一些技巧和技巧,它们将帮助你使提取过程更加顺畅。
1.连接到计算机之前,请解锁iPhone。iOS可能在USB受限模式下禁用了USB端口。如果是这种情况,电脑将无法检测到iPhone,直到你解锁它。
2.禁用Internet连接(在两个设备上),我们一直在强调,确保正在提取的iOS设备保持在飞机模式下,并且Wi-Fi,蓝牙和移动数据切换均处于禁用状态。如果你仍然遇到奇怪的连接问题,请尝试从计算机上断开iPhone的连接,然后关闭所有EIFT终端(在Windows中,将有另一个终端窗口来保持SSH连接)。然后,禁用计算机上的所有有线和无线网络,然后重新启动EIFT并重复提取。禁用计算机上的网络连接有助于确保计算机与正确的设备建立SSH连,我们曾见过EIFT连接到房间中与专家计算机连接到同一接入点的随机iPhone的情况。
3.验证配对关系或使用锁定文件,如果有些东西不工作,如果某些方法不起作用,请确保已将iOS设备与你的计算机配对(已建立信任关系或使用了有效的配对/锁定文件)。
4.解锁iOS设备屏幕,并在获取过程中一直保持解锁状态。为此,我们有“D”(禁用屏幕锁定)命令。在解压缩文件系统或尝试解密钥匙串之前,请解锁设备并使用命令。如果不这样做,则在提取过程中将无法访问某些标记为“未锁定时”的项。
5.不要删除密码!否则,你将无法访问某些类型的证据,比如Apple Pay交易、下载的Exchange邮件和其他一些数据。
6.使用设备密码,当你使用iOS Forensic Toolkit提取钥匙串时,密码提示可能会出现在设备上。注意这一点!并输入它。否则,钥匙串将不会提取。
而针对Windows平台的技巧,请点击这里,有更多的提示。