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
Herramientas/GitHubGitHub/virtualabs/btlejuice
Sniffing y Análisis de PaquetesSeguridad BluetoothSeguridad IoTHerramientas de SuplantaciónSeguridad InalámbricaPruebas de PenetraciónRed TeamingArchived
GitHubvirtualabs/btlejuice

btlejuice

Framework Man-in-the-Middle para BLE que intercepta, reproduce y modifica el tráfico GATT entre dispositivos Bluetooth Smart y aplicaciones móviles mediante un proxy de intercepción basado en web.

Ver Repositorio
25hace 8 añosAún no revisado

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

BtleJuice Framework

Introducción

BtleJuice es un framework completo para realizar ataques Man-in-the-Middle en dispositivos Bluetooth Smart (también conocidos como Bluetooth Low Energy). Se compone de:

  • un núcleo de interceptación
  • un proxy de interceptación
  • una interfaz web dedicada
  • bindings de Python y Node.js

¿Cómo instalar BtleJuice?

Instalar BtleJuice es muy sencillo. En primer lugar, asegúrate de que tu sistema utiliza una versión reciente de Node.js (>=4.3.2) y npm. A continuación, asegúrate de instalar todas las dependencias necesarias:

Ubuntu/Debian/Raspbian

sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev

Fedora / Otras basadas en RPM

sudo yum install bluez bluez-libs bluez-libs-devel npm

Por último, instala BtleJuice usando npm:

sudo npm install -g btlejuice

Si todo ha ido bien, ¡BtleJuice está listo para usar!

¿Cómo usar BtleJuice?

BtleJuice se compone de dos componentes principales: un proxy de interceptación y un núcleo. Se requiere que estos dos componentes se ejecuten en máquinas independientes para poder operar simultáneamente dos adaptadores bluetooth 4.0+. BtleJuice Proxy no funciona en un contenedor Docker.

El uso de una máquina virtual puede ayudar a que este framework funcione en un solo ordenador.

Desde tu máquina virtual, instala btlejuice y asegúrate de que tu adaptador USB BT4 esté disponible desde la máquina virtual:

$ sudo hciconfig
hci0:	Type: BR/EDR  Bus: USB
	BD Address: 10:02:B5:18:07:AD  ACL MTU: 1021:5  SCO MTU: 96:6
	DOWN
	RX bytes:1433 acl:0 sco:0 events:171 errors:0
	TX bytes:30206 acl:0 sco:0 commands:170 errors:0
$ sudo hciconfig hci0 up

Luego, asegúrate de que tu máquina virtual tenga una dirección IP accesible desde el host.

Lanza el proxy en tu máquina virtual:

$ sudo btlejuice-proxy

En tu máquina host, no olvides detener el servicio bluetooth y asegurarte de que el dispositivo HCI permanezca abierto/inicializado:

$ sudo service bluetooth stop
$ sudo hciconfig hci0 up

Finalmente, ejecuta el siguiente comando en tu máquina host:

$ sudo btlejuice -u <Proxy IP address> -w

El indicador -w le indica a BtleJuice que inicie la interfaz web, mientras que la opción -u especifica la dirección IP del proxy.

La interfaz web está ahora disponible en http://localhost:8080. Ten en cuenta que el puerto del servidor web puede cambiarse mediante la línea de comandos.

Uso de la interfaz web

La interfaz web de BtleJuice proporciona en la esquina superior derecha un conjunto de enlaces para controlar el núcleo de interceptación, como se muestra a continuación.

BtleJuice main web UI

Selección del objetivo

Primero, haz clic en el botón Select target y aparecerá un diálogo que mostrará todos los dispositivos Bluetooth Low Energy disponibles detectados por el núcleo de interceptación:

BtleJuice Target Selection Popup

Haz doble clic en el objetivo deseado y espera a que la interfaz esté lista (el aspecto del botón bluetooth cambiará). Una vez que el dispositivo simulado (dummy) esté listo, usa la aplicación móvil asociada u otro dispositivo (según lo esperado) para conectarte al dispositivo simulado. Si la conexión tiene éxito, se mostrará un evento Connected en la interfaz principal.

BtleJuice Target Selection Popup

Todas las operaciones GATT interceptadas se muestran con los UUID de los servicios y características correspondientes y, por supuesto, los datos asociados. Los datos se muestran por defecto en formato HexII (una variante del formato diseñado por Ange Albertini), pero puedes cambiar de HexII a Hex (y viceversa) haciendo clic en los propios datos. BtleJuice soporta tanto el formato Hex como el HexII.

Reproducción de operaciones GATT

Es posible reproducir cualquier operación GATT haciendo clic derecho sobre ella y seleccionando la opción Replay, como se muestra a continuación:

Replay Popup

Replay dialog

Haz clic en el botón Write (o Read) para reproducir la operación GATT correspondiente. Esta operación se registrará en la interfaz principal.

Modificación de datos sobre la marcha

Por último, pero no menos importante, la interfaz puede interceptar local o globalmente cualquier operación GATT y permitir la modificación de datos sobre la marcha. Puedes usar la interceptación global haciendo clic en el botón Intercept en la esquina superior derecha o usar el menú contextual para habilitar o deshabilitar un hook en un servicio y característica determinados. Cada vez que se intercepta una operación GATT, aparecerá el siguiente cuadro de diálogo:

Interceptr dialog

Exportación de datos a un archivo

Desde la versión 1.0.6, la interfaz proporciona una función de exportación de datos que permite exportaciones legibles y en JSON. Estas exportaciones se generan a partir de las operaciones GATT interceptadas, pero también incluyen información sobre el dispositivo objetivo. Cuando se hace clic en el botón Export, aparecerá el siguiente diálogo:

Export dialog

Haz clic en el botón Export en la parte inferior del cuadro de diálogo para descargar una versión JSON (o texto) de los datos interceptados.

Ajustes

El diálogo de ajustes proporciona por ahora una única opción que permite reconectar automáticamente el proxy cuando el dispositivo objetivo se desconecta. Esto puede ser útil cuando se trabaja con dispositivos que están activos durante un corto período de tiempo.

Settings dialog

Desconexión

Al hacer clic en el botón Select Target de la esquina superior derecha cuando el proxy está activo, este se detendrá y permitirá seleccionar de nuevo el objetivo.

Instalación de los bindings

Los bindings de Node.js de BtleJuice también pueden instalarse mediante npm:

$ sudo npm install -g btlejuice-bindings

Puedes encontrar más información sobre cómo usar los bindings de Node.js en la documentación del paquete.

Agradecimientos

Descargar herramienta