V33RU/bluesploit

GitHub: V33RU/bluesploit

一个 Metasploit 风格的蓝牙安全测试框架,覆盖经典蓝牙和 BLE 双协议,内置 101 个模块和 40+ 个 CVE 漏洞利用,面向授权渗透测试与安全研究。

Stars: 77 | Forks: 5

# BlueSploit - Bluetooth 漏洞利用框架 一个 Metasploit 风格的蓝牙安全测试框架,支持经典蓝牙 BR/EDR 和 BLE,专为授权的渗透测试和安全研究而构建。 ``` ██████╗ ██╗ ██╗ ██╗███████╗███████╗██████╗ ██╗ ██████╗ ██╗████████╗ ██╔══██╗██║ ██║ ██║██╔════╝██╔════╝██╔══██╗██║ ██╔═══██╗██║╚══██╔══╝ ██████╔╝██║ ██║ ██║█████╗ ███████╗██████╔╝██║ ██║ ██║██║ ██║ ██╔══██╗██║ ██║ ██║██╔══╝ ╚════██║██╔═══╝ ██║ ██║ ██║██║ ██║ ██████╔╝███████╗╚██████╔╝███████╗███████║██║ ███████╗╚██████╔╝██║ ██║ ╚═════╝ ╚══════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ``` ### 控制台预览 ![BlueSploit 交互式控制台](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/1fcd21d809222348.png) ## 功能 - 横跨 6 大类别的 **101 个模块**:漏洞利用、扫描器、侦察、DoS、辅助工具、后渗透 - 实现了 **40+ 个 CVE**,并附带有效的概念验证漏洞利用 (2010 → 2026) - **跨平台安装** — Linux (apt/dnf/yum/pacman/zypper/apk/xbps/emerge) + macOS (CoreBluetooth) - **硬件支持** Ubertooth One, nRF52840, BTLEJack, HackRF One, YARD Stick One - **交互式 CLI**,具备 Metasploit 风格的命令接口 - 通过 btmon/tcpdump 为所有模块运行提供 **PCAP 捕获** - **双协议**覆盖:Bluetooth Classic (BR/EDR) 和 Bluetooth Low Energy (BLE) ## 安装说明 ### 一键安装(推荐) `install.sh` 会自动检测您的发行版 / 操作系统并安装所有内容: ``` git clone https://github.com/V33RU/bluesploit.git cd bluesploit ./install.sh # basic ./install.sh --full # all extras (rich, cmd2, scapy, classic BT) ./install.sh --classic # add Bluetooth Classic support (Linux only) ./install.sh --dev # add dev tooling (pytest, black, flake8) ./install.sh --no-deps # skip system packages (Python deps only) ``` 支持的包管理器:**apt, dnf, yum, pacman, zypper, apk, xbps, emerge** + macOS Homebrew。 ### 手动安装 ``` git clone https://github.com/V33RU/bluesploit.git cd bluesploit pip install -r requirements.txt # 或作为 package pip install . ``` ### 各发行版系统前置条件 | 发行版 | 命令 | |--------|---------| | Debian / Ubuntu / Kali | `sudo apt install bluez bluetooth libbluetooth-dev python3-dev libglib2.0-dev pkg-config build-essential` | | Fedora / RHEL / Rocky | `sudo dnf install bluez bluez-libs-devel python3-devel glib2-devel pkgconf-pkg-config gcc gcc-c++ make` | | Arch / Manjaro | `sudo pacman -S bluez bluez-utils glib2 pkgconf base-devel` | | openSUSE | `sudo zypper install bluez bluez-devel python3-devel glib2-devel pkg-config gcc gcc-c++ make` | | Alpine | `sudo apk add bluez bluez-dev python3-dev glib-dev pkgconfig build-base linux-headers` | | Void | `sudo xbps-install -Sy bluez bluez-devel python3-devel glib-devel pkg-config base-devel` | | macOS | 无需安装 — CoreBluetooth 为内置组件(仅通过 `bleak` 支持 BLE) | ### 特定硬件的软件包(可选) ``` # Ubertooth One sudo apt install ubertooth wireshark # HackRF One sudo apt install hackrf gr-bluetooth # nRF52840 — 刷入 nRF Sniffer firmware,安装 Wireshark plugin # BTLEJack — 将 BTLEJack firmware 刷入 micro:bit # YARD Stick One pip install git+https://github.com/atlas0fd00m/rfcat.git ``` ## 快速入门 ``` # 启动 interactive console sudo python bluesploit.py # 列出所有可用 modules sudo python bluesploit.py --list ``` ### 使用示例 ``` bluesploit > use exploits/keystroke_injection bluesploit (keystroke_injection) > set target AA:BB:CC:DD:EE:FF bluesploit (keystroke_injection) > set payload hello world bluesploit (keystroke_injection) > options bluesploit (keystroke_injection) > run ``` ## 控制台命令 | 命令 | 描述 | |---------|-------------| | `help` | 显示所有命令 | | `use ` | 选择一个模块 | | `set ` | 设置模块选项 | | `options` | 显示当前模块选项 | | `run` / `exploit` | 执行选定的模块 | | `back` | 取消选择当前模块 | | `show modules` | 列出所有模块 | | `search ` | 按名称/描述搜索模块 | | `info [module]` | 显示详细的模块信息 | | `exit` / `quit` | 退出框架 | ## 模块 (101) ### 漏洞利用 (69) | 模块 | CVE | 描述 | |--------|-----|-------------| | `exploits/keystroke_injection` | CVE-2023-45866 | 0-click Bluetooth HID 击键注入 | | `exploits/bluffs` | CVE-2023-24023 | BLUFFS 会话密钥降级 | | `exploits/bluffs_mitm` | CVE-2023-24023 | BLUFFS 主动 MITM 攻击 | | `exploits/braktooth_esp32` | CVE-2021-28139 | BrakTooth ESP32 LMP 崩溃 / ACE | | `exploits/bluefrag` | CVE-2020-0022 | Android Bluetooth A2DP RCE | | `exploits/bias` | CVE-2020-10135 | BIAS 认证绕过 | | `exploits/badkarma` | CVE-2020-12351 | BleedingTooth L2CAP 类型混淆 RCE | | `exploits/badchoice` | CVE-2020-12352 | BleedingTooth A2MP 信息泄露 | | `exploits/knob` | CVE-2019-9506 | 密钥协商熵检查 | | `exploits/knob_active` | CVE-2019-9506 | 主动密钥熵降级 | | `exploits/sweyntooth` | CVE-2019-16336+ | SweynTooth BLE 链路层漏洞利用 | | `exploits/blueborne_linux_rce` | CVE-2017-1000251 | Linux BlueZ L2CAP 栈溢出 RCE | | `exploits/blueborne_leak` | CVE-2017-0781 | Android 蓝牙信息泄露 | | `exploits/bnep_heap_disclosure` | CVE-2017-13258 | Android BNEP 堆信息泄露 | | `exploits/whisperpair` | CVE-2025-36911 | Google Fast Pair 劫持 — 在未开启配对模式的情况下强制配对 | | `exploits/zephyr_ble_smp_crash` | CVE-2025-10456 | Zephyr RTOS BLE 固定通道整数溢出 DoS | | `exploits/airoha_race_chain` | CVE-2025-20700/20701/20702 | Airoha 3 阶段 BLE→Classic→RACE RCE 链 | | `exploits/rfcomm_privesc_race` | CVE-2026-23671 | Windows RFCOMM 驱动竞态条件 — 本地 EoP 提权至 SYSTEM | | `exploits/apple_bt_dos` | CVE-2026-20650 | 通过畸形数据包导致 Apple BT 子系统崩溃 | | `exploits/harmonyos_bt_oob` | CVE-2026-28540 | Huawei HarmonyOS 蓝牙 OOB 堆信息泄露 | | `exploits/bluebugging` | - | 通过 RFCOMM 进行 AT 命令注入 | | `exploits/bluesnarfing` | - | OBEX 文件窃取(联系人、短信、日历) | | `exploits/a2dp_inject` | - | A2DP 音频注入与媒体控制 | | `exploits/ble_mitm` | - | BLE 中间人(MITM)中继 | | `exploits/ble_pairing_downgrade` | - | 强制使用 JustWorks/传统配对 | | `exploits/ble_replay` | - | BLE GATT 捕获与重放 | | `exploits/ble_sc_bypass` | - | BLE Secure Connections 绕过 | | `exploits/ble_longrange` | - | BT 5.x coded PHY / 远距离攻击 | | `exploits/mesh_attack` | - | BLE Mesh 配置 MITM 与重放 | | `exploits/unauth_write` | - | 未经身份验证的 BLE GATT 写入 | | `exploits/rfcomm_shell` | - | RFCOMM 反向/绑定 shell | | `exploits/obex_exploit` | - | OBEX OPP/FTP 文件推送/拉取 | | `exploits/pin_bruteforce` | - | 经典蓝牙 4 位 PIN 暴力破解 | ### 扫描器 (5) | 模块 | 描述 | |--------|-------------| | `scanners/vuln_scanner` | 基于设备配置文件的自动 CVE 检测 | | `scanners/vuln_scan` | 快速 BLE 漏洞扫描 | | `scanners/blueborne_scan` | BlueBorne 漏洞检测 | | `scanners/ble_vuln_scanner` | 全面的 BLE 安全评估 | | `scanners/hidden_scanner` | 通过暴力破解发现不可见设备 | ### 侦察 (6) | 模块 | 描述 | |--------|-------------| | `recon/discovery` | 带详细信息的 BLE 设备发现 | | `recon/gatt_enum` | BLE GATT 服务/特征枚举 | | `recon/sdp_enum` | 经典 SDP 服务枚举 | | `recon/adv_parser` | BLE 广播深度分析与指纹识别 | | `recon/oui_lookup` | MAC 地址厂商识别 | | `recon/version_fingerprint` | 通过蓝牙进行 OS/固件指纹识别 | ### DoS (10) | 模块 | 描述 | |--------|-------------| | `dos/bluesmack` | L2CAP echo 洪泛 | | `dos/l2ping_flood` | L2CAP ping 洪泛 | | `dos/sdp_flood` | SDP 查询洪泛 | | `dos/rfcomm_flood` | RFCOMM 连接耗尽 | | `dos/notify_flood` | BLE 通知洪泛 | ### 辅助工具 (6) | 模块 | 描述 | |--------|-------------| | `auxiliary/hw_detect` | 检测所有已连接的蓝牙硬件 | | `auxiliary/ble_fuzzer` | BLE ATT/GATT/SMP 协议模糊测试器 | | `auxiliary/ubertooth_sniff` | Ubertooth One 被动嗅探器 | | `auxiliary/nrf_sniffer` | nRF52840 BLE 数据包捕获 | | `auxiliary/btlejack_capture` | BTLEJack 连接跟踪与劫持 | ### 后渗透 (2) | 模块 | 描述 | |--------|-------------| | `post/link_key_dump` | 从 BlueZ 中提取存储的 link key | | `post/bt_impersonation` | 使用窃取的 link key 冒充已配对设备 | ## 支持的硬件 | 设备 | 协议 | 用例 | |--------|----------|----------| | USB 蓝牙适配器 (HCI) | Classic + BLE | 扫描、漏洞利用、连接 | | Ubertooth One | Classic + BLE | 被动嗅探、频谱分析 | | nRF52840 Dongle | BLE | 被动 BLE 嗅探 | | BTLEJack (micro:bit) | BLE | 连接劫持与注入 | | HackRF One | Classic | 原始蓝牙基带捕获 | | YARD Stick One | Sub-GHz | RF 分析与注入 | ## 包含的 CVE | CVE | 名称 | 影响 | |-----|------|--------| | CVE-2023-45866 | HID 击键注入 | 通过 HID 实现 0-click RCE | | CVE-2023-24023 | BLUFFS | 会话密钥降级 / MITM | | CVE-2021-28139 | BrakTooth | ESP32 任意代码执行 | | CVE-2020-0022 | BlueFrag | Android RCE | | CVE-2020-10135 | BIAS | 认证绕过 | | CVE-2020-12351 | BadKarma | Linux RCE | | CVE-2020-12352 | BadChoice | Linux 信息泄露 | | CVE-2019-9506 | KNOB | 加密密钥降级 | | CVE-2019-16336 | SweynTooth | BLE 协议栈崩溃 | | CVE-2017-1000251 | BlueBorne (Linux) | Linux RCE | | CVE-2017-0781 | BlueBorne (Android) | Android 信息泄露 | | CVE-2017-13258 | BNEP 堆信息泄露 | Android 内存泄露 | | CVE-2025-36911 | WhisperPair | Google Fast Pair 劫持 | | CVE-2025-10456 | Zephyr BLE 崩溃 | Zephyr RTOS DoS / 内存破坏 | | CVE-2025-20700/20701/20702 | Airoha RACE 链 | Airoha 芯片组 RCE (Sony/Bose/JBL/29+ 设备) | | CVE-2026-23671 | RFCOMM 提权竞态 | Windows RFCOMM 驱动本地 EoP 提权至 SYSTEM | | CVE-2026-20650 | Apple BT DoS | Apple BT 子系统崩溃 | | CVE-2026-28540 | HarmonyOS BT OOB | Huawei HarmonyOS 蓝牙堆信息泄露 | ## 项目结构 ``` bluesploit/ ├── bluesploit.py # Main entry point ├── setup.py # Package installation ├── requirements.txt # Python dependencies ├── core/ │ ├── base.py # Module base classes & data models │ ├── interpreter.py # Interactive CLI (Metasploit-style) │ ├── loader.py # Dynamic module loader │ ├── hardware.py # Hardware detection & abstraction │ ├── capture.py # PCAP capture (btmon/tcpdump) │ ├── utils/ │ │ └── printer.py # Colored output & banners │ └── ui/ │ └── themes.py # Color themes ├── modules/ │ ├── exploits/ # 69 exploit modules │ ├── scanners/ # 5 scanner modules │ ├── recon/ # 6 reconnaissance modules │ ├── dos/ # 10 denial-of-service modules │ ├── auxiliary/ # 6 auxiliary/hardware modules │ └── post/ # 2 post-exploitation modules └── data/ ├── oui/ # MAC address OUI database ├── profiles/ # Device profile definitions ├── signatures/ # Vulnerability signatures └── wordlists/ # PIN wordlists for brute-force ``` ## 环境要求 - **Python** 3.8+ - **操作系统:** 带有 BlueZ 协议栈的 Linux(所有主要发行版 — 参见安装表)或 macOS(仅通过 CoreBluetooth 支持 BLE) - **权限:** 大多数 Linux 模块需要 Root / sudo 权限(原始 HCI 套接) ### 核心依赖 | 包 | 用途 | |---------|---------| | `bleak` | BLE 扫描与 GATT(跨平台) | | `pybluez2` | 经典蓝牙 L2CAP/RFCOMM/HCI | | `scapy` | 数据包构造与注入 | | `cryptography` | 密钥派生与密码分析 | | `bluepy` | 底层 BLE 访问 | | `pyserial` | 硬件 Dongle 通信 | | `btlejack` | BLE 连接劫持 | | `rich` | 终端 UI(表格、进度条) | | `cmd2` | 高级 REPL | ## 作者 **Mr-IoT** / Mr-IoT ## 许可证 本项目采用 [MIT 许可证](LICENSE) 进行授权。 ## 免责声明 **本工具仅供教育目的和授权的安全测试使用。** - 仅可对您拥有或已获得明确书面授权测试的设备使用 - 未经授权访问计算机系统和网络是违法行为 - 作者不对因滥用本工具造成的任何损害负责 - 请始终遵守当地关于无线安全测试的法律法规
标签:BLE, BR/EDR, BTLEJack, CVE利用, HackRF, nRF52840, PCAP, Python开发, Ubertooth, 交互式CLI, 反取证, 安全评估, 密码管理, 拒绝服务, 插件系统, 渗透测试框架, 硬件黑客, 经典蓝牙, 网络安全, 蓝牙低功耗, 蓝牙安全, 逆向工具, 防御, 隐私保护