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)
Disponível desde a especificação Bluetooth 4.0, o BLE usa apenas 40 canais, cobrindo a faixa de 2400 a 2483,5 MHz. Em contraste, o Bluetooth tradicional usa 79 canais nessa mesma faixa.
Os dispositivos BLE se comunicam enviando pacotes de publicidade (beacons), esses pacotes transmitem a existência do dispositivo BLE para outros dispositivos próximos. Esses beacons às vezes enviam dados também.
O dispositivo que escuta, também chamado de dispositivo central, pode responder a um pacote de publicidade com um pedido SCAN enviado especificamente para o dispositivo de publicidade. A resposta a esse scan usa a mesma estrutura que o pacote de publicidade com informações adicionais que não puderam ser incluídas no pedido de publicidade inicial, como o nome completo do dispositivo.
O byte de preâmbulo sincroniza a frequência, enquanto o endereço de acesso de quatro bytes é um identificador de conexão, que é usado em cenários onde múltiplos dispositivos estão tentando estabelecer conexões nos mesmos canais. Em seguida, a Unidade de Dados de Protocolo (PDU) contém os dados de publicidade. Existem vários tipos de PDU; os mais comumente usados são ADV_NONCONN_IND e ADV_IND. Dispositivos usam o tipo de PDU ADV_NONCONN_IND se não aceitam conexões, transmitindo dados apenas no pacote de publicidade. Dispositivos usam ADV_IND se permitirem conexões e pararem de enviar publicidade uma vez que uma conexão tenha sido estabelecida.
O Perfil de Atributo Genérico (GATT) define como o dispositivo deve formatar e transferir dados. Quando você está analisando a superfície de ataque de um dispositivo BLE, você frequentemente concentrará sua atenção no GATT (ou GATTs), porque é assim que a funcionalidade do dispositivo é acionada e como os dados são armazenados, agrupados e modificados. O GATT lista as características, descritores e serviços de um dispositivo em uma tabela como valores de 16 ou 32 bits. Uma característica é um valor de dados enviado entre o dispositivo central e o periférico. Essas características podem ter descritores que fornecem informações adicionais sobre elas. Características são frequentemente agrupadas em serviços se estiverem relacionadas a realizar uma ação específica.
GATTool permite estabelecer uma conexão com outro dispositivo, listando as características desse dispositivo e lendo e escrevendo seus atributos.
GATTTool pode iniciar um shell interativo com a opção -I
:
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)