Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
btlejuice — BtleJuice: framework Man-in-the-Middle para Bluetooth Smart (LE) | Kitploit
Herramientas/GitHubGitHub/digitalsecurity/btlejuice
Sniffing y Análisis de PaquetesSeguridad BluetoothExplotaciónSeguridad InalámbricaPruebas de PenetraciónRed TeamingArchived
GitHubdigitalsecurity/btlejuice

btlejuice

BtleJuice: framework Man-in-the-Middle para Bluetooth Smart (LE)

Ver Repositorio
8511536hace 7 añosRevisado por Kitploit

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

Marco BtleJuice

Introducción

BtleJuice es un marco completo para realizar ataques de Hombre en el Medio (Man-in-the-Middle) en dispositivos Bluetooth Smart (también conocidos como Bluetooth Low Energy). Está compuesto por:

  • un núcleo de interceptación
  • un proxy de interceptación
  • una interfaz web dedicada
  • enlaces (bindings) para 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. Luego, asegúrate de instalar todas las dependencias requeridas:

Ubuntu/Debian/Raspbian

root@kitploit:~
sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev

Fedora / Basados en otros RPM

root@kitploit:~
sudo yum install bluez bluez-libs bluez-libs-devel npm

Por último, instala BtleJuice usando npm:

root@kitploit:~
sudo npm install -g btlejuice

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

¿Cómo usar BtleJuice?

BtleJuice está compuesto por dos componentes principales: un proxy de interceptación y un núcleo. Estos dos componentes deben ejecutarse en máquinas independientes para poder operar simultáneamente con dos adaptadores bluetooth 4.0+. BtleJuice Proxy no funciona dentro de un contenedor Docker.

El uso de una máquina virtual puede ayudar a que este marco 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:

root@kitploit:~
$ 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.

Inicia el proxy en tu máquina virtual:

root@kitploit:~
$ sudo btlejuice-proxy

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

root@kitploit:~
$ sudo service bluetooth stop
$ sudo hciconfig hci0 up

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

root@kitploit:~
$ sudo btlejuice -u <Dirección IP del proxy> -w

La opción -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 de usuario web ya está disponible en http://localhost:8080. Ten en cuenta que el puerto del servidor web puede cambiarse mediante la línea de comandos.

Usando 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.

Interfaz web principal de BtleJuice

Selección de objetivo

Primero, haz clic en el botón Seleccionar objetivo y aparecerá un cuadro de diálogo mostrando todos los dispositivos Bluetooth Low Energy disponibles detectados por el núcleo de interceptación:

Ventana emergente de selección de objetivo de BtleJuice

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 esté listo, usa la aplicación móvil asociada u otro dispositivo (dependiendo de lo que se espere) para conectarse al dispositivo simulado. Si la conexión tiene éxito, se mostrará un evento Conectado en la interfaz principal.

Interceptación de BtleJuice

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

Reproducir operaciones GATT

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

Ventana emergente de reproducción

Diálogo de reproducción

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

Modificación de datos en tiempo real

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

Diálogo de interceptación

Exportar datos a 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 Exportar, aparecerá el siguiente cuadro de diálogo:

Diálogo de exportación

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

Configuración

El diálogo de configuración proporciona actualmente una sola 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 período corto de tiempo.

Diálogo de configuración

Desconexión

Hacer clic en el botón Seleccionar objetivo en la esquina superior derecha cuando el proxy está activo lo detendrá y permitirá seleccionar un nuevo objetivo.

Instalando los bindings

Los bindings de Node.js de BtleJuice también se pueden instalar a través de npm:

root@kitploit:~
$ sudo npm install -g btlejuice-bindings

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

Agradecimientos

Un agradecimiento especial a Slawomir Jasek, quien señaló muchos trucos de noble/bleno para evitar problemas con aplicaciones móviles y compartió estrategias de MITM BLE durante DEF CON 24 =). También es el autor de Gattacker.

Licencia

Copyright (c) 2016 Econocom Digital Security

Por la presente se concede permiso, sin costo alguno, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para utilizar el Software sin restricción, incluyendo sin limitación los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y para permitir a las personas a quienes se les proporcione el Software hacer lo mismo, sujeto a las siguientes condiciones:

El aviso de copyright anterior y este aviso de permiso deberán incluirse en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DEL COPYRIGHT SERÁN RESPONSABLES POR CUALQUIER RECLAMACIÓN, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN CONTRACTUAL, EXTRACONTRACTUAL O DE OTRO TIPO, QUE SURJA DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRO TIPO DE ACCIONES EN EL SOFTWARE.

Descargar herramienta