Parte: 13 — Seguridad móvil, IoT e inalámbrica · Fuente: Practical IoT Hacking (Chantzis et al.) y especificación Bluetooth SIG ⏱️ Duración estimada: 120 min · Nivel: Avanzado
Auditar dispositivos Bluetooth Low Energy (BLE), el protocolo inalámbrico dominante en wearables, cerraduras, sensores y gadgets IoT. El alumno entenderá la pila BLE (GAP/GATT), los modos de emparejamiento y sus debilidades, y aprenderá a escanear, enumerar servicios/características, interceptar y reproducir tramas, y manipular valores de un dispositivo propio con herramientas como bluetoothctl, gatttool, bettercap y un sniffer (nRF/Ubertooth).
⚠️ Nota ética: interactúa solo con dispositivos BLE de tu propiedad o autorizados. Interceptar, manipular o denegar servicio a dispositivos ajenos (p. ej. cerraduras o dispositivos médicos de terceros) es ilegal y peligroso.
Al finalizar, el alumno podrá:
| # | Tema | Por qué importa |
|---|---|---|
| 1 | Pila BLE y roles GAP | Base de cómo se conectan los dispositivos |
| 2 | GATT: servicios y características | Donde vive la funcionalidad y los datos |
| 3 | Advertising y descubrimiento | Primer paso de la enumeración |
| 4 | Emparejamiento y cifrado | Determina si el tráfico es interceptable |
| 5 | Enumeración con gatttool/nRF | Mapear e interactuar con el dispositivo |
| 6 | Sniffing con nRF/Ubertooth | Capturar el tráfico real |
| 7 | Replay y manipulación | Demostrar impacto en laboratorio |
bluetoothctl, gatttool, hcitool), bettercap, nRF Connect (móvil/desktop), Wireshark.# Escaneo y enumeración con BlueZ
sudo bluetoothctl
[bluetooth]# scan on
gatttool -b AA:BB:CC:DD:EE:FF --primary # listar servicios
gatttool -b AA:BB:CC:DD:EE:FF --characteristics # listar características
gatttool -b AA:BB:CC:DD:EE:FF --char-read -a 0x0025
# bettercap
sudo bettercap -eval "ble.recon on"
bluetoothctl scan on o bettercap ble.recon on y localiza tu dispositivo BLE propio.notify y captura los eventos.Toma un dispositivo BLE propio (p. ej. una bombilla o candado de juguete) y demuestra control no autenticado: identifica la característica de control y modifícala para cambiar su estado sin usar la app oficial. Criterio de aceptación: documentas el handle/UUID exacto, el valor escrito y evidencia del cambio físico, y concluyes si el dispositivo protege o no sus comandos.
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
| No aparece en el escaneo | No está en modo advertising; despiértalo o acércalo |
gatttool no conecta |
La app oficial lo tiene conectado; ciérrala y reintenta |
| Escritura sin efecto | Handle equivocado o requiere formato/valor concreto; revisa propiedades |
| Sniffer no captura la conexión | Perdió el evento de conexión; reinicia el sniffer antes de conectar |
| Tráfico ilegible en Wireshark | Enlace cifrado; necesitas la LTK o capturar el emparejamiento |
❓ ¿Puedo interceptar cualquier tráfico BLE? Solo si capturas el emparejamiento o el enlace no está cifrado. Con Just Works y sin cifrado adicional, el tráfico suele ser legible; con emparejamiento seguro necesitas la clave.
❓ ¿Por qué tantos dispositivos BLE son inseguros? Muchos usan Just Works sin autenticación y confían en que la app sea el único cliente, sin autorizar comandos a nivel GATT: cualquier central puede escribir sus características.
❓ ¿Sirve un dongle barato para empezar? Para escanear e interactuar sí. Para sniffear conexiones necesitas hardware específico como el nRF52840 o Ubertooth One.
Clase 270 — Ataques a RFID y NFC