fuzzer de características GATT para dispositivos BLE. conecta via ATT/L2CAP e manda payload malformado em tudo que aceitar escrita.
o nome é latim pra "nervo" — a ideia é irritar o dispositivo até ele travar.
sudo apt install libbluetooth-dev
adaptador BLE no linux (hci0). testei com CSR 4.0 e Intel AX200.
make
# descobre serviços e faz fuzz com todas as estratégias
sudo ./nervus -a AA:BB:CC:DD:EE:FF
# só uma estratégia
sudo ./nervus -a AA:BB:CC:DD:EE:FF -s boundaries
# fuzz numa característica específica, salva log
sudo ./nervus -a AA:BB:CC:DD:EE:FF -c 0x0025 -s all -o resultado.log
# estratégias disponíveis
# zeros boundaries ones patterns fmtstr random overlong bitflip allqualquer coisa fora do normal: timeout sem resposta, disconnect durante escrita, erro ATT inesperado. reconecta automaticamente se o dispositivo cair e continua de onde parou.
- só ISO 14443-A / LE (sem BR/EDR)
- não faz fuzzing de indicações/notificações
- DESFire e chips com LESC precisam de pareamento antes — não implementado ainda
uso em dispositivos que você tem autorização pra testar.