您当前的位置:首页 > 技术研究

跳过iPhone iPad设备激活锁 Sliver

时间:2025-02-24 21:38:58  来源:  作者:快乐有喜
Setup.app 和激活锁完整指南
由安全研究员和绕过专家 Apple Tech 752 编写
什么是 iCloud Bypass?
绕过是消除或减轻 iOS 设备上激活的影响的过程。根据设备型号和 iOS 版本,可以通过从根文件系统中删除Setup.app目录直接实现 iCloud 绕过,也可以通过修改现有激活可执行文件或注入欺骗性激活记录间接实现。所有现代绕过方法都是因为非常强大且无法修补的checkm8 bootrom 漏洞,该漏洞允许我们通过SSH修改 iOS 设备的根文件系统。利用此漏洞的最知名平台包括checkra1n、ipwndfu和checkm8-a5(arduino)。

直接方法的目标是创建这样一种情况:设备没有 Setup,因此别无选择,只能加载SpringBoard ,即设置助手 (Setup.app)之后的下一个最高进程。间接方法的目标略有不同 - 它们不是通过删除来移除Setup.app,而是诱使设备认为它具有有效的激活记录。因此,即使Setup.app仍然存在,设备也会认为它是正常激活的,因此它不再将激活锁视为设置助手中的必要步骤。大多数间接方法允许您在通过激活屏幕后正常完成设置助手,因为几乎不可能区分伪造的激活记录和合法生成的激活记录(稍后会详细介绍)。

什么原因导致激活锁?
简单来说,当 iOS 设备没有有效的激活记录并且“查找我的 iPhone”(FMI) 处于开启状态时,就会发生激活锁。有多种方式会导致激活锁。第一种也是最常见的方式是恢复或删除已打开“查找我的 iPhone”的 iOS 设备(通常使用 iTunes 或 3uTools)。激活记录是Setup.app 的驱避剂,它们会阻止出现设置屏幕(只要它们存在),当您恢复 iOS 设备而不保留用户数据时,所有内容都会被删除,包括激活记录。如果没有激活记录,iOS 将默认加载设置助手(Setup.app)。

激活记录是必需的,以便a) 合法通过设置屏幕,并且 b)能够使用您的 iOS 设备的最重要的部分(蜂窝数据、呼叫、通知、FaceTime、iMessage、Siri、iCloud 等)。事实证明,获取激活记录的唯一方法是从 Apple 获取(是的,Apple 控制着您使用您设备的能力)。恢复之后,所有 iOS 设备都会尝试通过连接到Albert(Apple 激活服务器的名称,它是地球上每个 iPhone、iPad 和 iPod Touch 的最终独裁者)来使自己可用。然后, Albert会决定是否希望您能够使用您的设备。他的决定完全基于一个事实,即“查找我的 iPhone”是否已打开。使用您设备的唯一标识符,他可以做出选择。如果 FMI 处于开启状态,他会说您将无法通过并抛出一个我们都知道的 HTML 页面,即激活锁。如果 FMI 已关闭,他会说“我们可以做个朋友,祝你有美好的一天”,然后递给你一张神秘的黄金票,该票 a)告诉 Setup.app 完成并消失,b)告诉你设备的所有基本功能(包括手机本身),它们可以开始工作了。

这让我想到了激活锁的第二个最常见原因:远程激活丢失模式或远程擦除。当任何人使用他们的Apple ID登录 iOS 设备时(设置助手 (Setup.app)会告诉您这样做),Apple 将确保默认情况下在该设备上启用“查找我的 iPhone”。这允许该 Apple ID 的所有者随时登录iCloud.com(或另一台 iOS 设备上的“查找我的 iPhone”应用程序),并通过告诉它进入丢失模式或擦除所有数据来远程使已打开 FMI 的设备过时(丢失模式和远程擦除之间的区别在于丢失模式会保留您的数据,而远程擦除显然不会。丢失模式还允许您设置自定义消息)。但是,这两种方法的主要目的都很简单直接;摆脱设备的激活记录并使设备过时,因此它必须再次看到Albert。当执行任何一种方法时,由于没有激活记录并且“查找我的 iPhone”已打开,因此这是激活锁的完美情况。 Albert 会说“你无法通过”,并向你显示激活锁页面。当然,任何人都可以通过输入正确的 Apple ID 和密码来迫使 Albert 改变主意,但这种情况很少发生,原因有很多,我将在下一节中解释。

