Skip to content

druserx/geminus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

BLE MITM relay — clona o advertising do dispositivo e intercepta PDUs ATT em tempo real

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors