mcpField
O
offensive-bluetooth-classic

offensive-bluetooth-classic

github.com/snailsploit安全9.7k176 次安装2 周前更新
代码仓库

关于 offensive-bluetooth-classic

面向安全测试人员的 Bluetooth Classic 攻击检查清单,涵盖设备发现、服务枚举及常见配置和漏洞测试。

主要功能

  1. 01发现设备并枚举 SDP 服务
  2. 02检查 SPP、HID 和音频配置
  3. 03评估 KNOB 与 BlueBorne 风险
  4. 04记录设备版本及测试结果

适用场景

  1. 01审计工业和 IoT 设备的蓝牙接口
  2. 02检查旧设备的配对与服务暴露
  3. 03评估未修补 Bluetooth Classic 设备的风险

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/snailsploit/claude-red --skill offensive-bluetooth-classic

安装后在 Claude Code 中输入/offensive-bluetooth-classic确认已加载。

详细介绍

蓝牙经典(BR/EDR)攻击

早于 BLE,如今较少遭到攻击,但仍存在于汽车、工业传感器、音频设备和旧版企业硬件中。许多知名的历史攻击(BlueSnarf、BlueBug)已得到缓解;未打补丁的设备仍可能受到 KNOB 和 BlueBorne 系列攻击。

快速工作流

  1. 使用 hcitool / bluetoothctl / redfang 发现设备
  2. 通过 SDP 枚举暴露的服务
  3. 测试每种服务配置文件是否可在未认证的情况下访问
  4. 检查配对加密(是否适用 KNOB)
  5. 针对旧版 / 未打补丁的设备进行近距离物理攻击

发现

# Modern adapter (built-in or USB Bluetooth 4.0+)
sudo hciconfig hci0 up
sudo hcitool inq                       # inquiry
sudo hcitool scan --length=12          # 12-second scan

# bluetoothctl interactive
bluetoothctl
> scan on
> devices

# Discoverable-mode-only devices appear; non-discoverable need address brute
sudo redfang -r 00:00:00:00:00:00-FF:FF:FF:FF:FF:FF
# (very slow — ~7 hours per OUI prefix)

服务发现(SDP)

# List all services on a device
sdptool browse AA:BB:CC:DD:EE:FF
sdptool records AA:BB:CC:DD:EE:FF

常见配置文件及其攻击相关性:

配置文件UUID攻击
OBEX 对象推送(OPP)0x1105针对旧款手机的 BlueSnarf/BlueBug 攻击(现已基本绝迹)
OBEX 文件传输(FTP)0x1106在旧版设备上浏览 / 写入文件系统
耳机(HSP/HFP)0x1108 / 0x111E窃听正在进行的通话音频
串行端口配置文件(SPP)0x1101工业 / IoT 调试端口——通常无需认证
HID0x1124冒充键盘 / 鼠标
音频接收器 / 音源(A2DP)0x110B / 0x110A注入 / 窃听音频

滥用 SPP

串行端口配置文件(SPP)通过虚拟 COM 端口在蓝牙上隧道传输任意数据。工业 / IoT 设备会用它进行调试或遥测,且通常无需认证。

# Connect to SPP service, channel typically 1
sudo rfcomm bind /dev/rfcomm0 AA:BB:CC:DD:EE:FF 1
sudo screen /dev/rfcomm0 9600
# Then interact with the device's CLI / debug menu

KNOB(CVE-2019-9506)

强制蓝牙配对协商使用 1 字节加密密钥,使链路密钥极易遭到暴力破解。

# Test with internalblue (requires Broadcom firmware patch)
git clone https://github.com/seemoo-lab/internalblue
internalblue
> log keys
# Patch firmware to allow 1-byte key; pair with target; observe weak key

大多数现代设备已通过固件修复。以下设备仍可能受到攻击:

  • 较旧的 Broadcom 设备(2019 年之前的 BCM 芯片组)
  • 嵌入式汽车蓝牙协议栈
  • 廉价消费级音频设备

BlueBorne(CVE-2017-1000251 等)

这是一个涉及主要蓝牙协议栈(Linux BlueZ、Android、Windows、iOS)的缓冲区溢出 / 信息泄露漏洞系列。大部分漏洞已于 2017–2018 年修复,但未打补丁的嵌入式 Linux 设备仍很常见。

# Armis blueborne-scanner — checks for patch-level
git clone https://github.com/ArmisSecurity/blueborne
python blueborne_scanner.py AA:BB:CC:DD:EE:FF

HID 欺骗(PoC)

如果通过 Just Works 或弱 PIN 成功配对,你就可以注册为 HID 设备,在无人看管且已配对蓝牙的主机上注入按键。

# bdaddr + HID example — register custom HID on rfcomm
hcitool dev
hciconfig hci0 class 0x000540   # HID device class
sdptool add HID
# Use a HID descriptor crafted as keyboard, send keystrokes

音频窃听

如果目标已配对并启用蓝牙耳机,且你可以重新配对(PIN 暴力破解或 KNOB):

  • HSP/HFP 配置文件允许你冒充对端并接收音频
  • 某些固件允许同时连接多个对端,可在不造成中断的情况下窃听

交战速查表

# 1. Discover
sudo hcitool inq

# 2. Enumerate services per device
sdptool browse <MAC>

# 3. SPP (industrial/IoT) — connect and explore
sudo rfcomm bind /dev/rfcomm0 <MAC> 1
sudo screen /dev/rfcomm0 9600

# 4. Patch-level scan
python blueborne_scanner.py <MAC>

# 5. KNOB testing (with adapter that supports internalblue)
internalblue → log keys → re-pair target

# 6. Document profiles, auth state, exposed commands per device

检测

  • 大多数环境中没有原生的蓝牙经典 IDS
  • 附近具备蓝牙感知能力的监控系统可以发现主动查询(较少见)
  • 目标设备上的重新配对提示可能会引起用户注意

报告

  • 确定每台设备的芯片组和固件版本(通常可在服务记录中查看)
  • 梳理 CVE 的适用情况(BlueBorne、KNOB、BlueFrag 等)
  • 记录具体的配置文件滥用情况(例如 SPP 未经认证即可访问、HID 欺骗成功等)

主要参考资料

评论

支持 Markdown