激活锁的第三个最罕见、最奇怪的原因是无缘无故。没错,激活锁可能完全随机发生,没有任何特定原因。如果你拥有 iOS 设备很长时间,你可能有过这样的经历:某天早上醒来,在设置助手上找到你的设备。或者你在 Safari 中浏览网页,突然看到苹果标志和你好屏幕。然后你滑动解锁或按下 Home 键打开,立即找到激活锁屏幕。如果你输入了 Apple ID 和密码,页面可能会冻结 10 秒左右,然后立即崩溃到主屏幕,没有数据和隐私,没有 Touch ID 设置,没有欢迎使用 iPhone 开始使用,什么都没有。但是,如果你不记得你的 Apple ID(假设你在购买设备时设置了它,并且已经 5 年了,你从来没有使用过它,我不会怪你),那么你就被锁定了,完全没有任何理由。这发生在一个我非常熟悉的人身上——他们住在一个小国,我花了将近 5 个月的时间才给他们寄了一部 iPhone。他们非常兴奋地拥有了这台设备,并用自己的 Apple ID 进行了设置,但几天后,它随机崩溃并显示激活锁。不幸的是,他们不知道密码,也没有电脑可以用来绕过密码,所以在一瞬间,他们对 iPhone 的了解和喜爱就永远消失了。我用的是 iPhone 6s,这种奇怪的现象在我的个人设备上发生过多次,即使在越狱状态下也是如此。然而,这种激活锁的奇怪之处在于它实际上可以保存你的激活记录。所以如果你设法删除了Setup.app,有时你仍然可以继续像平常一样使用你的设备,这是最奇怪的部分。例如,有些人使用我的 arduino 方法在 iPhone 4s 上删除了Setup.app,他们得到了电话和数据(谁知道!)。他们的设备很可能曾经受到这种罕见的激活锁的影响,并且从未被恢复、远程擦除或置于丢失模式。

为什么要绕过激活锁?
您可能认为绕过激活锁的人是 iPhone 窃贼或罪犯,但事实并非如此。回想一下“查找我的 iPhone”。正如我在上一节中提到的,Apple 确保所有新 iPhone 用户默认启用“查找我的 iPhone”。但是,我可以向您保证,如果他们正在阅读这篇文章,许多人宁愿关闭它。人类的记忆远非完美,密码通常很难记住,尤其是对于老一辈人来说。这些年来,我遇到过许多人带着激活锁来找我,他们完全不知道它是什么,为什么存在,或者一开始是如何打开“查找我的 iPhone”的。Apple 商店的员工可能在他们购买设备时帮助他们创建了一个Apple ID,从那以后他们就再也没有使用过它。你怎么能指望在这种情况下的人记住他们的 Apple ID,更不用说知道他们的密码了?

还有丢失模式。使用丢失模式的人很可能丢失或放错了他们的 iPhone、iPad 或 iPod Touch,出于显而易见的原因,他们不希望别人使用他们的手机。这很有道理,我也不想。但请考虑一下。如果你丢失了 iOS 设备,你就不能没有手机或平板电脑了。在我们这个科技高度发达的现代世界里,数字技术已经发展成为工作、通讯、娱乐等的必需品。所以,那个夏天在海滩上丢失手机的人不会等到找到手机后才开始新生活,他们很可能会去当地的苹果商店或手机服务提供商那里买一台新设备作为日常使用。也许一年过去了,甚至五年过去了,到那时他们已经有了几部新手机,完全忘记了很久以前丢失的设备。然后有一天,一个有创造力的人进入了这个场景,发现了丢失的宝藏,发现它奇迹般地充电并恢复了活力。他们注意到屏幕上有一条来自原主人的消息,上面有一个电话号码,于是他们拨打了那个号码,但主人当然不知道他们是谁,并立即挂断了电话(我发现多部手机处于丢失模式,电话号码有效,这种情况很常见)。所以,就是这样。一部完好的 iPhone,原主人不想要或不需要,而新发现者却被激活锁困住了。在这种情况下,谁不想绕过它呢?

这一切都假设丢失模式确实发挥作用并显示所有者消息。如果设备是仅支持 WiFi 的 iPad 或 iPod Touch,则丢失模式完全无用,因为除非设备移到已知 WiFi 网络的附近,否则它永远不会显示所有者消息。因此,任何人找到仅支持 Wifi 的设备都只会看到密码或iPad/iPod 已禁用。您可能希望他们会在 YouTube 上搜索密码绕过,直到找到 Sliver,但不幸的是,弹出的第一个关于如何删除 iPad 密码的视频是如何使用 3utools 擦除设备的教程。这真是太好了。现在他们已经成功删除了所有激活记录,是时候与老好人Albert谈谈了,他当然不会让他们通过。最终,他们确实遇到了 Apple Tech 752,看到了他们原本希望观看的视频,并且可能为此而自责,但好消息是仍然可以绕过Hello 屏幕 (Setup.app)。我真的不明白在这种情况下谁不想这样做,也不明白为什么这样做是件坏事!

