本文涉及的技术仅供安全研究与学习参考,请勿用于非授权的真实环境攻击
什么是 BLE?
BLE是蓝牙低功耗的缩写,是一种专为低功耗应用设计的蓝牙技术标准,与传统蓝牙相比具有更低的功耗、较短的时间和简化的通信协议。
BLE 工作过程如下:
1、角色
BLE设备角色主要分为两种角色,主机(Central)和从机(Peripheral),当主机和从机建立连接之后才能相互收发数据。
2、广播
在BLE技术中,广播用于设备之间的发现和连接。当BLE设备处于广播模式时,它会周期性地发送广播包(Advertising Packets)来向周围的其他设备宣告自己的存在和提供的服务信息。广播数据包最多能携带31个字节的数据,广播包中通常包含设备的唯一标识符、设备类型、支持的服务等信息。
以下是广播在使用过程中的几个重要作用
3、扫描
扫描是主机监听从机广播数据包和发送扫描请求的过程,主机通过扫描,可以获取到从机的广播包以及扫描回应数据包,主机可以对已扫描到的从机设备发起连接请求,从而连接从机设备并通信。
4、连接

(图文部分参考自:2a2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6*7K9s2g2S2L8X3I4S2L8W2)9J5k6i4A6Z5K9h3S2#2i4K6u0W2j5$3!0E0i4K6u0r3M7q4)9J5c8U0j5^5y4K6x3#2y4e0x3&6x3q4!0q4c8W2!0n7b7#2)9^5z5b7`.`.
4. 蓝牙协议ATT、GATT层介绍 —— bluetoothlover_wiki 0.0.1 documentation
在这个蓝牙灯泡中,ATT/GATT交互流程
普通windows电脑并不能抓取大部分的BLE通信包,有如下原因:
而nRF Sniffrer可以捕获广播包监听连接建立,同时跟踪调频将数据实时发送给wireshark
首先安装wireshark,注意安装时候需要勾选Npcap和USBPcap

全部勾选即可。

其他位置默认即可
注意wireshark最好以管理员模式启动,否则每个抓包节点会一直请求管理员权限

驱动下载链接:『来自123云盘用户15982553848的分享』CP210x_Universal_Windows_Driver.zip
链接:a8fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1j5I4z5o6x3$3x3K6b7%4y4o6V1#2i4K6u0W2M7$3S2S2M7X3g2Q4x3X3f1I4x3U0x3^5y4U0g2Q4x3X3g2U0L8$3#2Q4x3V1j5I4x3U0y4H3j5h3&6Q4x3V1k6B7K9e0W2X3g2r3c8Q4x3X3b7#2L8g2u0E0x3#2)9K6c8Y4m8%4k6q4)9K6c8q4j5#2b7f1E0Q4x3U0x3`.
提取码:V5AK

点击选择解压的文件夹安装即可
打开wireshark:帮助 → 关于

把解压内容文件夹extcap中的内容复制到步骤1的路径中。注意这个插件在网上流传版本似乎已经很是古老了,特别是对于与wireshark的插件竟然还在Python 2.7,并且与当前新版本的Wireshark并不能使用,所以我自行对插件进行了一些调整,在现版本下可以完美运行。
下载链接:3c6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6$3M7%4c8J5j5h3I4U0L8W2)9J5c8X3&6d9c8U0f1J5z5o6x3J5i4K6g2X3g2$3W2J5k6g2y4Z5j5i4u0C8i4K6g2X3j5$3q4H3i4K6u0V1

在菜单栏中勾选插件:

然后就可以抓包了

需要在建立连接前提前开启。



BLE 建立连接后,应用层数据主要通过 ATT(Attribute Protocol)承载,因此使用:btatt 过滤ATT数据包,重点观察Write Request、Handle Value Notification、Read Response等GATT交互行为
断开app与灯泡连接,然后重新启动
抓到来自灯泡和手机app的大量蓝牙数据包

等待指示灯信号稳定。

冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。
最后于 2天前
被vstral编辑
,原因: