Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
caeruleus — 用于Linux/BlueZ上蓝牙低功耗安全测试的单一Go二进制文件:扫描、枚举GATT、读/写/通知、模糊测试特征,并通过JSON输出运行结构化评估。 | Kitploit
工具/GitHubGitHub/praetorian-inc/caeruleus
蓝牙安全物联网安全漏洞分析脚本与自动化信息收集模糊测试无线安全渗透测试硬件与物联网安全秘密检测红队
56456天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
praetorian-inc/caeruleus

caeruleus

用于Linux/BlueZ上蓝牙低功耗安全测试的单一Go二进制文件:扫描、枚举GATT、读/写/通知、模糊测试特征,并通过JSON输出运行结构化评估。

查看仓库
Caeruleus - 蓝牙低功耗安全测试,整合为一个 Go 二进制文件

Caeruleus:BLE 测试工具包

一个 Go 二进制文件,涵盖 Linux/BlueZ 上完整的蓝牙低功耗评估工作流:扫描、枚举、读/写/通知、模糊测试和结构化安全评估,并为脚本和智能体提供 JSON 输出。

Go License Go Report Card Release

Caeruleus 将蓝牙低功耗(BLE)安全测试整合为一个基于 Linux BlueZ 栈构建的单一 Go 二进制文件。它通过 BlueZ D-Bus 和原始 L2CAP/HCI 套接字与外围设备通信,覆盖整个生命周期:发现设备、浏览并读/写 GATT 树、捕获通知、对可写特征进行模糊测试,以及运行可重复的安全评估工作流。每条命令都会输出结构化的 -o json / -o jsonl 输出,供脚本、报告和 LLM 智能体使用。

Caeruleus 由进攻性安全工程师构建,旨在取代通常那一堆 bettercap、gatttool、hcitool、bluetoothctl 和一次性 Bleak 脚本,并将抽象保持在人类或智能体实际工作的层级。

caeruleus:拉丁语,意为蓝牙低功耗中的“蓝色”

目录

  • 为什么选择 Caeruleus?
  • 功能特性
  • 欢迎智能体
  • 安装
  • 快速开始
  • 命令参考
  • 评估工作流
  • 扩展 Caeruleus
  • 局限性
  • Praetorian 工具包的一部分
  • 常见问题
  • 贡献
  • 安全
  • 许可证

为什么选择 Caeruleus?

BLE 安全测试的标准工作流就像是在一堆从未设计为协同工作的工具之间寻宝:

  • hcitool / hciconfig 用于适配器配置和发现,两者均已被 BlueZ 弃用,且在许多现代发行版中缺失。
  • bettercap 用于 ble.recon 和 ble.enum。功能强大,但仅仅为了浏览 GATT 树就要安装一个完整的网络攻击框架。
  • gatttool 用于读写句柄,已弃用多年,但仍出现在每个教程中。
  • 自定义 Bleak / pygatt 脚本 用于任何更深入的操作。

每种工具都说着自己的方言,且没有一个能输出可管道传递到下一步的机器可读输出,因此你成了集成层,手动在终端之间复制 MAC 地址和句柄。BlueZ 自身支持的前端(bluetoothctl、btmgmt)是通用管理工具,其抽象层级并不适合评估工作。

Caeruleus 用一套一致命令界面取代了整堆工具:

使用场景以往方法使用 Caeruleus
发现附近设备hcitool lescan / bettercap ble.recon / bluetoothctl scan oncaeruleus scan
列出并读取服务/特征bettercap ble.enum <mac>caeruleus enumerate -b <mac> --values
交互式会话gatttool -I / bluetoothctlcaeruleus shell -b <mac>
读取句柄gatttool --char-read-hnd 0x0013caeruleus read -b <mac> -a 0x0013
写入句柄gatttool -b <mac> --char-write-req -a 0x002c -n $(...)caeruleus write -b <mac> -a 0x002c --req -s "value"
捕获通知自定义 Bleak 记录器caeruleus listen -b <mac> -a <handle>
审计未认证暴露自定义 Bleak 审计脚本caeruleus recon / caeruleus assess ...
对特征进行模糊测试自定义模糊测试器 / boofuzzcaeruleus fuzz write -b <mac> -a <handle>
连接参数、MTUhcitool con / btmgmt con-infocaeruleus conn-params -b <mac>
适配器电源与恢复btmgmt power / hciconfig reset / rfkillcaeruleus doctor / caeruleus adapter power cycle