当然,这么多人绕开的最大原因是因为不幸或不了解情况的销售!窃取 iOS 设备的窃贼想要快速出售它们,然后赚点快钱。最常见的方式是通过Craigslist或eBay。窃贼会快速恢复设备,让其进入设置屏幕,然后将其出售给一些不了解情况并认为这是全新设备的不了解情况的买家。骗局的受害者会设置设备,当然他们会被激活锁困住,但这根本不是他们的错,而是窃贼的错,不幸的是,iDevice 窃贼很少被抓住。Apple 本来可以非常聪明地处理这个问题,选择显示设备所关联的所有者帐户的完整电子邮件地址,但他们却只显示了第一个字母!这有什么用呢?如果诈骗受害者有办法联系到被盗者,那么他们可以和解并让设备再次可用,但 Apple 宁愿牺牲 iOS 设备的可用性,也不愿在设置屏幕上显示完整的电子邮件。这不是一个好的选择。对于受害者来说幸运的是,由于没有办法联系到原主人,他们可以通过绕开来找点乐子。说到底,在这种情况下,用户的错不是他们试图让他们付费购买的设备变得可用,而是 Apple 的错,因为它让诈骗受害者几乎不可能将设备归还给原主人。无论如何,除非用户选择通过绕开让设备重新焕发活力,否则设备将会过时。我的理念是尽可能让 iOS 设备重新焕发活力,这样有人而不是所有人都会受益!

iCloud Bypass 如何工作?
iOS 13 mobileactivationd绕过
类型:间接 Setup.app 缓解
工具:Sliver Mac
目标设备:iPhone 6s - iPhone X、搭载 A11 之前的 iPad、iPod Touch 7
目标版本:iOS 13.3 - 13.7
工作原理:mobileactivationd 二进制文件被重命名并替换为反汇编/修补的副本,其中所有unactivated实例都更改为activated。这会使 iOS 设备误以为它具有有效的激活记录,从而跳过设置助手,但实际上没有应用任何激活记录,因此所有需要激活记录才能正常运行的设备功能都无法使用。所有不需要激活记录的应用程序都完全可用,包括 Safari、音乐、相机、照片等。但是,由于修补的二进制文件无法与 Apple 签名进行编码,因此重启后此绕过不会持久。
iOS 12 mobileactivationd绕过
类型:间接 Setup.app 缓解
工具:Sliver Mac
目标设备:iPhone 5s、iPhone 6、iPhone 6 Plus、iPad Mini 2、3、iPad Air 1、iPod Touch 6
目标版本:iOS 12.4.5 - 12.5.1
工作原理:mobileactivationd 二进制文件被重命名并替换为反汇编/修补的副本,其中所有unactivated实例都更改为activated。对于 iOS 12,采取了额外的步骤来确保设备接受未签名的二进制文件,包括 uicache。这会欺骗 iOS 设备认为它具有有效的激活记录,以便跳过设置助手,但实际上没有应用任何激活记录,因此所有需要激活记录才能正常运行的设备功能都无法使用。所有不需要激活记录的应用程序都完全可用,包括 Safari、音乐、相机、照片等等。但是,由于修补的二进制文件无法与真实的 Apple 签名进行编码,因此重启后这种绕过不会持久。
iOS 12 / iOS 13 Setup.app 删除
类型:直接删除 Setup.app
工具:iCloudBypassCA
目标设备:iPhone 5s - iPhone X、A11 之前的 iPad、iPod Touch 6、7。
目标版本:iOS 12.0 - 12.4.4,iOS 13.0 - 13.2.3
工作原理:将 Setup.app 重命名为 Setup.app.bak,以消除 Setup Assistant 的存在。采取其他步骤确保 Setup.app 完全无法识别,包括 uicache 和重新启动 backboardd 进程。由于设备不知道 Setup.app 存在,因此即使重新启动后,此修改仍会持续存在。所有不需要激活记录的应用程序均可使用,包括 Safari、音乐、相机、照片等。Apple 在 iOS 13.3 的发布中识别并修补了此方法,引入了对 Setup.app 的新系统范围检测,当 Setup.app 无法识别时,iOS 设备会进入恐慌、冻结状态。因此,mobileactivationd 绕过被发现并引入。
iOS 12 / 13 / 14 密码绕过
类型:备份和恢复数据
工具:Sliver Mac、Sliver Windows、F3arra1n
目标设备:iPhone 5s - iPhone X、A11 之前的 iPad、iPod Touch 6、7。
目标版本:iOS 12.0 - 12.5.1、iOS 13.xx、iOS 14.0 - 14.2
工作原理:密码锁定或禁用的设备几乎总是有一组有效的工厂激活记录(除非之前绕过了它们)。执行密码绕过时,这些记录将被提取并保存到桌面上的一个文件夹中(具体来说是 FairPlay 文件夹中的activation_record.plist、data_ark.plist、commcenter.plist 和 IC-Info.sisv)。然后将系统二进制文件插入根文件系统中的 /bin 目录,并给出一个参数,指示设备强制擦除自身,无论 FMI(查找我的 iPhone)是打开还是关闭。

