如何窃取Macbook



MacBook多次被我偷走了,苹果的防盗工具(如“查找我的Mac”)从没有帮助过我。他们真的一文不值吗?我可以信任FileVault的内置加密吗?如何增加取回计算机的机会?这篇文章是我为归还被盗计算机徒劳而无济于事的结果。

本文通过攻击者(在我们的情况下是小偷)的眼中详细描述了保护机制。这使您对它们如何工作有更好的了解。文章中的叙述代表小偷-这只是一种艺术手段,可以更好地理解材料。

注意!
本文中的材料仅供参考。在笔记本电脑所有者的同意下,所有关于欺诈活动的描述均会上演和执行。作者不要求采取欺诈性措施,本文的唯一目的是说明如何最好地配置系统以保护您的数据。


前言


在下面的屏幕截图中,我被盗的几台笔记本电脑之一仍然埋在iCloud面板中。


iCloud控制面板中的“查找我的Mac”功能的界面显示,当笔记本电脑连接到Internet时,锁定功能将变为可用。但这永远不会发生。

每次我偷一台MacBook,或者随身携带的皮包都丢了,我都意识到“寻找我的Mac”是徒劳的。毕竟,笔记本电脑没有调制解调器,我既无法跟踪其位置,也无法远程删除数据。为了使防盗功能正常工作,小偷必须将我的笔记本电脑连接到互联网。但是,如果帐户被密码锁定,他将如何处理?事实证明,如果我不事先将联系人写在案件的某处,即使是想要将计算机退还给我的人也无法做到这一点。我绝对可以肯定,在所有盗窃案中,我的笔记本电脑都已被彻底清洁,并出售给新的所有者,他们现在使用它们时没有任何问题,甚至都不怀疑它们被盗了。

iPhone得到更好的保护



具有最新iOS的iPhone不能仅与iCloud绑定。(图片由Alexander Varakin提供)

现代iPhone受到了很好的保护,它们不仅可以从您的iCloud帐户中解开,而且可以在广播市场上出售。因此,存在用于通过网络钓鱼解除绑定设备的整个欺诈方案。安东的出色研究0有关此现象的信息:iCloud网络钓鱼者及其居住地小偷正在尝试登录受害者的iCloud帐户并解锁手机。即使小偷设法在所有者锁定手机之前设法删除SIM卡并关闭WiFi,但如果启用了指纹,面部或PIN码授权,他仍然无法解锁。这太棒了。

关于阻止iPhone的信息很多,这些机制已经得到了很好的研究。但是没有人讨论Macbooks中的相同功能;似乎它们不存在。不幸的是,直到2018年的所有MacBook型号(不带T2芯片)都无法抵抗小偷,无论如何,它们将被彻底清洗干净出售。但是同时,您可以使小偷的生活尽可能复杂化,并保护您的数据。

步骤1:窃取MacBook



为了对所有假设进行现实检验,我们需要窃取一台真正的MacBook。我将代表小偷做进一步的叙述。为了了解保护机制的工作原理,您需要重现真实的威胁模型入侵者模型)。

根据视频中的脚本,我从一家咖啡馆的受害者手中偷了随附的MacBook。盗窃时,我关上了盖子,使笔记本电脑进入睡眠模式并断开了WiFi连接。这一点很重要,因为它再现了笔记本电脑掉入小偷手中的最流行情况。多数情况下,MacBook所有者只需关上盖子并将笔记本电脑放入包中,而无需关闭计算机。一直以来,当我丢失计算机时,他都处于这种状态-他正在背包里睡觉。

在没有互联网的情况下查找我的跟踪设备



苹果公司的新型地理追踪技术,无需互联网,

就在被盗后,我带着偷来的MacBook腋下奔赴实验室。想象一下,我的跑步速度快于受害者,并且能够躲藏起来。同时,在城市中发生了行动,我沿着一条拥挤的街道奔跑。受害人此刻将做什么?惊慌失措的是,他进入FindMy应用程序,并将尝试跟踪计算机或将其阻止。但是您将无法阻止或删除数据,因为笔记本电脑没有Internet连接。但是事实证明,在地图上可以看到笔记本电脑的真实坐标,这真是太神奇了!



在2019年,Apple在名为``离线查找''的设置中宣布了更新的FindMy应用程序和跟踪设备的新方法。大多数Apple技术用户都不知道此功能。