功能特性

处处结构化输出。 每条产生输出的命令都支持 -o text|json|jsonl。JSON 是规范表示,而非次要导出;jsonl 为 scan --live 和 listen 每个事件流式输出一条记录。enumerate --compact 为每个特征输出一行 key=value,便于 grep 或 LLM 上下文窗口使用。

BLE 栈健康检查。 caeruleus doctor 遍历 BlueZ 和内核状态,并打印 OK/WARN/FAIL 检查清单:bluetoothd 正在运行、适配器已通电、无泄漏的发现会话、BlueZ 缓存地址与 MGMT 芯片实时地址对比、一次实时 2 秒扫描探测,以及处于安全区间的 ExchangeMTU。每个非 OK 的发现都附带具体的修复命令,退出码遵循 grep/diff 约定(0 表示正常,2 表示失败)。

干净拆除。 在收到 SIGTERM/SIGHUP 时,工具会运行断开连接路径并轮询,直到 Connected=false 通过 BlueZ 传播,因此外围设备会立即重新广播,而不是卡在其监督超时上。崩溃后不再有“幽灵连接”。

脚本与自动化。 serve/send 通过 Unix 套接字保持一条 GATT 链路打开,使脚本或智能体避免每条命令约 1.5 秒的重连开销;batch 通过单条持久连接从 stdin 运行命令;listen --trigger-value 设置通知、触发写入并原子地捕获响应。

便利细节。 根据 GAP Appearance 加上广播服务推断设备类型(手表显示为“Smartwatch”,而不是原始外观代码);宽容的输入解析(句柄可为 0x002a、0X2A 或 42;十六进制可为 deadbeef、de:ad:be:ef 或 0xdeadbeef);caeruleus recipes 列出并关键词搜索 19 个常见工作流;conn-params 显示 gatttool 和 bettercap 都不暴露的协商间隔、延迟和监督超时。

欢迎智能体

Caeruleus 将 LLM 智能体视为一等用户。-o json / -o jsonl 提供令牌高效的结构化输出,智能体无需抓取人类格式的表格即可解析,且仓库附带一个可移植的 Agent Skill(skills/caeruleus/SKILL.md),向任何兼容 Agent Skills 的助手教授命令界面和推荐的评估方法。将智能体指向一个设备,它就能端到端地运行整个方法。

在我们的基准测试中,使用 Caeruleus 及其技能的 Opus 4.8(xHigh)完成任务所用时间为自由选择工具(其选择了 hcitool 和 Bleak 脚本)的同一模型的 62%,令牌数为 70%。

安装

Caeruleus 面向 带 BlueZ(bluetoothd)的 Linux 和标准 BLE 适配器。它不能在 macOS 或 Windows 上构建或运行。少数原始套接字命令需要 root 权限。

使用 Go 工具链:

go install github.com/praetorian-inc/caeruleus/cmd/caeruleus@latest

预构建发布二进制文件(x86_64 和 arm64):从 Releases 页面下载适用于你架构的归档文件,解压,并将 caeruleus 放入你的 $PATH。

从源码构建:

git clone https://github.com/praetorian-inc/caeruleus
cd caeruleus
make build        # -> ./caeruleus
make test         # unit tests + shell tests

快速开始

对适配器进行健全性检查,然后发现附近设备:

$ caeruleus doctor
adapter: hci0
  [  OK] bluetoothd             active
  [  OK] Powered                true
  [  OK] Discovering            false
  [  OK] Address agreement      00:1A:7D:DA:71:13
  [  OK] LE scan healthy        saw advertisements
  [  OK] ExchangeMTU            247

$ caeruleus scan
ADDRESS            TYPE    RSSI  DEVICE  NAME
------------------------------------------------------------
9C:9C:1F:F2:88:86  public  -32           BLECTF_JohnsonSpace
C4:C0:B0:3B:5B:EF  random  -59           Aranet4 06D4B
DC:FD:B4:CA:B4:E9  random  -62           JBL Boombox 2

浏览完整的 GATT 树并一次性读取每个特征,然后操作单个句柄:

$ caeruleus enumerate -b 9C:9C:1F:F2:88:86 --values
SVC HND  CHR HND  CHR UUID  PROPS   HEX               ASCII
0x0014   0x0015   0x2A00    R       424c457b46...     BLE{F4K3_1D3NT1TY}
0x0028   0x002d   0xFF03    R       424c457b50...     BLE{T0K3N_S4V3R}
0x0028   0x002f   0xFF05    R,W     577269746...      Write anything here

$ caeruleus read -b 9C:9C:1F:F2:88:86 -a 0x002d
0x002d hex=424c457b503447335f5455524e33527d ascii="BLE{T0K3N_S4V3R}"

$ caeruleus write -b 9C:9C:1F:F2:88:86 -a 0x002f -s "praetorian"
0x002f written=10 type=request

交互式 shell(gatttool 风格动词)、stdin batch 模式,以及 serve/send 热链路守护进程,在你需要跨多个操作保持一条连接时随时可用。

命令参考

分组命令
发现scan、enumerate、primary、characteristics
GATT 操作read、write、raw-write、listen、cccd、mtu
连接管理pair/unpair、conn-params、disconnect、forget
脚本与自动化shell、batch、serve/send
安全评估recon、assess check-auth、assess encryption、assess pairing、assess wwr、assess dfu
模糊测试fuzz write(含 --raw)、fuzz replay
适配器与诊断doctor、adapter、bdaddr、monitor

每条命令的全局标志:-b/--bdaddr、-i/--adapter(默认 hci0)、-t/--timeout、-o/--format、-q/--quiet、-v/--verbose。特权命令(conn-params、monitor、fuzz write --raw、cccd --raw、raw-write、mtu --set、bdaddr --set)需要 root 权限。

刚接触该工具,或来自 bettercap / gatttool / bluetoothctl / nRF Connect / Bleak?运行 caeruleus recipes 获取用例优先的示例。完整的逐命令参考、评估方法以及硬件/适配器说明,请参阅 Wiki 和 skills/caeruleus/SKILL.md。

在较旧的 BlueZ(例如 5.55)上,其 D-Bus GATT 树会隐藏远程 GAP/GATT 服务,此时 enumerate --raw(root)会直接通过 ATT 通道发现数据库,以获得完整、独立于主机的视图,并带有设备的真实句柄。

评估工作流

读写句柄是简单的部分。Caeruleus 将临时的“让我检查几件事”阶段转变为可重复、结构化的评估。recon 对设备进行指纹识别并审计其 GATT 树;每个 assess 子命令探测一类弱点:

  • assess check-auth — 未配对攻击者可以读取(或使用 --probe-write 时写入)什么
  • assess encryption — 配对/加密要求是否真正被强制执行
  • assess pairing — SMP 配对特性交换和降级抵抗能力
  • assess wwr — 无响应写入溢出和快速连发韧性
  • assess dfu — 暴露的、未认证的固件更新入口点

每个评估都输出相同的结构 {address, test, summary, findings[]},每个发现带有 severity、handle、uuid 和 evidence。看起来像机密的值会与 Praetorian 的 Titus 规则集交叉检查:通过未配对链路读取到的硬编码密钥本身就会被升级为高严重性发现。

下载工具