Interactuar con el hardware Ubertooth
Interactuar con el hardware Ubertooth
La herramienta ubertooth-util es una utilidad general (una especie de "navaja suiza") para interactuar con el hardware Ubertooth One en Kali Linux. Sirve principalmente para verificar el estado del dispositivo, controlar los LEDs, reiniciar el hardware o realizar pruebas básicas.
Aquí tienes la guía completa y la traducción de sus comandos al español.
🛠️ Sintaxis Básica
Para ver la ayuda en tu terminal de Kali, normalmente ejecutas:
ubertooth-util -h
Opciones Comunes
-v: Obtener la versión del firmware. Muestra la versión del firmware que tiene cargada tu Ubertooth.-V: Obtener información de compilación. Muestra los detalles de cómo y cuándo se compiló el firmware.-I: Identificar el dispositivo. Hace que todos los LEDs del Ubertooth parpadeen para que sepas qué dispositivo físico estás usando (útil si tienes varios conectados).-r: Reinicio completo (Reset). Reinicia el hardware del Ubertooth por completo.-S: Detener operación actual. Cancela cualquier acción que el dispositivo esté ejecutando en ese momento.-U <0-7>: Seleccionar dispositivo. Si tienes más de un Ubertooth conectado, especificas cuál usar (por defecto usa el0).
Control de los LEDs (Luces)
-d[0-1]: Obtener/Apagar/Encender todos los LEDs. (-d1los enciende todos,-d0los apaga).-l[0-1]: Obtener/Apagar/Encender el LED de usuario (USR). Controla específicamente el led verde de actividad.
Opciones de Radio (Frecuencia)
-a[0-7]: Obtener/Establecer la potencia del amplificador de potencia (PA). Ajusta la ganancia de transmisión/recepción.-c[2400-2483]: Establecer canal en MHz. Fija el Ubertooth en una frecuencia específica dentro del rango de 2.4 GHz.
📡 Prueba de Rango (Range Test)
ubertooth-util incluye una función para medir el alcance de la señal inalámbrica si dispones de dos dispositivos Ubertooth:
En el receptor (Repetidor):
Bashubertooth-util -e(Configura este Ubertooth para escuchar y repetir los paquetes que reciba).
En el emisor (Transmisor):
Bashubertooth-util -n(Empieza a enviar paquetes aumentando gradualmente la potencia para ver hasta dónde llega de manera efectiva).
Para ver los resultados en el emisor:
Bashubertooth-util -m
⚠️ Nota de privacidad: La prueba de rango transmite de forma inalámbrica el número de serie de tu microcontrolador. Si no quieres difundir ese dato en el aire, evita usar esta función específica.
💡 Ejemplos Prácticos en Kali Linux
¿Tu Ubertooth no responde bien? Dale un reinicio rápido:
Bashubertooth-util -r¿Quieres saber si Kali reconoce el dispositivo y qué firmware tiene?
Bashubertooth-util -vV¿Quieres comprobar visualmente cuál es tu dispositivo entre varios cables?
Bashubertooth-util -I
Sniffear Bluetooth en el aire tiene su truco. A diferencia de las redes Wi-Fi, donde solo necesitas poner tu tarjeta en modo monitor en un canal fijo, el Bluetooth utiliza FHSS (Espectro Ensanchado por Salto de Frecuencia). Esto significa que los dispositivos cambian de canal hasta 1600 veces por segundo.
Afortunadamente, las herramientas del Ubertooth están diseñadas exactamente para lidiar con este caos. Aquí te explico cómo abordar tanto la versión moderna (BLE) como la clásica.
1. Bluetooth Low Energy (BLE) – La vía rápida
El BLE es mucho más fácil de auditar porque los dispositivos anuncian su presencia (Advertising) usando solo 3 canales (37, 38 y 39). El Ubertooth se queda escuchando en uno de estos canales y, cuando detecta una solicitud de conexión, "salta" junto con los dispositivos.
Se utiliza el comando ubertooth-btle:
Modo Promiscuo (Ver todo el ruido de advertising):
Bashubertooth-btle -pEsto te mostrará por pantalla las direcciones MAC y los paquetes de anuncio (beacons) de los dispositivos BLE cercanos.
Seguir conexiones activas (Follow mode):
Bashubertooth-btle -fEl Ubertooth se queda en un canal de advertising esperando un paquete
CONNECT_REQ. Cuando lo ve, deduce el mapa de canales y empieza a seguir la conversación entre el maestro y el esclavo.Capturar a un archivo PCAP para Wireshark:
Bashubertooth-btle -f -c captura_ble.pcap
2. Bluetooth Clásico (BR/EDR) – El modo difícil
Para el Bluetooth clásico, escanear es más complejo. La dirección MAC del Bluetooth (BD_ADDR) tiene 6 bytes, divididos en NAP, UAP y LAP. Para poder calcular la secuencia de saltos y seguir la conexión, el Ubertooth necesita conocer al menos el LAP (los últimos 3 bytes) del dispositivo objetivo.
Se utiliza el comando ubertooth-rx:
Escaneo pasivo para descubrir LAPs:
Bashubertooth-rxEl Ubertooth barrerá el espectro buscando fragmentos de paquetes para deducir los LAPs de los dispositivos que están transmitiendo. Verás aparecer LAPs (ej.
6a:7b:8c) en tu terminal.Centrarse en un objetivo específico:
Una vez que tienes el LAP de tu objetivo (ya sea porque lo capturaste en el paso anterior o lo obtuviste de otra forma), puedes decirle al Ubertooth que calcule los saltos e intente capturar su tráfico:
Bashubertooth-rx -l <LAP_DEL_OBJETIVO>
Análisis en vivo con Wireshark
Para ejercicios de Red Teaming, leer salidas por terminal suele ser insuficiente. Lo ideal es inyectar el tráfico del Ubertooth directamente en Wireshark en tiempo real mediante tuberías (pipes).
Nota para el analista: Verás que Wireshark decodifica automáticamente los protocolos de las capas superiores (L2CAP, ATT, SMP). Si la conexión BLE está cifrada (emparejamiento seguro), verás los paquetes, pero el payload estará ofuscado a menos que logres capturar el apretón de manos inicial y tengas las claves maestras (LTK).