操作原理如下:首先,您至少需要将两个Apple设备绑定到同一iCloud帐户。两台设备都必须具有当前操作系统,至少是iOS 13和macOS 10.15(Catalina)。如果满足所有条件,则两个设备都会生成密钥并彼此交换私有部分(私有密钥),以便每个设备都可以解密彼此的消息。



根据Apple的说法,这些密钥仅存储在设备上,而不存储在服务器上。也就是说,您只能从其他设备使用此功能,而不能从icloud.com使用该功能。这意味着丢失了这两个设备,您只能在icloud.com上看到在线地理位置,该地理位置仅在设备可以访问Internet而不是离线查找时才有效。



当设备没有互联网时(例如,没有SIM卡的电话或没有WiFi的MacBook),它将开始通过低功耗蓝牙使用其公钥发送特殊包裹。并且附近的任何Apple设备(例如,带有iPhone的随机路人),都已听到这种信号,就会自动获取此密钥,并以其当前坐标对其进行加密,然后将其发送到服务器。这不需要用户采取任何措施,当手机放在屏幕锁定的口袋中时,所有事情都会在后台发生。一种带有网状网络特征的专有僵尸网络。

在macOS上,/ usr / libexec / searchpartyuseragent守护程序负责此功能。密钥应该存储在密钥持有者下,名称为LocalBeaconStore→LocalBeaconStoreKey令人沮丧的是,仅当系统打开或处于睡眠模式时才发送BLE信标,也就是说,要关闭此类跟踪,小偷只需要按住关机按钮即可。如果此功能在主板上有备用电源时可以直接在Bluetooth / WiFi芯片上运行,那就太好了。

第2步:隐藏-通过蓝牙代理欺骗地理跟踪


是否可以欺骗系统并向受害者显示他的笔记本电脑的假地址?如果丢失的MacBook本身不知道其坐标,而仅发送公钥,则收到信号的设备将添加坐标。因此,此方案容易受到欺骗!


BLE数据包中继将所有听到的信号发送到远程发送

器,在带有转发器的电路中,接收器侦听来自受害者的所有信号,然后通过Internet将它们发送到发送器。接收到信号的随机路人将其坐标添加到信号中,然后将其发送到服务器。我正坐在受害者的设备在地下室里,而发射器在城市的另一端。因此,受害者看到伪造的坐标。

要构建这样的方案,您将需要两台带有BLE适配器的计算机连接到同一网络和框架BtleJuice

专有协议FindMy尚未进行研究,BLE数据包的格式未知。甚至信标发送之间的确切间隔与激活此功能的条件之间也不知道。实验确定的10-20分钟间隔。根据Apple的说法,私钥会定期更改,但频率未知。我邀请所有人参加协议的逆转。苹果公司 FindMy使用的加密技术进行描述
UPD:在编写这些行时发表了FindMy 使用加密技术的研究,作者没有考虑该协议的技术实现,并且我不太了解这项工作的内容。

要将请求代理到发送方,您需要一台服务器,并且将使用最小的配置,例如RUVDS价格为130卢布他仅对使用的资源进行每秒关税和付款。对于哈伯游击队,可以使用不使用促销代码的15%的折扣。



步骤3:从笔记本电脑窃取数据



磁盘上的数据比Macbook本身更有价值。如果有比特币钱包,用户名,密码或私密照片的密钥怎么办?因此,首先尝试读取磁盘上的数据。我们偷了笔记本电脑的开机状态,但是在盗窃时,保护盖已关闭,现在已使用用户密码将其锁定。大多数MacBook所有者在睡眠模式下携带它们,也就是说,他们只是合上盖子。这是贼最有可能收到计算机的条件。

读取数据的最简单方法是从Linux中的USB存储器启动。但是,如果在系统中打开FileVault,则无法读取数据,因此重新启动对于我们来说是有风险的,因为事先不知道是否启用了加密。打开计算机电源后,文件系统将被完全解密,因此您需要尝试获得访问权限而无需重新启动。

DMA-, FileVault . , DMA- Thunderbolt - IOMMU. Thunderclap Thunderbolt-, - .

我们不会考虑使用用户帐户中的残酷密码,因为它不是运动密码。此外,macOS尝试失败后,在输入新密码之前会增加很长的延迟。对于此类攻击,您可以使用允许您模拟HID键盘的任何硬件工具,包括raspberry pi或arduino。这里的重点是选择字典。我建议您使用至少包含一个特殊字符且不包含词典单词的密码。这足以抵御这种野蛮行为。

