Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
BTLE — Sniffer de paquetes y transmisor Bluetooth Low Energy (BLE) tanto para estándar como no estándar (bit crudo), basado en Radio Definida por Software (SDR). | Kitploit
Herramientas/GitHubGitHub/jiaoxianjun/btle
Sniffing y Análisis de PaquetesSeguridad BluetoothSeguridad IoTSeguridad InalámbricaTop en Seguridad Bluetooth #6
GitHubjiaoxianjun/btle

BTLE

Sniffer de paquetes y transmisor Bluetooth Low Energy (BLE) tanto para estándar como no estándar (bit crudo), basado en Radio Definida por Software (SDR).

Ver Repositorio
94117629hace 3 mesesRevisado por Kitploit
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

BTLE

BTLE es una suite de software gratuito y de código abierto de radio definida por software (Software Defined Radio) para Bluetooth Low Energy (BLE), así como un diseño de chip BTLE abierto.

Incluye:

  • Descripción de algoritmos, implementación en Python y Verilog, resultados de FPGA y PDK SkyWater 130 (flujo de trabajo OpenLane2) de la banda base BTLE.
  • Implementación con Analog Devices AD9361 + FPGA Xilinx Zynq: FPGA Bluetooth
  • btle_rx - Sniffer BLE. Además de esnifar el canal de difusión/fijo, también puede rastrear el salto de canal de un enlace de comunicación.
  • btle_tx - Transmisor universal de paquetes BLE. Además del estándar BLE, también admite el modo de bits en bruto para generar paquetes GFSK arbitrarios. De esta manera, puedes probar protocolos no estándar o estándares en discusión antes de que el chip llegue al mercado.

Características

  • La PHY y la capa superior están implementadas en software (lenguaje C). Flexibilidad total de radio definida por software (Software Defined Radio).
  • PHY GFSK BLE estándar de 1 Mbps.
  • Se admiten todos los formatos de paquetes de la capa de enlace de los canales ADV y DATA en Core_V4.0 (Capítulos 2 y 3, Parte B, Volumen 6).
  • El sniffer es capaz de analizar y rastrear automáticamente el patrón de salto de canal, sin limitarse al canal de difusión o a un canal fijo.

Hardware

  • HackRF
  • bladeRF
  • versión compatible de las librerías de HackRF y bladeRF

Compilación y prueba rápida

Asegúrate de que el entorno de hardware SDR (controlador/librería) se haya configurado correctamente antes de ejecutar este proyecto.

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

El comando anterior esnifa en el canal 37. Deberías ver muchos paquetes en pantalla si tienes dispositivos BLE (teléfono/tableta/portátil) cerca.

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

El comando anterior transmite paquetes de descubrimiento en el canal ADV. Deberías ver un dispositivo con el nombre "SDR/Bluetooth/Low/Energy" en otra aplicación sniffer BLE (como LightBlue).

Para tener una secuencia de operación más rápida en HACKRF, usa lo siguiente:

#define TRANSFER_COUNT 4
#define TRANSFER_BUFFER_SIZE 4096

en hackrf/host/libhackrf/src/hackrf.c. Luego recompila la librería de HACKRF y vuelve a instalarla. No olvides recompilar BTLE para que tome el cambio de la librería de HACKRF.

Además de las herramientas, el directorio matlab incluye evaluación de algoritmos y otros scripts útiles

Uso de btle_rx

-h --help

Imprime todos los argumentos/usos.

-c --chan

Número de canal. Valor predeterminado 37 (uno de los canales ADV). Valor válido 0~39 (todos los canales ADV y DATA).

-g --gain

Ganancia de recepción (Rx) en dB. HACKRF rxvga predeterminado 6, válido 0 - 62. bladeRF predeterminado es la ganancia máxima de Rx de 66 dB (válido 0 - 66). La ganancia debe ajustarse con mucho cuidado para asegurar el mejor rendimiento en tus condiciones. Se sugiere probar desde una ganancia baja, porque una ganancia alta siempre causa distorsión severa y no obtienes nada.

-l --lnaGain

Ganancia LNA en dB (solo HackRF). Predeterminado 32, válido 0 - 40. La ganancia debe ajustarse con mucho cuidado para asegurar el mejor rendimiento en tus condiciones.

-b --amp

Habilita el amplificador (solo HackRF). Apagado por defecto.

-a --access

Dirección de acceso. Predeterminada 8e89bed6 para los canales ADV 37, 38, 39. Debes especificar el valor correcto para el canal de datos según el procedimiento de configuración de conexión capturado.

-k --crcinit

Predeterminado 555555 para el canal ADV. Debes especificar el valor correcto para el canal de datos según el procedimiento de configuración de conexión capturado.

-v --verbose

Modo verboso. Imprime más información cuando hay un error.

-r --raw

Modo bruto (raw). Después de detectar la dirección de acceso, imprime los siguientes 42 bytes en bruto (sin desaleatorizar ni analizar).

-f --freq_hz (need argument)

Esta frecuencia (Hz) anulará la configuración de canal (en caso de que alguien quiera trabajar en una frecuencia distinta a BTLE. Más propósito general).

-m --access_mask (need argument)

Si un bit es 1 en esta máscara, el bit correspondiente de la dirección de acceso se tendrá en cuenta en la decisión de existencia de paquete (en caso de que alguien quiera una palabra única más corta/menos densa para la detección de paquetes. Más propósito general).

-o --hop

Esto activará el seguimiento del canal de datos (saltos de frecuencia) después de que la información de configuración del enlace se capture en el paquete ADV_CONNECT_REQ en el canal ADV.

-s --filename

Guarda los paquetes en un archivo pcap.

Uso de btle_tx

btle_tx packet1 packet2 ... packetX ...  rN

o

btle_tx packets.txt

packets.txt es un archivo de texto que contiene los parámetros de línea de comandos (packet1 packet2 ... rN) como texto. Un parámetro por línea. Una línea que comience con "#" se considera comentario. Consulta el ejemplo de packets.txt.

packetX 

es una cadena que describe un paquete. Todos los paquetes componen una secuencia de paquetes.

rN

significa que la secuencia se repetirá N veces. Si no se especifica, la secuencia se enviará solo una vez.

Formato de la cadena packetX

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

Cada cadena descriptora comienza con el número de canal BTLE (0~39), seguido de packet_type (RAW/iBeacon/ADV_IND/ADV_DIRECT_IND/etc. Consulta todos los ejemplos de formato AL FINAL: Apéndice ), luego un par campo-valor específico de packet_type y, por último, un par Space-valor (opcional) donde el valor especifica cuántos milisegundos se esperarán después de enviar este paquete.

NO uses el carácter de espacio " " en un descriptor de paquete de línea de comandos. SÍ puedes usar espacios en el descriptor de paquete del archivo txt.

NO uses "-" dentro de cada campo. "-" es un carácter mágico que se usa para separar diferentes campos en el descriptor de paquete.

  • Ejemplo de btle_tx: Paquetes de descubrimiento

Abre la app LightBlue (u otro sniffer BLE) en tu iPhone/dispositivo antes de este comando:

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

Verás un dispositivo llamado "SDR Bluetooth Low Energy" en tu app LightBlue.

Línea de comando correspondiente:

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

Nota: el espacio " " se reemplaza por "/" porque el espacio " " no es compatible en la línea de comandos.

Descargar herramienta