Bluetooth 与 BLE 攻击
嗅探并滥用 Bluetooth 设备。
Bluetooth 与 BLE 攻击 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
蓝牙攻击面
蓝牙无处不在:耳机、门锁、医疗设备、健身追踪器、汽车信息娱乐系统和工业传感器都在使用它。这个品牌涵盖两种截然不同的技术:
- 经典蓝牙(BR/EDR)——吞吐量更高,用于音频和文件传输。
- 低功耗蓝牙(BLE)——功耗较低,由物联网设备、可穿戴设备和智能锁使用。
两者在无线电行为、配对方式和协议栈方面都不同,因此针对其中一种的攻击通常不适用于另一种。BLE 在物联网中占据主导地位,由于经常以不安全的方式部署,它也成为大多数现代评估的重点。
BLE 的通信方式
BLE 在 2.4 GHz 频段的40 个信道上运行。其中三个信道(37、38、39)是用于设备发现的广播信道;其余 37 个信道承载已连接的数据。
其核心数据模型是GATT(通用属性配置文件):
- 服务用于归组相关功能。
- 特征是可以读取、写入或订阅的独立数据点。
- 每个服务和特征都有一个UUID和一个句柄。
枚举 GATT 表可以准确揭示设备对外提供的内容,这是 BLE 评估的核心。
发现并枚举设备
侦察从扫描广播数据包开始,以了解范围内有哪些设备,然后连接设备以枚举 GATT 数据库。
在 Linux 上,BlueZ 协议栈以及 bluetoothctl、hcitool 和 gatttool 等工具可以帮助您扫描并查询设备。在手机上使用nRF Connect则是很好的图形化替代方案。
# Scan for advertising BLE devices
sudo hcitool lescan
# Interactive scan and connect
bluetoothctl
scan on
connect AA:BB:CC:DD:EE:FF
# Enumerate the full GATT database
gatttool -b AA:BB:CC:DD:EE:FF --primary
gatttool -b AA:BB:CC:DD:EE:FF --characteristics嗅探 BLE 流量
要观察设备与其应用之间的通信,您需要嗅探空中传输的数据。由于 BLE 会在多个信道之间跳频,嗅探器必须跟随连接。
- 配合 Wireshark 的 nRF52840 加密狗和 nRF 嗅探插件,是标准的低成本捕获工具。
- Ubertooth One可以捕获 BLE 以及部分经典蓝牙流量。
- 请在连接事件期间进行捕获,以捕捉初始握手。
Wireshark 会将捕获的数据包解析为广播数据、连接请求和 GATT 操作,让您准确确定应用读取和写入的内容。
BLE 配对及其弱点
BLE 的安全性取决于绑定时选择的配对方法:
- 直接配对——不进行用户验证;从设计上就容易遭受中间人攻击。在廉价物联网设备中极为常见。
- 密钥输入——使用 6 位数字代码,安全性更高,但实现不当时可以被暴力破解。
- 数字比较——两台设备都会显示一个数字供确认(LE 安全连接)。
旧版配对(4.2 之前)在密码学上较弱,可以从捕获的握手过程中恢复其密钥。LE 安全连接使用 ECDH,是唯一被认为稳健的配对方法。
破解旧版配对
当设备使用 BLE 旧版配对时,可以对捕获的配对交换过程进行暴力破解,以恢复临时密钥,最终恢复长期密钥。
工具 crackle 可以针对配对事件的 pcap 文件自动完成这一过程。恢复密钥后,就可以解密捕获文件中先前加密的流量。
# Recover keys from a captured legacy pairing
crackle -i pairing_capture.pcap
# Decrypt the traffic using a recovered Long Term Key
crackle -i encrypted.pcap -o decrypted.pcap -l <recovered_ltk>主动攻击:欺骗与写入
许多 BLE 设备会信任任何能够连接的设备。枚举出可写特征后,您通常可以在没有身份验证的情况下直接发出命令。
- 未经身份验证的写入——向控制特征发送精心构造的值,可能会解锁智能锁或切换继电器。
- 设备欺骗——克隆外围设备的 MAC 地址和广播信息,以便在目标应用看来冒充该设备。
- GATTacker / Mirage——通过代理 GATT 流量对外围设备实施中间人攻击的框架。
典型的发现项是:智能锁使用固定的明文写入作为解锁命令,任何人都可以重放该命令。
使用代理实施中间人攻击
BLE MITM 代理会克隆目标外围设备,让目标应用连接到克隆设备,再将流量中继到真实设备。这样可以暴露完整的通信内容,并允许实时修改。
Mirage 和 GATTacker 等框架会自动克隆广播并桥接两个无线电设备。您可以在传输过程中捕获、修改或重放任何 GATT 操作。
# Clone and MITM a BLE peripheral with Mirage
mirage ble_mitm TARGET=AA:BB:CC:DD:EE:FF
# Scan and enumerate as part of recon
mirage ble_scan
mirage ble_info TARGET=AA:BB:CC:DD:EE:FF经典蓝牙注意事项
经典蓝牙也有自己的问题历史。值得注意的例子包括 BlueBorne(一组协议栈级远程代码执行漏洞)和 KNOB(蓝牙密钥协商),后者会将加密密钥长度强制降到可以暴力破解的程度。
- 许多耳机和车载套件仍然接受弱密码或默认密码。
- 通过 SDP 进行服务发现可能泄露设备功能和固件线索。
- 旧版协议栈可能尚未针对已知 CVE 漏洞打补丁。
对于经典蓝牙,您的评估重点是协议栈版本、配对强度和已知存在漏洞的固件。
通信范围与跟踪隐私
持续发送广播的 BLE 设备会带来隐私和跟踪风险。静态 MAC 地址会让观察者能够跟踪一个人跨越不同地点的行踪。
- MAC 随机化会定期轮换地址以防止跟踪,但许多设备实现不完善,甚至完全没有实现。
- 即使使用了随机 MAC,可识别的广播载荷(固定名称、厂商数据)仍可能让设备被重新识别。
- 远距离定向天线会将实际嗅探距离延伸到远超标称 10 米的范围。
评估跟踪暴露风险是 BLE 隐私审查中合理且重要的一部分。
加固蓝牙设备
BLE 评估提出的防御建议通常包括:
- 使用带数字比较的LE 安全连接;对于敏感功能,绝不要采用直接配对。
- 在链路之上应用应用层加密和身份验证,使 MITM 无法重放或伪造命令。
- 为解锁等控制命令实现每会话随机数或滚动码。
- 启用适当的MAC 随机化,并移除可识别的广播数据。
- 及时为蓝牙协议栈打补丁,修复 BlueBorne、KNOB 及类似问题。
反复得到的教训是:当应用信任任何已连接客户端时,仅靠链路层安全并不足够。
快速检查
测试您对 BLE 配对安全性的理解。
回顾
现在,您已经能够端到端地评估蓝牙和 BLE 设备:
- BLE 使用40 个信道,并通过由服务和特征组成的GATT模型提供数据。
- 侦察意味着扫描广播并使用 BlueZ 工具或 nRF Connect 枚举 GATT 数据库。
- 使用 nRF52840 或 Ubertooth 进行嗅探,可以将数据送入 Wireshark 进行协议分析。
- 直接配对和旧版配对都很弱;crackle 可以从捕获的旧版握手中恢复密钥。
- 主动攻击会利用未经身份验证的写入,以及 Mirage 和 GATTacker 等 MITM 代理。
- 防御需要 LE 安全连接,以及应用层身份验证和滚动命令机制。
接下来,您将从已连接协议转向使用 RFID 和 NFC 的非接触式标签。
常见问题解答
「Bluetooth 与 BLE 攻击」课时是免费的吗?
是的 — 「Bluetooth 与 BLE 攻击」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「Bluetooth 与 BLE 攻击」这节课中我会学到什么?
嗅探并滥用 Bluetooth 设备。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「Bluetooth 与 BLE 攻击」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- RF 与 SDR 基础
- Bluetooth 与 BLE 攻击
- RFID 与 NFC 安全
- 捕获并重放信号