擦除完成后,包括密码在内的所有用户数据都将消失,但设备需要一组有效的激活记录才能通过设置助手(Setup.app)并激活电话、信息、FaceTime、iCloud 等。通常 Albert(Apple 的激活服务器)会提供这些记录,但由于“查找我的 iPhone”已打开,Albert 拒绝生成新的activation_record.plist,而是显示激活锁页面。但是,这不是问题,因为我们保存到桌面的所有激活记录都可以重新应用到文件系统中。在安装激活记录之前,它们会上传到用户媒体(下载)文件夹,并更改权限/标志,以便设备在移动到正确位置时能够读取和接受它们。好的密码绕过将设置权限/标志,以便所有激活记录在重新启动后都经过签名和持久化,并通过设置密码保持不变。Sliver 6.2 和 Sliver5Windows 都执行此过程。
iOS 12 / 13 / 14 信号绕过
类型:间接安装缓解
工具:Checkm8.info、iRemoval Pro
目标设备:iPhone 5s - iPhone X、搭载 A11 之前的蜂窝式 iPad
目标版本:iOS 12.0 - 14.8.1
工作原理:现在您可能已经了解 Albert 将拒绝为已打开“查找我的 iPhone”的设备生成激活记录。这部分非常简单。但请考虑这一点 - 激活记录也特定于每个 iOS 设备的唯一标识符(例如序列号、IMEI、UDID、ECID 等)。换句话说,如果为设备的特定唯一标识符创建了激活记录,则该设备将接受它们并完全发挥作用。这是黑客用来想出一种极其聪明的方法的一般想法,可直接从 Albert 获取任何目标 iOS 设备的激活记录。虽然实际上 Signal Bypass 是一种非常复杂和复杂的方法,但总体概念相当简单易懂。

一切都从另一台 iOS 设备开始。首先,将另一台已关闭“查找我的 iPhone”的 iPhone 越狱,以便可以修改其根文件系统。接下来,获取已打开“查找我的 iPhone”的激活锁定设备的唯一标识符(序列号、IMEI、UDID 等),并将其分配给已关闭“查找我的 iPhone”的第二台 iOS 设备。换句话说,关闭“查找我的 iPhone”的设备的唯一标识符被暂时掩盖,取而代之的是打开“查找我的 iPhone”的设备的唯一标识符。现在,这是最好的部分。Albert(albert.apple.com,Apple 的激活服务器)没有注意到或关心第二台关闭“查找我的 iPhone”的设备有一组更改的唯一标识符。在正常情况下,Albert 可能会注意到,但激活过程中发生的 SSL 过程被修改(人们也称之为挂钩或固定),以确保 Albert 完全不知道 IMEI、序列号、UDID 等来自已打开“查找我的 iPhone”的激活锁定设备。好的,现在我们处于绝对完美的情况。接下来发生的是激活请求(即当它说可能需要几分钟才能激活您的 iPhone 时

发生的过程) 从关闭了“查找我的 iPhone”的设备启动。由于 Albert 根本不知道唯一标识符是不同的,因此它会根据看到的唯一标识符生成一组完全有效的激活记录,这些唯一标识符当然是打开了“查找我的 iPhone”的激活锁定设备的唯一标识符。此时,新生成的激活记录从关闭了“查找我的 iPhone”的设备中获取,最重要的部分 (WildCard 票证) 以activation_record.plist 的形式应用于打开了“查找我的 iPhone”的激活锁定设备的文件系统 (就像密码绕过一样)。因为 activated_record.plist 是由 Albert 为激活锁定设备的唯一标识符创建的 (这是唯一能够创建激活记录的进程),所以一切都很完美,设备能够接受激活记录 (也称为基带票证),就像在发生正常激活时接受它们一样 (基本上就是这样)。

