news 2026/8/24 17:39:37

BlueToolkit Recon侦察模块详解:如何采集目标设备的蓝牙版本、厂商与配对能力

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
BlueToolkit Recon侦察模块详解:如何采集目标设备的蓝牙版本、厂商与配对能力

BlueToolkit Recon侦察模块详解:如何采集目标设备的蓝牙版本、厂商与配对能力

【免费下载链接】BlueToolkitBlueToolkit is an extensible Bluetooth Classic vulnerability testing framework that helps uncover new and old vulnerabilities in Bluetooth-enabled devices. Could be used in the vulnerability research, penetration testing and bluetooth hacking. We also collected and classified Bluetooth vulnerabilities in an "Awesome Bluetooth Security" way项目地址: https://gitcode.com/gh_mirrors/bl/BlueToolkit

BlueToolkit 是一个可扩展的蓝牙经典(BR/EDR)与低功耗蓝牙(BLE)漏洞测试框架,其Recon 侦察模块能一键采集目标设备的蓝牙版本、厂商、LMP 特性和配对能力,是渗透测试前的第一块基石。本文将带你快速上手 Recon 侦察流程,看懂它的输出数据,并了解这些数据如何指导后续的漏洞利用。

为什么 Recon 侦察是蓝牙安全测试的第一步

对蓝牙设备发起攻击前,你需要先回答几个问题:

  • 它广播吗?支持 BLE 还是经典蓝牙?
  • 它允许连接、允许配对吗?
  • 它的 LMP(链路管理协议)版本是多少?用的是哪家芯片方案?
  • 它支持安全简单配对(SSP)吗?I/O 能力是什么?

BlueToolkit 的三大模块中,Recon(侦察)→ Exploit(利用)→ Report(报告),Recon 正是入口:它先收集目标设备的蓝牙能力与安全配置,再决定哪些漏洞模板值得测试。Recon 的核心实现位于 bluekit/bluekit/recon.py。

一条命令启动 Recon 侦察

安装完成后(支持裸机 Ubuntu/Debian 或 Vagrant 虚拟机,入口脚本为install.shvagrant/Vagrantfile),只需一条命令即可对目标 MAC 地址执行完整侦察:

sudo bluekit -t AA:BB:CC:DD:EE:FF -r

参数说明(命令行入口在bluekit/bluekit/bluekit.py):

参数作用
-t, --target目标设备 MAC 地址
-r, --recon运行 Recon 侦察脚本
-ct, --checktarget仅检查目标连通性与可用性
-v版本信息

上图为 BlueToolkit 汽车安全评估中记录的车机蓝牙配对界面(Hyundai、Renault、Audi、BMW)——这些真实设备的配对信息,正是 Recon 模块要采集的目标。

Recon 侦察模块采集的 7 项关键信息

run_recon()会以双模(BR/EDR + BLE)中心角色启动本地蓝牙,按流程逐项探测目标:

#采集项含义对应结果字段
1Advertising设备是否在广播,广播类型(BLE/BREDR)typeadvertising
2Connectable是否允许建立连接connectable
3LMP Version链路层版本,如 5.0、4.2version
4Manufacturer蓝牙芯片厂商(如 Qualcomm、Cypress)vendor
5LMP/LM Features链路层支持的特性位lmp_ll_features
6Pairable是否可配对pairable
7Pairing Features配对能力,含 I/O 能力(I/O capabilities)pairing_features

几点值得注意的细节:

  • 版本换算:LMP 版本字节(十六进制)会映射为人类可读的蓝牙版本,映射表见bluekit/bluekit/constants.py中的VERSION_TABLE(如0x8→ 4.2,0xb→ 5.2)。
  • 自动重试:探测结果中只要还有None,就在超时(默认 20 秒)内循环重试,提高弱信号环境下的成功率。
  • 连通性前置检查bluekit/bluekit/verifyconn.py提供check_device_status(),用位掩码(TARGET_ADVERTISING/TARGET_CONNECTABLE/TARGET_PAIRABLE)描述设备状态;DoS 测试前还会用dos_checker()反复确认目标存活,避免把"设备掉线"误判为漏洞。

如何读懂 recon.json 输出文件

侦察成功后,所有数据会按目标 MAC 归档保存:

/usr/share/BlueToolkit/data/tests/<目标MAC>/recon/recon.json

