8bf4c61fceed7ff3808b8f9968099f00.png

众所周知,iOS系统目前在全世界是加密度最高的系统,尤其是其独特的文件加密结构和专用的协议让数据恢复工作变得非常困难

之前,知乎有这么一篇提问引起了很大关注,本人也进行了详细的回答,列举了我知道的一些方法。

父亲的 iPhone 6s 和 5 都有屏锁,父亲去世,包括母亲在内的亲人都打不开怎么办?​www.zhihu.com

幸运的是,也帮助了很多因各种原因导致密码停用而受困的朋友,让我更有动力去探索ios数据恢复这一领域。

4460712190297a9b118feee6be719262.png

因为日常时间有限,有些朋友的信息尚未答复,在此表达歉意!

闲话不多说,那些因为各种意外事件导致的停用、密码忘记后怎么办?iOS在停用状态、在ID锁定状态、在无法开机状态究竟有无新的技术方法实现技术提取,难点在哪里。

Checkm8漏洞的出现,让iPhoneX(A12)及以下设备获取ios最高权限成为可能,目前市场上已经有免拆机读写硬盘的产品出现,利用一键紫屏获取最高权限,更改硬盘底层信息,免拆机实现爱思验机“全绿”

713f82dffe6376497bc1d7da8a55ba58.png
国内某硬盘底层读写软件

39d4bb8d6942a3ac23584cf0a94d19ec.png
富士康工厂紫屏模式

幸亏各种助手在我们验机那一刻应收尽收的“好心”把设备完整档案都拷贝到了各家服务器上来有限的辨别是否被修改过数据,不然还会引发二手市场很大的震荡

270b2e4e362bd40afb89c489b2058318.png

那既然可以获取最高权限,轻易读写序列号国别wifi等信息,能否读出用户分区的文件呢?理论上是可以的,但这里遇到几个难题需要解决:

1.目前的各种软件工具未能整合,各种利用checkm8漏洞的工具挑系统、挑版本,极其不稳定,而且一键紫屏的实现直接影响了各种硬盘测试架商家的蛋糕,目前看样子有联手封杀的意思,而轻松读写苹果硬盘底层数据这个影响很大,包括改国别、改序列号、绕过ID锁等太多非法用途,会造成很大的混乱。

2.“已停用”一键解除不知道已何种方式实现,当年iPhone4时代利用bootrom漏洞可以轻易删除停用倒计时文件来解除停用,但目前新的设备只能通过保资料刷机的方式来一定概率解除停用,而具体是怎么实现的,什么原理,我本人目前还是很困惑,要知道很多人运气是很差的,不能只依靠运气来解除。

3.越狱后打开ssh通道,通过sshpass来调用"tar -cf - /"命令轻易将iPhone上的文件打包输出到tar文件。但在未知锁屏密码之前,只能得到有限的数据,但是用户的钥匙串文件可以获取,再猜测锁屏密码或暴力破解出锁屏密码其实不是难事,但是包括国际上有名的几大取证公司在内还没人开发。

bbffa84218a91ce910c26962a8493b25.png
利用root权限打开ssh

也就是说,有了root权限,不管手机是否停用,是否有锁屏密码,是否还能开机,只要硬盘没坏,只要能进dfu,都是可以提取文件,只是不同情况提取的文件也不同,而为什么不同

这里要说到DFU的BFU与AFU模式

BFU是Before First Unlock(首次解锁前)的首字母缩写。BFU指的是已经关机的苹果手机或者重启以后没有解锁进过手机桌面的苹果手机。与之相对的是AFU是After First Unlock(首次解锁后)的首字母缩写。AFU指的是开机以后已经用屏幕密码解过锁的苹果手机。

BFU与AFU模式的最大差异就是手机本次启动以后是否解过锁。在苹果的世界里,iPhone 的内容直到用户输入他们的屏幕锁密码之前是安全加密的。屏幕锁屏密码被用来生成加密密钥,这个密钥被用来解锁iPhone的文件系统.换句话说,iPhone 内部几乎所有的东西都保持加密状态,直到手机启动后用户用自己的密码解锁。

根据Apple官方的《2019年秋季平台安全指南》的“加密和数据保护”章节的“数据保护类”一节所说:

在 iOS 设备或者iPadOS设备上创建新文件时,创建它的应用会为其分配一个类。每个类使用不同的策略来确定数据何时可被访问。

根据Apple官方的《2019年秋季平台安全指南》的“加密和数据保护”章节的“数据保护类”一节所说:

在 iOS 设备或者iPadOS设备上创建新文件时,创建它的应用会为其分配一个类。每个类使用不同的策略来确定数据何时可被访问。

iOS一共有四个级别的保护策略:

1. 全面保护(NSFileProtectionComplete):这个级别在设备锁定时是加密的。因此BFU状态下是加密的

2. 未打开文件的保护(NSFileProtectionCompleteUnlessOpen):这个级别在文件被打开时才可以访问。BFU状态下,显然文件还没有被打开,所以也是加密的

3. 首次用户认证前保护(NSFileProtectionCompleteUntilFirstUserAuthentication):这个级别在第一次解锁进桌面前也就是BFU状态下是加密的。注意:**这个级别是所有第三方应用数据默认的保护策略**

4. 无保护(NSFileProtectionNone):此类文件仅受UID保护。

以上1-3类的数据都必须在首次解锁进入桌面才能访问,否则都是加密的。因此在BFU模式虽然可以以root身份获取一些文件,但是大部分有价值的数据都无法访问。目前我们知道在 BFU 模式下(未知的设备密码) ,你可以得到已安装的应用程序列表、一些 Wallet 数据、 Wi-Fi 连接列表、大量媒体文件、通知(这些可能包含一些聊天消息和其他有用的数据)、日志。还有很多定位信息,以及一些社交软件(比如微博、支付宝、陌陌等)的账号信息和少量联系人信息。

另外在BFU模式下,可以提取部分Keychain信息。Keychain的数据也有不同的保护级别,只有具有 kSecAttrAccessibleAlways 和 kSecAttributeAccessibleAlwaysThisDeviceOnly 属性的记录才可以被提取。

综上所述,目前仅依靠硬件漏洞来实现iOS的数据提取和恢复还有很长的路要走,但曙光就在眼前,需要更多的人合力才能完成,希望行业内的专家能一起交流。


2020年6月23日更新:

基于Chekcm8漏洞的一键解除“iPhone已停用”软件已发布,iPhone5s-X,iOS13.5及以下,基本上一键解除,而且可以实现激活文件的备份,刷机后可以导入Dump文件来实现绕ID的后的网络信号的激活

407c6a1b2a8f435fa7823f1095fc67f2.png

引用

Elcomsoft Implements BFU Keychain Extraction from Locked and Disabled iPhones | Elcomsoft Co.Ltd.

https://www.fixplus.cn/index.php/College/view/id/117

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