Esplorare il protocollo BLE

“Di confini non ne ho mai visto uno. Ma ho sentito
che esistono nella mente di alcune persone.”
Thor Heyerdahl, esploratore

Grazie a Immuni e a tanti gadget IoT che stanno invadendo le nostre case e la nostra vita, il protocollo BLE sta vivendo il suo momento di gloria.

A differenza di altri protocolli di comunicazione, il Bluetooth Low Energy ha alcune caratteristiche particolari che lo rendono particolarmente adatto per questi dispositivi, dove il consumo di energia deve essere ridotto al minimo possibile.

Il protocollo LE viene introdotto nella versione 4.0 del Bluetooth, tecnologia ideata nel 1994 dalla Ericsson che, negli anni, ha avuto una importante evoluzione proprio grazie al mercato dei gadgets tecnologici arrivando, nelle ultime implementazioni, a essere lo standard di riferimento per le trasmissioni dati a basso consumo energetico.

La trasmissione dati avviene nella frequenza dei 2.4GHz, suddividendo la banda in canali utilizzando la tecnologia FHSS (Frequency-Hopping Spread Spectrum). I dispositivi periodicamente cambiano canale, secondo una sequenza pseudo-random chiamata hopping sequence (maggiori info all’articolo Spiegazione e differenze tra Bluetooth e Bluetooth LE). Questa caratteristica rende particolarmente difficile effettuare lo sniffing dei dati tra i dispositivi, richiedendo dispositivi appositamente progettati per farlo.

CC2540

Tra gli strumenti necessari a tale operazione troviamo il chip CC2540, sviluppato dalla Texas Instruments, che possiamo acquistare già predisposto per pochi euro sul web. Sempre dal sito della TI si può scaricare tutto il software necessario per il packet sniffing, se non fosse che… è per Windows!

Avendo così appena ricevuto il dongle Bluetooth 4.0 BLE CC2540 USB pagato meno di 5€, inizio la ricerca di uno strumento per poterlo utilizzare su GNU/Linux.

Scopro così che il buon vecchio Kismet, che usavo molti anni fa per fare wardriving sulle reti wifi, nelle ultime releases si è evoluto e include, tra i dispositivi di sniffing, anche il CC2540. Se non fosse che, almeno per quanto riguarda Linux Mint, nei repository ufficiali si trova ancora la release 2016, che non include tale supporto. Per poterla usare, quindi, bisogna partire dai sorgenti e installare tutte le dipendenze, tra cui le librerie protobuf e protobuf-c. Necessario installare anche libusb-dev, questa volta comodamente con:

apt install libusb-dev

Una volta predisposte le librerie di dipendenza necessarie, si procedere con lo scaricamento dei sorgenti e successiva compilazione di Kismet, come indicato nella documentazione.

Il più è fatto. Si inserisce il dongle CC2540 su una delle porte USB libere:

usb 2-2: new full-speed USB device number 10 using xhci_hcd
usb 2-2: New USB device found, idVendor=0451, idProduct=16b3, bcdDevice=35.35
usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-2: Product: CC2540 USB Dongle
usb 2-2: Manufacturer: Texas Instruments

e si esegue kismet utilizzando, da riga di comando, l’override del dispositivo di acquisizione:

kismet -c ticc2540

P.S. Ricordatevi di installare kismet con setgid e di aggiungere il Vostro utente al gruppo “kismet” (eseguite il comando “groups” per verificarlo).

Collegandosi con un browser a localhost:2501 si ottiene la schermata di Kismet:

cliccando sul MAC dei dispositivi individuati si apre una finestra con maggiori dettagli:

HackRF

Avete mai pensato che per intercettare il protocollo BTLE si può usare anche HackRF, la piattaforma SDR (Software Defined Radio) sviluppata da Great Scott Gadgets capace di ricevere (e trasmettere, a potenza molto limitata) nella banda da 1 MHz a 6 GHz?

HackRF con Portapack in modalità ascolto sul canale 39

Utilizzando il software BTLE liberamente disponibile su GitHub si può sia intercettare i beacons sui canali dedicati all’advertise (canali 37,38,39) che i dati.

Per concludere, sperando di avervi dato qualche spunto interessante per iniziare nell’esplorazione e studio del protocollo BLE, ecco CrackLE, che sfrutta una falla nel processo di pairing per rompere la cifratura. Chissà, potrebbe farvi comodo un giorno.

0 Condivisioni
Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.