Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
BTLE — Sniffer de pacotes e transmissor Bluetooth Low Energy (BLE) para formatos padrão e não padrão (bit bruto) baseado em Rádio Definido por Software (SDR). | Kitploit
Ferramentas/GitHubGitHub/jiaoxianjun/btle
Sniffing e Análise de PacotesSegurança BluetoothSegurança IoTSegurança Sem FioTop em Segurança Bluetooth nº6
GitHubjiaoxianjun/btle

BTLE

Sniffer de pacotes e transmissor Bluetooth Low Energy (BLE) para formatos padrão e não padrão (bit bruto) baseado em Rádio Definido por Software (SDR).

Ver Repositório
94217629há 3 mesesRevisado pelo Kitploit
Site

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

BTLE

========

BTLE é uma suíte de software livre e de código aberto de Rádio Definido por Software (SDR) para Bluetooth Low Energy (BLE) e um projeto aberto de chip BTLE.

Inclui:

  • Descrição dos algoritmos, implementação em Python e Verilog, resultados em FPGA e SkyWater 130 PDK (fluxo de trabalho OpenLane2) da banda base BTLE.
  • Implementação com Analog Devices AD9361 + Xilinx Zynq FPGA: FPGA Bluetooth
  • btle_rx - Sniffer BLE. Além de capturar (sniff) canal de broadcasting/fixo, também consegue rastrear o salto de canal de um link de comunicação.
  • btle_tx - Transmissor universal de pacotes BLE. Além do padrão BLE, também suporta o modo de bits brutos para gerar pacotes GFSK arbitrários. Dessa forma, você pode testar protocolos não padronizados ou padrões em discussão antes de o chip chegar ao mercado.

Funcionalidades

  • A camada PHY e as camadas superiores são implementadas em software (linguagem C). Total flexibilidade de Rádio Definido por Software.
  • PHY GFSK padrão BLE de 1Mbps.
  • Todos os formatos de pacote da camada de enlace dos canais ADV e DATA do Core_V4.0 (Capítulos 2 e 3, Parte B, Volume 6) são suportados.
  • O sniffer é capaz de analisar e rastrear automaticamente o padrão de salto de canal, não se limitando ao canal de broadcasting ou canal fixo.

Hardware

  • HackRF
  • bladeRF
  • versão compatível das bibliotecas HackRF e bladeRF

Compilação e teste rápido

Certifique-se de que o ambiente de hardware SDR (driver/lib) foi configurado corretamente antes de executar este projeto.

git clone https://github.com/JiaoXianjun/BTLE.git
cd BTLE/host
mkdir build
cd build
cmake ../                   (default. for HackRF)
cmake ../ -DUSE_BLADERF=1   (only for bladeRF)

make
./btle-tools/src/btle_rx

O comando acima captura (sniff) no canal 37. Você deve ver muitos pacotes na tela se houver dispositivos BLE (celular/tablet/notebook) por perto.

./btle-tools/src/btle_tx 37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040506-LOCAL_NAME09-SDR/Bluetooth/Low/Energy r500 

O comando acima transmite pacotes de descoberta no canal ADV. Você deve ver um dispositivo com o nome "SDR/Bluetooth/Low/Energy" em outro aplicativo sniffer BLE (como LightBlue).

Para ter uma sequência de operação mais rápida no HACKRF, use o seguinte:

#define TRANSFER_COUNT 4
#define TRANSFER_BUFFER_SIZE 4096

em hackrf/host/libhackrf/src/hackrf.c. Em seguida, recompile a biblioteca do HACKRF e reinstale-a. Não se esqueça de recompilar o BTLE para aplicar a alteração na biblioteca do HACKRF.

Além das ferramentas, o diretório matlab inclui avaliação de algoritmos e outros scripts úteis

Uso do btle_rx

-h --help

Imprime todos os argumentos/usos.

-c --chan

Número do canal. Valor padrão 37 (um dos canais ADV). Valor válido 0~39 (todos os canais ADV e DATA).

-g --gain