(路径规则定义在bluekit/bluekit/constants.pyOUTPUT_DIR

recon.json是一个结构化 JSON,关键字段包括type(BT 类型)、version(蓝牙版本)、vendor(芯片厂商)、lmp_ll_featurespairablepairing_features.io_capabilities等。这些数据后续会被两处直接消费:

  1. 漏洞过滤bluekit.py中的exploit_filter()读取vendor / version / bt_type,自动剔除版本不匹配、BT 类型不匹配的漏洞模板,让扫描又快又准。
  2. 侦察类检查exploits/目录下有多份基于侦察数据的 YAML 模板,例如 reconnaissance_SSP_supported.yaml(判断 SSP 是否启用)、reconnaissance_SC_supported.yaml(判断安全连接 SC)、reconnaissance_possible_BLUR.yaml(BLUR 攻击面预检),它们统一调用bluekit_recon_based_check.py复用 Recon 结果。

从侦察到利用:Recon 数据如何决定攻击路线

理解 Recon 的价值,关键在"数据驱动过滤"这条链路:

bluekit -t <MAC> -r # 1. 采集版本/厂商/配对能力 ↓ recon.json # 2. 持久化侦察数据 ↓ exploit_filter() # 3. 按 bt_type + 版本区间过滤可用漏洞 ↓ engine 逐个执行 YAML 模板 # 4. 执行 Exploit 并生成 Report

举例:如果 Recon 发现目标是 BT 3.0 的经典蓝牙设备,那么只影响 BT 5.0+ 的漏洞(如 CVE-2020-24490)会被自动跳过;若发现io_capabilities为 NoInputNoOutput(NiNo),则 KNOB、方法混淆等 MitM 攻击的适用性评估就有了依据。这正是 BlueToolkit 能半自动化覆盖 40+ 个已知漏洞(Braktooth、BleedingTooth、InternalBlue 等)的设计基础——漏洞模板全部以 YAML 存放在exploits/目录,硬件档案在hardware/目录。

小结

  • 一条命令sudo bluekit -t <MAC> -r即可完成完整蓝牙侦察。
  • 七项情报:广播、可连接性、LMP 版本、厂商、LMP 特性、可配对性、I/O 能力,一次采集、JSON 存档。
  • 数据驱动:侦察结果直接驱动漏洞模板过滤与攻击路线选择,避免无效扫描。
  • 生态完整:Recon 之后无缝衔接 Exploit 与 Report 模块,适合漏洞研究、渗透测试与车载蓝牙安全评估。

掌握 Recon 侦察模块,你就拿到了打开 BlueToolkit 蓝牙安全测试之门的钥匙。

【免费下载链接】BlueToolkitBlueToolkit is an extensible Bluetooth Classic vulnerability testing framework that helps uncover new and old vulnerabilities in Bluetooth-enabled devices. Could be used in the vulnerability research, penetration testing and bluetooth hacking. We also collected and classified Bluetooth vulnerabilities in an "Awesome Bluetooth Security" way项目地址: https://gitcode.com/gh_mirrors/bl/BlueToolkit

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 17:38:30

具身智能TVA-VLA形态自适应与策略泛化机制

前沿技术探索&#xff1a;TVA智能体&#xff08;简称TVA&#xff09;TVA智能体&#xff08;亦称“AI智能体视觉”或“TVA视觉智能体”&#xff09;是依托Transformer架构与“因式智能体”理论构建的系统级视觉技术框架。它融合深度强化学习&#xff08;DRL&#xff09;、卷积神…

作者头像 李华
网站建设 2026/8/24 17:37:37

从模板到泛型编程:核心原理、技术价值与实践应用

1. 从“模板”到“泛型编程”&#xff1a;一种思维范式的跃迁“模板是泛型编程的基础&#xff0c;泛型编程即以一种独立于任何特定类型的方式编写代码”——这句话对于任何从C、Java或C#等语言入门的开发者来说&#xff0c;都像是一句刻在DNA里的箴言。但真正理解它&#xff0c…

作者头像 李华
网站建设 2026/8/24 17:31:55

C++中std::move与std::forward的深度解析:从值类别到完美转发

1. 从两个“万能”函数说起&#xff1a;为什么你总用不对它们&#xff1f; 如果你写过一段时间的现代C&#xff0c;尤其是接触过模板、智能指针或者容器操作&#xff0c;那么 std::move 和 std::forward 这两个名字对你来说一定不陌生。它们频繁地出现在各种库的源码、性能…

作者头像 李华
网站建设 2026/8/24 17:30:51

五分钟在小程序里渲染 HTML 与 Markdown:wxParse 富文本解析完整实战

五分钟在小程序里渲染 HTML 与 Markdown&#xff1a;wxParse 富文本解析完整实战 【免费下载链接】wxParse wxParse-微信小程序富文本解析自定义组件&#xff0c;支持HTML及markdown解析 项目地址: https://gitcode.com/gh_mirrors/wx/wxParse wxParse 是微信小程序富文…

作者头像 李华