druserx/nervus
GitHub: druserx/nervus
nervus 是一款 BLE GATT 特征模糊测试工具,通过 ATT/L2CAP 连接向支持写入的特征值发送畸形数据,帮助开发者发现蓝牙设备的稳定性与健壮性问题。
Stars: 0 | Forks: 0
# nervus
针对 BLE 设备的 GATT 特征 fuzzer。通过 ATT/L2CAP 连接,并向所有接受写入操作的目标发送畸形的 payload。
这个名字在拉丁语中意为“神经”——其核心思路是不断干扰设备,直到其崩溃。
## 依赖项
```
sudo apt install libbluetooth-dev
```
Linux 下的 BLE 适配器(hci0)。已使用 CSR 4.0 和 Intel AX200 测试过。
## 构建
```
make
```
## 基本用法
```
# 发现服务并使用所有策略进行 fuzz
sudo ./nervus -a AA:BB:CC:DD:EE:FF
# 仅使用一种策略
sudo ./nervus -a AA:BB:CC:DD:EE:FF -s boundaries
# 对特定特性进行 fuzz,保存 log
sudo ./nervus -a AA:BB:CC:DD:EE:FF -c 0x0025 -s all -o resultado.log
# 可用的策略
# zeros boundaries ones patterns fmtstr random overlong bitflip all
```
## 记录内容
任何异常情况:响应超时、写入过程中断开连接、意外的 ATT 错误。如果设备掉线,它会自动重连并从上次中断的地方继续。
## 限制
- 仅支持 ISO 14443-A / LE(不支持 BR/EDR)
- 不对 indications/notifications 进行 fuzzing
- DESFire 和带有 LESC 的芯片需要先进行配对——尚未实现
请仅对您有授权测试的设备使用。
标签:ATT/L2CAP, 客户端加密, 密码管理, 物联网安全, 蓝牙