将锁定的笔记本电脑连接到Wi-Fi


在笔记本电脑打开且文件系统已解锁的情况下,尝试在网络上打开它。受害者可能拥有网络驱动器或其他一些服务,您可以通过它们进入内部。让我们尝试说服笔记本电脑连接到我们的WiFi。



当设备扫描WiFi网络时,它们还会在探测请求数据包中发出最近连接的网络名称。也就是说,当您在城市中行走时,您的手机或笔记本电脑会发出您的家庭WiFi网络的名称,以希望能够回答。按照计划,这可以加快附近网络的连接速度。

为了找出受害者的笔记本电脑可以连接到哪些网络,我在他旁边放了一个外部WiFi适配器,然后关闭即兴的法拉第笼子的盖子。现在,适配器将很好地听到膝上型计算机发出的信号,而不会听到其他声音。

因为只想查看样本请求,所以我们以一种针对一种数据包的过滤器开始监视模式。

tcpdump -e -l -I -i en0 type mgt subtype probe-req

BSSID:Broadcast DA:Broadcast SA:xx:xx:xx:xx:xx:xx  Probe Request (MGTS_GPON_1856)
BSSID:Broadcast DA:Broadcast SA:xx:xx:xx:xx:xx:xx  Probe Request (MGTS_GPON_1856)
BSSID:Broadcast DA:Broadcast SA:xx:xx:xx:xx:xx:xx  Probe Request (Onlime)
BSSID:Broadcast DA:Broadcast SA:xx:xx:xx:xx:xx:xx  Probe Request (MT_FREE)

可以看出,笔记本电脑记住了几个不同的网络,其中有类似于家庭的网络。重要的是要记住,如果便携式计算机记住带密码的网络,则如果它突然出现时没有密码但名称相同,它将不会自动连接到该网络。从这些名称中,我们可以假定前两个网络很可能具有密码,但最后一个是莫斯科公共交通网络,显然它没有密码就存储在计算机的内存中。

这种攻击非常古老,但有时仍然有效。有诸如hostapd-karma之类的自动工具可以立即响应所有网络名称。
现在,我们需要使用所选网络的名称(在我们的情况下为MT_FREE)来提高访问点,以便笔记本电脑自动连接到该网络。应该记住的是,如果便携式计算机可以上网,则所有者可以立即将其阻止并清理磁盘。但是您无法完全断开Internet的连接,否则macOS可以立即断开与此类WiFi网络的连接,因为它已断开。因此,它必须具有正常工作的DHCP,DNS解析器和通过HTTP的Internet,才能使强制门户测试生效。仅打开Internet上的TCP端口80就足够了,macOS会假定网络绝对正常,而iCloud防盗功能将无法正常工作。

如果MacBook成功连接到WiFi,我们仅需通过网络对其进行扫描以查看开放服务,网络球等。我不会告诉您如何执行此操作,因为它超出了本文的范围。

老实说,我们必须承认大多数用户都使用默认设置,并且不配置任何其他网络服务,因此,这种攻击成功的机会微不足道。但是无论如何都值得尝试,因为这是与具有解密驱动器的系统进行交互的最后一种可用方法。

重新启动进入未知




让我提醒您,在加载系统时,我们无法确定FileVault磁盘加密是否已打开。要检查这一点,您需要重新启动笔记本电脑。这只能通过按住电源按钮来完成,因为锁定会话的屏幕上没有电源管理菜单。此外,有两种可能的方案:

未配置FileVault


轻松溜冰场!只需从USB闪存驱动器启动或删除磁盘(在2016年之前的型号上),我们所有受害者的文件都将以纯文本显示。在Linux上,您需要对fuse-apfs的配置有些困惑

启用FileVault


首次配置FileVault时,建议您在iCloud中下载驱动器加密密钥,理论上来说,小偷可以攻击受害者的帐户,但本文中不考虑网络钓鱼攻击。FileVault暴力破解工具有几种:来自Elcomsoft的商业程序以及John The Ripper一起使用的开源程序,例如apfs2john 除非这是针对数据的有针对性的攻击,否则普通小偷很可能不会在磁盘的残酷性上花费资源。为简单起见,我们假定使用特殊字符的不同寄存器的6-8个字符的非字典式密码是无害的。



