蓝牙低功耗(BLE)协议是现代无线通信的基石,在实现设备之间的无缝交互方面发挥了重要作用。它发出的数据包是设备用来宣布其存在和功能的广播信号。苹果的生态系统中有无数相互连接的设备,从AirDrop文件传输到Apple Watch连接,这些功能都严重依赖于这些数据包。
蓝牙低功耗(BLE)作为蓝牙4.0规范的一部分,是为了满足需要最低功耗的应用而引入的。它特别适用于需要定期或偶尔传输数据的设备。
BLE设备通信中的主要机制之一是通过广播数据包,通常称为ADV数据包。
广播类型:
可连接定向广播:针对特定设备的定向广播。
非连接非定向广播:用于不连接的设备广播信息。
可扫描的非定向广播:允许来自接收设备的扫描请求,但不建立连接。
数据: 包含设备名称或它提供的服务等信息。
频率: 设备可以调整自己的ADV报文广播频率,平衡功耗和可发现性。
苹果的生态系统在许多集成和功能上都依赖于BLE。以下是ADV数据包对苹果的作用:
AirDrop: 使用BLE发现附近设备的ADV报文,识别潜在的共享目标。
Handoff: 使用BLE检测附近的设备,使用ADV报文确定设备是否存在。
Apple Watch: 使用BLE与iPhone进行低功耗连接,ADV数据包有助于发现和连接。
HomeKit: 许多HomeKit设备使用BLE,显示其状态或可用性。
Security and Privacy: 尽管ADV数据包可以被任何监听设备接收,但苹果通过轮换蓝牙地址等措施来保护用户隐私。
iBeacons: 使用BLE的非连接非定向广播基于位置的服务的唯一标识符。
总之,BLE中的ADV数据包对苹果的许多功能至关重要。苹果利用BLE广播实现高效的设备通信,同时优先考虑用户隐私和安全。
当像Flipper Zero这样的设备模仿合法设备或服务的广播数据包时,它可以在iOS用户附近创建大量的虚拟设备。想象一下,在搜索要连接的设备时,出现了一个由数十个(如果不是数百个)假设备名称组成的列表。或者尝试AirDrop,却被虚假的收件人淹没。这不仅仅是一个小小的不便;它可能会破坏苹果用户已经习惯的无缝体验。
但为什么会有人这么做呢?原因各不相同:
恶作剧: 有些人可能会觉得看着苹果用户们面对突然出现在他们屏幕上的神秘设备很有趣。
测试和研究: 网络安全专业人员可能会使用这种策略来研究漏洞或测试BLE的稳定性。
恶意行为: 虽然不太常见,但恶意攻击者有可能利用这一点达到恶意目的,例如通过模仿可信通知进行网络钓鱼攻击。
对于iOS用户来说,这种模仿可能导致使用者体验极差,扰乱工作等,并且在极少数情况下,还可能会引起安全问题。它使我们意识到周围的设备和无线通信中可能会存在一些潜在的漏洞。
需要注意的是Flipper Zero的射频范围是有限的。要真正影响iOS设备,你需要近距离接触。
我们将通过修改负责蓝牙功能的特定文件来更新 Flipper Zero,然后编译并应用固件更新。
首先要先下载官方框架代码
git clone https://github.com/flipperdevices/flipperzero-firmware.git
举个例子,我们这里使用 Apple AirTag(代码已更新GitHub)
https://github.com/h0e4a0r1t/FlipperZero_Annoying_Apple/
gap.c 文件在这个位置下
更新“gap.c”文件,然后编译更新的固件。
./fbt COMPACT=1 DEBUG=0 VERBOSE=1 updater_package
编译好的固件在这个文件夹下
之后使用qFlipper,通过Install from file 将编译好的固件上传上去进行更新
更新成功以后,打开Settings选项
打开Bluetooth 选项设置蓝牙
将OFF调成ON,打开蓝牙
附近的苹果设备就会收到提醒
动图演示
作者表示已经更新在Xtreme固件中了,但是官方打包好的还不包含,只能自己下载编译上传
https://github.com/Flipper-XFW/Xtreme-Firmware/tree/dev/applications/external/apple_ble_spam
更新完成以后在Appliations -> Bluetooth -> Apple BLE Spam
打开以后有多种苹果系列产品的BLE
左右键切换苹果产品BLE,上下键调发包时间间隔
方便又快捷
包含以下苹果产品
1: Airpods
2: Airpods Pro
3: Airpods Max
4: Airpods Gen 2
5: Airpods Gen 3
6: Airpods Pro Gen 2
7: PowerBeats
8: PowerBeats Pro
9: Beats Solo Pro
10: Beats Studio Buds
11: Beats Flex
12: BeatsX
13: Beats Solo3
14: Beats Studio3
15: Beats Studio Pro
16: Beats Fit Pro
17: Beats Studio Buds+
18: AppleTV Setup
19: AppleTV Pair
20: AppleTV New User
21: AppleTV AppleID Setup
22: AppleTV Wireless Audio Sync
23: AppleTV Homekit Setup
24: AppleTV Keyboard
25: AppleTV 'Connecting to Network'
26: Homepod Setup
27: Setup New Phone
28: Transfer Number to New Phone
29: TV Color Balance
https://github.com/ECTO-1A/AppleJuice
https://techcrunch.com/2023/08/14/researcher-says-they-were-behind-iphone-popups-at-def-con/
https://github.com/Ocelot-Offensive-Security/Arsenal/tree/main/Amini/FlipperZero