Pentesting BLE - Bluetooth Low Energy
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Disponibile dalla specifica Bluetooth 4.0, il BLE utilizza solo 40 canali, coprendo la gamma da 2400 a 2483,5 MHz. Al contrario, il Bluetooth tradizionale utilizza 79 canali nella stessa gamma.
I dispositivi BLE comunicano inviando pacchetti pubblicitari (beacon), questi pacchetti trasmettono l'esistenza del dispositivo BLE ad altri dispositivi nelle vicinanze. Questi beacon a volte inviando dati, too.
Il dispositivo in ascolto, chiamato anche dispositivo centrale, può rispondere a un pacchetto pubblicitario con una richiesta SCAN inviata specificamente al dispositivo pubblicitario. La risposta a quella scansione utilizza la stessa struttura del pacchetto pubblicitario con informazioni aggiuntive che non potevano essere incluse nella richiesta pubblicitaria iniziale, come il nome completo del dispositivo.
Il byte di preambolo sincronizza la frequenza, mentre l'indirizzo di accesso di quattro byte è un identificatore di connessione, utilizzato in scenari in cui più dispositivi stanno cercando di stabilire connessioni sugli stessi canali. Successivamente, l'Unità di Dati di Protocollo (PDU) contiene i dati pubblicitari. Ci sono diversi tipi di PDU; i più comunemente usati sono ADV_NONCONN_IND e ADV_IND. I dispositivi utilizzano il tipo PDU ADV_NONCONN_IND se non accettano connessioni, trasmettendo dati solo nel pacchetto pubblicitario. I dispositivi utilizzano ADV_IND se consentono connessioni e smettono di inviare pacchetti pubblicitari una volta che una connessione è stata stabilita.
Il Generic Attribute Profile (GATT) definisce come il dispositivo dovrebbe formattare e trasferire i dati. Quando analizzi la superficie di attacco di un dispositivo BLE, spesso concentrerai la tua attenzione sul GATT (o GATTs), perché è così che viene attivata la funzionalità del dispositivo e come i dati vengono memorizzati, raggruppati e modificati. Il GATT elenca le caratteristiche, i descrittori e i servizi di un dispositivo in una tabella come valori a 16 o 32 bit. Una caratteristica è un valore dati inviato tra il dispositivo centrale e il periferico. Queste caratteristiche possono avere descrittori che forniscono informazioni aggiuntive su di esse. Le caratteristiche sono spesso raggruppate in servizi se sono correlate all'esecuzione di un'azione particolare.
GATTool consente di stabilire una connessione con un altro dispositivo, elencando le caratteristiche di quel dispositivo e leggendo e scrivendo i suoi attributi.
GATTTool può avviare una shell interattiva con l'opzione -I
:
Impara e pratica il Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)