Pentesting BLE - Bluetooth Low Energy
Last updated
Last updated
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
自 Bluetooth 4.0 规范以来,BLE 仅使用 40 个频道,覆盖 2400 到 2483.5 MHz 的范围。相比之下,传统蓝牙在同一范围内使用 79 个频道。
BLE 设备通过发送 广告数据包 (beacons) 进行通信,这些数据包向其他附近设备广播 BLE 设备的存在。这些信标有时也会 发送数据。
监听设备,也称为中央设备,可以通过发送特定于广告设备的 SCAN 请求 来响应广告数据包。该扫描的 响应 使用与 广告 数据包相同的结构,并包含无法在初始广告请求中容纳的附加信息,例如完整的设备名称。
前导字节用于同步频率,而四字节访问地址是 连接标识符,用于多个设备尝试在同一频道上建立连接的场景。接下来,协议数据单元 (PDU) 包含 广告数据。PDU 有几种类型;最常用的是 ADV_NONCONN_IND 和 ADV_IND。如果设备 不接受连接,则使用 ADV_NONCONN_IND PDU 类型,仅在广告数据包中传输数据。如果设备 允许连接,并且在 连接 建立后 停止发送广告 数据包,则使用 ADV_IND。
通用属性配置文件 (GATT) 定义了 设备应如何格式化和传输数据。当您分析 BLE 设备的攻击面时,您通常会将注意力集中在 GATT(或 GATTs)上,因为它是 设备功能触发 和数据存储、分组及修改的方式。GATT 以表格形式列出设备的特性、描述符和服务,值为 16 位或 32 位。特性 是在中央设备和外设之间 发送 的 数据 值。这些特性可以具有 描述符,以 提供有关它们的附加信息。如果特性与执行特定操作相关,则 特性 通常会在 服务 中 分组。
GATTool 允许与另一个设备 建立 连接,列出该设备的 特征,并读取和写入其属性。
GATTTool 可以使用 -I
选项启动交互式 shell:
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)