苹果应如何按计划工作


长期以来,我无法理解苹果在现实生活中如何精确地代表“查找我的Mac”的工作,因为如果您在首次设置系统时遵循默认建议,则用户将收到一台激活FileVault的计算机,攻击者将永远无法登录以敲打Internet并激活所有陷阱。

图片

唯一可能的情况是访客帐户。根据此想法,重新启动后的小偷将进入密码输入屏幕以解锁磁盘。在不猜测密码的情况下,他选择了访客帐户并加载到Safari Only Mode。这是一种仅对来宾帐户可用的特殊操作模式。它仅运行一个程序-Safari浏览器。事实是,当激活FileVault时,部分磁盘对于恢复分区保持未加密状态。它存储了一个最小的macOS映像,从此处启动Safari。在这种模式下,小偷可以连接到Internet,在这里笔记本电脑将与iCloud联系,并能够执行所有者的远程订单。

步骤4:出售MacBook

使用NVRAM变量


因此,小偷可以访问或不能访问数据,然后他想在二级市场上出售笔记本电脑。为此,他需要从iCloud帐户中解除计算机绑定,然后重新安装操作系统。除了硬盘驱动器上的操作系统本身之外,macbook还在主板的USB闪存驱动器上存储了NVRAM变量。
重新安装macOS 后,这些数据仍然存在它们存储令牌,服务器通过该令牌识别macbook与iCloud帐户的绑定。

要使用用户空间中的变量,有nvram实用程序

查找我的Mac令牌示例
#  Find My Mac 
$ nvram fmm-mobileme-token-FMM

fmm-mobileme-token-FMM bplist00%dc%01%02%03%04%05%06%07%08%09%0a%0b%0c%0d%0e%10%0d%11%0d%12%13%14%15%16%1d_%10%0funregisterState_%10%12enabledDataclassesYauthToken^disableContextVuserid]enableContextXusernameXpersonIDWaddTimeTguidXuserInfo_%10%13dataclassProperties%10%00%a1%0f_%10!com.apple.Dataclass.DeviceLocator_%10%ccEAADAAAABLwIAAAAAF6Jva4RDmqzLmljbG91ZC5hdXRovQA_OvlxQ5x0ULxeZIwLf9ZKD2GL8xWXoQiCKVs4tSztt-QZ2ZPlgZqpHekekaGd06Bm20kyU4m1ryRhBPR5DNSSbfzrKM_Ap0elpAitBDkGyHGjTe9c5WajVpfvWe_RGFhcamieaVhGQGzsiFGe11nt1PtCzA~~%11%01%f5_%10%11ivan@ivanov.comZ1253943158#A%d7%a2or%f3kP_%10$7C83E2DA-8A39-414E-B004-4DE79E4D35B3%d3%17%18%19%1a%1b%1c_%10%15InUseOwnerDisplayName_%10%13InUseOwnerFirstName_%10%12InUseOwnerLastName]ivan ivanovUivanWivanov%d1%0f%1e%d5%1f !"#$%25&'(VapsEnvXhostname]idsIdentifierVscheme]authMechanismZProduction_%10%13p09-fmip.icloud.com_%10$0FFD23C3-F469-42C1-97E0-FD8EE1F80502UhttpsUtoken%00%08%00!%003%00H%00R%00a%00h%00v%00%7f%00%88%00%90%00%95%00%9e%00%b4%00%b6%00%b8%00%dc%01%ab%01%ae%01%c2%01%cd%01%d6%01%fd%02%04%02%1c%022%02G%02U%02[%02c%02f%02q%02x%02%81%02%8f%02%96%02%a4%02%af%02%c5%02%ec%02%f2%00%00%00%00%00%00%02%01%00%00%00%00%00%00%00)%00%00%00%00%00%00%00%00%00%00%00%00%00%00%02%f8


有趣的是,nvram命令的官方帮助隐藏了一些功能。 CIA泄露的CIA手册在Wikileaks上发布:EFI基础知识:NVRAM事实证明,变量要有用得多。事实证明,该实用程序可以直接使用UEFI变量(efi vars)。但是大多数变量的值只能在禁用SIP(系统完整性保护)的情况下才能更改。

UPD:我无法通过macOS Catalina上的nvram实用程序访问EFI变量。 GUID,变量名称或程序语法可能已更改。必须通过UEFI Shell或Linux检查变量的相关性。

要解开被盗笔记本电脑,只需清除nvram变量并重新安装操作系统即可。要重置nvram,您需要加载笔记本电脑时,按住Command(⌘)+ Option + P +R。这足以使iCloud服务器不再认为该设备属于特定的iCloud帐户。尽管重置nvram后主板的序列号保持不变,但iCloud允许您将笔记本电脑链接到新帐户。

UEFI上的密码




在前面的步骤中,我们从USB闪存驱动器启动(启动时使用Option键),然后重置nvram。但是事实证明,所有这些都可以使用UEFI密码禁用。顺便说一句,在经验丰富的罂粟花使用者中,很少有人知道这一点。固件的安装密码禁止执行以下操作:

  • 在启动时重置NVRAM
  • SMC重置
  • 选择另一种引导方法(Option键)

在任何情况下,都将要求输入密码。也就是说,小偷将无法从USB闪存驱动器启动,也将无法轻松地从iloud取消绑定计算机,从而从nvram中删除“查找我的Mac”令牌。重新安装操作系统也不容易。



您可以通过恢复模式设置UEFI的密码。为此,在启动阶段按住CMD + R,然后从菜单中选择“启动安全实用程序”。

但并非所有事情都如此乐观,UEFI上的密码无法保护。在2019年之前的Macbook上,UEFI固件和NVRAM变量存储在常规SPI闪存驱动器中,您可以与编程器连接并在未经授权的情况下更改任何数据。

重置UEFI密码


在所有没有T2芯片的MacBook上,主板上的固件都不受任何保护。它可以轻松地刷新,包括删除UEFI的密码。为此,只需将编程器连接到主板上的调试连接器,然后就可以像普通闪存驱动器一样使用存储芯片。


适用于所有型号的Macbook的闪存驱动器固件的通用电缆

这些连接器有些困惑,因为它们没有钥匙,也就是说,它们可以通过不同的侧面进行连接。在不同型号的Macbook上,连接器位于不同的位置,有时有时需要单独焊接3.3V闪存驱动器的电源。因此,有时您需要仔细研究特定主板的电路。



也有完全自主的设备,可在固件中找到所需的偏移量并即时对其进行拍拍,从而禁用UEFI密码。在某些服务中心,他们提供摆脱UEFI上的密码的功能,他们更喜欢拆焊内存芯片并将其刷新到程序员的剪辑中。

UEFI植入物


有一个单独的外部-带EEPROM的外部板,可立即插入调试连接器中。通常它们已经在所需的主板下闪过。安装后,计算机立即开始从此闪存驱动器启动,而忽略焊接到主板的本地驱动器。在这种情况下,本机闪存驱动器可以保留固件密码。将此类植入物用于带有UEFI补丁的实验非常方便,您始终可以通过简单地拉出模块来回滚到本机固件。



网络钓鱼防盗系统


我对所有Apple防盗系统的无用感到非常沮丧,于是决定提出自己的防盗系统。这是在T2芯片发布之前,因此不可能依靠硬件保护,所以我决定欺骗小偷,让他自己做所有需要的事情。

该方案如下:

  1. 在MacBook的磁盘上,突出显示了一个小的Linux分区。现代内核(efistub)可以立即启动,而无需诸如refind之类的任何中间引导程序。我在Macbook的单个文件中的Linux文章对此进行了介绍默认情况下,笔记本电脑会引导Linux,后者会启动伪装为macOS的初始设置向导。在视频中,从7:00开始显示。
  2. , macOS , () , nvram: macOS . , , . , . , . . , , .
  3. 设置向导可以执行系统的初始设置,并要求连接到WiFi。然后,他画出了伪造的下载内容的过程,这时他点击了服务器,并向真正的所有者提供了完全访问权限。
  4. WiFi接入点的BSSID所有者可以找到笔记本电脑的位置,可以收听来自麦克风的声音并通过摄像头观看小偷等。当安装向导界面显示虚假的更新下载过程时,便携式计算机的所有者已经在前往该地址。


结果,我没有完成服务器部分,但是这里是Electron上安装向导来源顺便说一下,它看起来非常可信,我什至会被吸引。

视频演示:



发现


  • FindMy . . , , . , . , !
  • FileVault! . . , . , , , , . , , .
  • [] . UEFI, Safari Only Mode. , .
  • UEFI. iCloud. , , .
  • T2. , 2. , EEPROM . .



All Articles