本文由小茆同学编译,陈裕铭、Roe校对,转载请注明。
我们经常聊到关于提取完整文件系统的话题,却很少解释它是什么,何时可以做,以及可以使用哪些方法。今天我们一起来了解关于苹果移动设备(iPhone和iPad,以及其他一些物联网设备,如 Apple TVs和Apple Watch)完整的文件系统和钥匙串提取。
什么是完整文件系统提取?
数据提取是移动设备取证的第一步也是最重要的一步。虽然提取方法有多种,但实操中选择却不多。通常在给定的条件下,只有一种或两种方法可用于特定设备。
不同的提取方法可以提取到不同类型和数量的数据。完整文件系统的提取是指从设备中获取除未分配数据之外的所有数据,从根目录起,包括所有应用程序数据,临时文件,日志,系统文件,详细的位置历史记录等。
不同的提取方法差异较大,最简单好用的方法是逻辑采集(可参考本公众号“‘逻辑采集’知多少”),逻辑采集最兼容和最易使用,但也只能获取很少的数据。另外逻辑采集不适用于文件系统提取,但如果操作得当,仍然会获取到钥匙串的副本。
无论iOS(或iPadOS,watchOS,tvOS)的设备型号和版本如何,逻辑采集都是100%兼容的,但其获取数据却很有限。最常见的获取类别包括,如联系人,电话,便签,媒体文件等,但这与完整文件系统提取实际可以获得的数据类别相去甚远。
通过逻辑采集,可能会解密钥匙串,但不是每条记录都可以。一些记录如加密密钥和身份验证令牌等只有完整文件系统提取才可以获取。
另外,Apple TV和Apple Watch逻辑提取具有局限性,这些设备没有备份服务,只能获取到媒体文件和一些日志。但是通过完整的文件系统提取可以获得所有数据。
何时进行完整文件系统获取?
何时进行完整的文件系统和钥匙串提取?答案可能是越早越好,但我们仍然想说:无论何时,尽可能地进行完整的文件系统提取。
如果只需要通话记录或便签之类的数据,则可以在没有文件系统副本的情况下进行操作。但是,如果您需要以最彻底的方式提取尽可能多的数据,请尽可能获取完整文件系统。
然而,许多运行最新版本的iOS的新型设备与底层提取方法不兼容。在这种情况下,您不得不采用逻辑获取,但仍有一些操作技巧可供参考。
如何进行完整文件系统获取?
首先,需要底层提取才能访问文件系统。底层提取也分许多种类,基于硬件的checkm8提取是最彻底的,而基于软件的提取代理可以在任何硬件上运行,只要其与iOS版本兼容。基于代理的提取仅次于checkm8的第二选择,可为所有运行兼容版本的iOS的Apple设备提供强大的文件系统提取。基于代理的提取更符合取证需求,只需安装轻量级应用程序,而无需更改任何用户数据。
是什么原因让某个iOS版本与代理“兼容”?基于代理的提取是通过利用iOS内核中的已知漏洞来获取所需的权限级别。为此,该应用程序打包了许多内核级漏洞,并使用一个或多个漏洞来躲避沙箱并访问文件系统。此类攻击通常需要花费大量的时间和精力来查找和实施,然而Apple会积极修补iOS更新中的已知漏洞。这就是为什么最新版本的iOS通常不受为早期版本开发的漏洞的影响。
综上,Checkm8提取是基于Apple传统型号上可用的硬编码(将可变变量用一个固定值来代替)引导加载程序漏洞。基于代理的提取则是通过利用iOS中的漏洞(因此受软件限制)获得所需的特权级别。两者都能获取几乎相同的数据集,但也有自己的优点和缺点:
checkm8提取:
·适用于所有iOS版本;
·不限制于MDM;
·满足取证需求;
·不适用于新设备;
·可能会移除密码(并会因此丢失部分数据);
基于代理的提取:
·适用于iPhone 13 Pro Max之前的所有设备,包括基于M1的第五代iPad Pro;
·不需要移除密码;
·基本满足取证需求,会对系统进行一些更改;
·与iOS版本的有限兼容性 ;
·MDM(Moblie Device Management 移动设备管理)可能会阻止该方法运行;
·需要使用Apple开发人员帐户;
结论
建立文件系统的副本并尽可能提取钥匙串,不要指望“一键式”解决方案,无论使用哪种方法,底层提取总是很棘手,但同时也是非常有价值的尝试。
原文链接:
https://blog.elcomsoft.com/2022/06/full-file-system-and-keychain-acquisition-what-when-and-how/
参考链接:
https://blog.elcomsoft.com/2022/06/logical-acquisition-not-as-simple-as-it-sounds/
来源:数据安全与取证