Apple 之所以没有修补此方法,是因为要在 Albert 中实现一个流程来检查每个激活设备的唯一标识符的真实性,需要彻底改造服务器,而且会花费大量金钱。Apple 选择不将资源用于执行此类任务。除非他们改变主意,否则 GSM 信号旁路可能会永远存在于与 checkra1n 兼容的 iOS 设备中。但是,如今大多数 iOS 设备都有 MEID,这就像一个额外的安全层,可防止设备接受非真实生成的激活记录。不过,这只是增加了一个额外的步骤,黑客已经找到了一种对记录进行哈希/签名以绕过它的方法。好消息:该方法已被发现,现在可以使用 Checkm8.Info 和 iRemoval Pro 绕过 MEID 和 GSM 设备(iPhone 5s 到 iPhone X)的信号。
通过 SSH Ramdisk 删除 A4、A5、A6、A7 Setup.app
类型:直接删除 Setup.app
工具:Sliver Mac
目标设备:iPhone 4、4s、5、5c、5s、iPod Touch 5、iPad Air 1、iPad Mini 1、2、iPad 2、3、4。
目标版本:iOS 10.3.3(A7)、iOS 10.3.3/10.3.4(A6)、iOS 9.3.5/9.3.6(A5)、iOS 7.1.2(A4)。
工作原理:当您正常将 iOS 设备恢复到最新版本的 iOS 时(使用 iTunes 或 3uTools),在恢复实际开始之前,会上传并执行一系列小图像文件。此过程的目的是为设备准备完整的文件系统重写。这些文件包括 iBSS、iBEC、DeviceTree、Ramdisk 和 Kernelcache。对于正常恢复,在上传所有这些文件后,设备实际上会收到一个新写入的文件系统,这一点很重要,因为所有 ramdisk iCloud Bypass 方法都是通过启动恢复而不是实际恢复设备或写入任何内容来工作的。任何 ramdisk iCloud

Bypass 方法中的第一个也是最重要的步骤是使用 checkm8 漏洞的 PWNED DFU 模式。PWNED DFU 允许我们上传任何我们想要的图像文件。最新版本 iOS 的常规图像文件可能在没有 PWNED DFU 的情况下正确上传,但这对我们没有任何帮助。我们需要上传所有东西的特殊修补版本:修补后的 iBSS 允许加载修补后的 iBEC,修补后的 iBEC 为设备提供自定义启动参数(包括用于详细启动的 -v),最重要的是,修补后的 ramdisk 指示设备在所有预恢复步骤完成后打开 SSH 连接。需要使用像 checkm8 这样的漏洞来上传和执行修补和未签名的图像。Sliver

预先捆绑了每个设备所需的所有修补文件,并在您单击“加载 Ramdisk”时自动加载它们。上传最后一个文件(Kernelcache)后,将执行 bootx 命令,该命令启动 SSH 连接并允许任何客户端通过 SSH 进入设备(常用的是 TCPRelay、iproxy、Cyber​​duck)并查看根文件系统。当您单击“中继设备信息”时,Sliver 会使用 TCPRelay。对于 A7 设备,随后会执行自定义有效负载,指示设备删除 Setup.app 并自行重启,因此无需 ramdisk 映像,但对于所有 A6 和 A5 设备,首先通过 ramdisk 打开 SSH 连接,然后执行脚本,自动登录 root@localhost 并运行 ssh 命令以挂载文件系统、删除 Setup.app 并重启。对于 A5 设备,当 Setup.app 丢失时,设备将直接启动到主屏幕。但是对于 A6 和 A7 设备,必须在绕过之前立即恢复设备并进入 DFU 模式,否则将出现黑屏问题。

黑屏问题的原因是设备尚未完成恢复后进度条,这实质上重置了文件系统。当 Setup.app 被删除并且恢复后进度条随后出现时,设备会明白 Setup.app 从来不是文件系统的一部分,因此可以忽略它。但是,如果恢复后进度条已经完成了 Setup.app,然后 Setup.app 被删除,文件系统会认为它缺少了某些东西并拒绝启动到主屏幕。这就是为什么我总是告诉人们在尝试任何 ramdisk 方法时,在设备上的进度条之前恢复并进入 DFU,以防万一。
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门