Ganho de RX em dB. HACKRF rxvga padrão 6, válido 0 - 62. bladeRF padrão é o ganho máximo de RX 66dB (válido 0 - 66). O ganho deve ser ajustado com muito cuidado para garantir o melhor desempenho na sua situação. Sugere-se testar com ganho baixo, porque ganho alto sempre causa distorção severa e não traz nenhum resultado.

-l --lnaGain

Ganho do LNA em dB (somente HackRF). Padrão 32, válido 0 - 40. O ganho deve ser ajustado com muito cuidado para garantir o melhor desempenho na sua situação.

-b --amp

Habilita o amp (somente HackRF). Padrão desligado.

-a --access

Endereço de acesso. Padrão 8e89bed6 para os canais ADV 37, 38 e 39. Você deve especificar o valor correto para o canal de dados de acordo com o procedimento de estabelecimento de conexão capturado.

-k --crcinit

Padrão 555555 para canal ADV. Você deve especificar o valor correto para o canal de dados de acordo com o procedimento de estabelecimento de conexão capturado.

-v --verbose

Modo verboso. Imprime mais informações quando houver erro.

-r --raw

Modo bruto. Após o endereço de acesso ser detectado, imprime os 42 bytes brutos seguintes (sem desscrambling, sem análise).

-f --freq_hz (need argument)

Esta frequência (Hz) substituirá a configuração de canal (caso alguém queira trabalhar em uma frequência diferente do BTLE. Uso mais geral).

-m --access_mask (need argument)

Se um bit nesta máscara for 1, o bit correspondente no endereço de acesso será considerado na decisão de existência de pacote (caso alguém queira uma palavra única mais curta/mais esparsa para detecção de pacotes. Uso mais geral).

-o --hop

Isso ativa o rastreamento do canal de dados (salto de frequência) após as informações de estabelecimento do link serem capturadas no pacote ADV_CONNECT_REQ no canal ADV.

-s --filename

Armazena pacotes em arquivo pcap.

Uso do btle_tx

btle_tx packet1 packet2 ... packetX ...  rN

ou

btle_tx packets.txt

packets.txt é um arquivo de texto que contém o texto dos parâmetros de linha de comando (packet1 packet2 ... rN). Um parâmetro por linha. Uma linha que começa com "#" é considerada comentário. Veja o exemplo packets.txt.

packetX 

é uma string que descreve um pacote. Todos os pacotes compõem uma sequência de pacotes.

rN

significa que a sequência será repetida N vezes. Se não for especificado, a sequência será enviada apenas uma vez.

Formato da string packetX

channel_number-packet_type-field-value-field-value-...-Space-value

Cada string descritora começa com o número do canal BTLE (0~39), seguido pelo packet_type (RAW/iBeacon/ADV_IND/ADV_DIRECT_IND/etc. Veja todos os exemplos de formato NO FINAL: Apêndice), seguido por pares campo-valor específicos do packet_type e, por último, há o par Space-value (opcional), em que o valor especifica quantos milissegundos serão aguardados após o envio desse pacote.

NÃO use o caractere de espaço " " em um descritor de pacote na linha de comando. Você PODE usar espaço no descritor de pacote no arquivo txt.

NÃO use "-" dentro de cada campo. "-" é o caractere mágico usado para separar os diferentes campos no descritor de pacote.

  • Exemplo de btle_tx: Pacotes de descoberta

Abra o aplicativo LightBlue (ou outro sniffer BLE) no seu iPhone/dispositivo antes deste comando:

./btle-tools/src/btle_tx ../btle-tools/src/packets_discovery.txt

Você verá um dispositivo chamado "SDR Bluetooth Low Energy" no seu aplicativo LightBlue.

Linha de comando correspondente:

./btle-tools/src/btle_tx 37-DISCOVERY-TxAdd-1-RxAdd-0-AdvA-010203040506-LOCAL_NAME09-SDR/Bluetooth/Low/Energy r40

Nota: o espaço " " foi substituído por "/" porque o espaço " " não é suportado na linha de comando.

Baixar ferramenta