druserx/geminus
GitHub: druserx/geminus
Stars: 0 | Forks: 0
# geminus
relay BLE transparente. fica entre um dispositivo e o cliente legítimo, repassa tudo em tempo real e permite interceptar ou modificar os PDUs ATT no meio.
o nome é latim pra "gêmeo" — o peripheral clona o advertising do dispositivo real.
[cliente legítimo]
|
| BLE (acha que é o dispositivo real)
|
[hci1 — geminus peripheral]
|
fila de PDUs + callback de intercept
|
[hci0 — geminus central]
|
| BLE (conectado no dispositivo real)
|
[dispositivo alvo]
precisa de dois adaptadores BLE no mesmo host. testei com dois dongles CSR 4.0 USB.
## dependências
sudo apt install libbluetooth-dev
## build
make
## uso
# relay puro — transparente, cliente não percebe
sudo ./geminus -a AA:BB:CC:DD:EE:FF
# intercepta e imprime todos os PDUs ATT no terminal
sudo ./geminus -a AA:BB:CC:DD:EE:FF -i
# aplica regras de rewrite e salva dump
sudo ./geminus -a AA:BB:CC:DD:EE:FF -r regras.txt -p dump.bin
## formato de regras
arquivo texto, uma por linha:
# substitui valor 0x01 por 0x00 em escritas do cliente
0012 01 -> 0012 00
# qualquer PDU com esse header
1200 -> 1201
## o que não faz
- não quebra LESC (LE Secure Connections) — requer pareamento com o alvo antes
- não spoofar BD_ADDR automaticamente (depende do firmware do adaptador)
- não suporta BR/EDR
uso em dispositivos que você tem autorização pra testar.
标签:客户端加密