wireshark蓝牙数据包分析_逆向智能门锁漏洞分析PART(二)

本文介绍了如何利用Android手机的BTSNOOP功能捕获并分析蓝牙数据包,特别是针对蓝牙低功耗(BLE)的安全密钥交换过程。通过Wireshark解析btsnoop_hci.log文件,揭示了蓝牙会话的加密细节,展示了重放攻击的可能性,并强调了固件更新对于保护智能设备的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击蓝字

关注我们

逆向智能门锁漏洞分析PART(一)后续篇

0b01fa2cfa28448b2d48b893c6cba666.gif

BTSNOOP (安卓蓝牙 HCI 记录器)

最终,BTSNOOP必须成为我最大的发现之一,当想要捕捉一个完整的蓝牙会话之间的中央(手机)和外设(锁),我尝试各种方法来捕获我的OTA蓝牙会话,包括北欧的nRF嗅探器开发板nRF52840-DK,Sena的UD100加密狗,Ubertooth-One和德州仪器CC2540加密狗。所有这些方法的问题在于,由于蓝牙低功耗 (BLE)通道跳跃,它们无法跟踪连接。北欧nRF52840-DK在与 Wireshark 和北欧的 BLE 嗅探器插件一起使用时非常接近,但不幸的是,数据包捕获是在链路层(而不是主机控制器接口层),导致无法解析的加密数据。

由于它不是在 HCI 层捕获的,这意味着它容易受到 CCM AES-128 BLE 安全密钥交换协议握手的影响。根据我的判断,这意味着如果nRF52840-DK在配对时没有嗅探,它将完全错过安全握手,导致数据包没有解密。

重要提示:NRF 嗅探器缺点!

如果 KeyWe 锁在配对后执行通道跃点,但在 App 传输第 1 个数据包之前,nRF 嗅探器将错过初始 CCM AES-128 BLE 安全密钥交换。这将导致加密的"无用的"数据包。这是 nRF 嗅探器无法遵循通道图的一个缺陷。注意:CCM AES-128 BLE 安全密钥交换是所有蓝牙低功耗 OTA 无线连接中的安全协议,可防止 MiM 窃听。

CCM AES-128 BLE 安全密钥交换:

(这是与 KeyWe 项目无关的一般信息)

临时密钥在蓝牙配对过程中使用。短期密钥用作首次设备对加密连接的密钥。短期密钥使用三条信息生成:临时密钥和两个随机数,一个由从站生成,另一个由主项生成。

使用短期密钥加密连接后,其他密钥将分发。长期密钥替换加密连接的短期密钥。身份解析密钥用于隐私。连接签名密钥用于身份验证。

幸运的是,有一个极好的方法来捕捉蓝牙流量使用您的ANDROID设备!

在 Android 手机上

•转到设置

•如果未启用开发人员选项,请现在启用

•转到开发人员选项

•启用选项 启用蓝牙 HCI 窥探日志

•执行需要捕获的操作(会话)

•禁用选项 启用蓝牙 HCI 窥探日志

•使用亚行(安卓调试桥)将文件复制到 PC

•感兴趣的文件btsnoop_h

<think>好的,用户想解析分析BLE蓝牙HCI日志文件。首先,我需要回忆一下相关的知识,并结合提供的引用内容来组织答案。 根据引用[1],用户已经知道如何获取HCI日志的路径,特别是华为手机的位置可能在/data/log/bt/btsnoop_hci.log。这应该是分析的第一步,确认日志文件的存在和正确获取。 接下来,用户可能需要工具来解析这些日志。常见的工具包括Wireshark和Frontline软件。引用[2]提到Android Bluetooth HCI log的详解,可能里面提到了工具的使用方法。需要建议用户使用Wireshark,因为它免费且功能强大,支持多种协议分析。同时,要提醒用户可能需要将日志文件从手机导出到电脑,使用adb pull命令,这在引用[1]中也有涉及。 然后,分析步骤方面,需要分阶段查看连接过程,比如扫描、配对、数据传输等。引用[3]提到配对时交换的密钥信息,比如IRK和CSRK,这可能出现在配对阶段的日志中,需要解析相关数据包查看是否有错误。同时,错误码的解析也很重要,引用[4]提供了BLE的HCI错误码,需要指导用户如何查找错误码并对应解释,比如在Wireshark中过滤错误事件,或者直接搜索错误码。 另外,常见问题部分需要包括连接失败、数据包丢失和安全问题。比如连接失败可能涉及错误码,引用[4]中的错误码表可以帮助用户识别问题原因。数据包丢失可能需要检查信号强度或干扰,而安全问题如配对失败可能与密钥交换有关,引用[3]中的IRK和CSRK是关键点。 最后,要生成相关问题,帮助用户进一步深入。比如如何过滤特定类型的HCI包,或者BLE连接失败的具体错误码分析,这些都可以作为扩展问题。 需要确保整个回答结构清晰,步骤明确,并且正确引用提供的资料。同时,按照用户的格式要求,使用中文,正确应用LaTeX格式,生成相关的问题列表。</think>### 解析分析 BLE 蓝牙 HCI 日志文件的步骤 #### 1. **获取 HCI 日志文件** - **日志路径**:华为手机中蓝牙日志通常存储在 `/data/log/bt/btsnoop_hci.log`,可通过以下命令导出: ```bash adb pull /data/log/bt/btsnoop_hci.log [本地路径] ``` 引用[1]中已验证配置文件路径和日志命名规则[^1]。 #### 2. **使用工具解析日志** - **Wireshark**:支持解析 `btsnoop_hci.log` 格式,可直观查看协议层交互细节。 - 打开日志文件后,通过过滤条件(如 `btle` 或 `hci_evt`)聚焦 BLE 事件。 - **Frontline BPA 工具**:专业蓝牙协议分析工具,支持深度解析加密数据[^2]。 #### 3. **关键分析步骤** - **连接建立阶段**: - 查看 `LE Connection Complete` 事件,确认连接参数(如间隔、延迟、超时)。 - 检查 `LE Extended Advertising Report` 分析广播包内容。 - **配对与加密**: - 匹配 `LE Long Term Key Request` 事件,观察密钥交换过程(如 IRK 和 CSRK 的传输)[^3]。 - 通过 `SMP Packet` 过滤,分析配对协议中的错误码(如认证失败)。 - **错误码解析**: - 根据 HCI 事件中的 `Status` 字段(如 `0x0D` 表示连接超时),参考 BLE 错误码表定位问题[^4]。 - 示例:错误码 `0x3E` 表示 **Connection Failed to be Established**。 #### 4. **常见问题诊断** - **连接不稳定**: - 检查 `RSSI` 值(通过 `LE Read RSSI` 命令),过低可能因信号干扰。 - 分析 `LE Connection Update Complete` 事件,确认连接参数是否合理。 - **数据包丢失**: - 使用 `btl2cap` 过滤 L2CAP 层数据,查看重传次数或 CRC 校验失败。 - **安全漏洞**: - 检查配对过程中是否启用加密(如 `LE Enable Encryption Request` 事件缺失)。 #### 5. **示例分析片段(Wireshark)** ``` No. Time Source Protocol Info 123 1.234s Controller HCI_LE_Connection_Complete (Status: Success) - Handle: 0x0001 - Role: Master - Interval: 36 (45ms) - Latency: 0 - Supervision Timeout: 500 (5s) ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值