Monday, November 17, 2008

Sniffando el emparejamiento Bluetooth

Con la ayuda de un sniffer Bluetooth sería posible escuchar el emparejamiento de dos dispositivos Bluetooth y obtener la clave de enlace que comparten.



Un atacante podría utilizar dos módulos Bluetooth, un adaptador convencional para realizar operaciones tales como búsqueda y detección de dispositivos cercanos, y un adaptador sniffer para capturar los paquetes.



En primer lugar, detectar dos dispositivos cualesquiera que estén a punto de iniciar el proceso de emparejamiento.



Luego utilizar la herramienta frontline que desarrolló Andrea Bittau, la cual permite enviar comandos y operar un hardware sniffer.





En este punto, los dispositivos Bluetooth remotos pueden comenzar el proceso de emparejamiento, los paquetes generados serán capturados por el sniffer.







Entre todos los paquetes capturados, podemos encontrar las claves temporales creadas durante el proceso de emparejamiento para generar la clave de enlace y, por consiguiente, llegar a obtener la misma.





Podemos utilizar el Bluetooth Pin Cracking Core de OpenCiphers o el BTCrack PIN Cracker de Thierry Zoller para crackear la clave de enlace Bluetooth a partir de las claves temporales capturadas.



Es fácil comprobar si la clave crackeada corresponde con la clave de enlace que realmente comparten los dispositivos remotos.



Una vez que la clave de enlace Bluetooth está en nuestra posesión, podemos llevar a cabo el ataque BD_ADDR spoofing y utilizar esta clave para acceder a perfiles que requieran autorización/autenticación en cualquiera de los dispositivos, como por ejemplo el perfil de OBEX FTP para Transferencia de Archivos, que permite enviar y descargar archivos del teléfono móvil así como listar directorios.





Y el perfil de Acceso Telefónico a Redes, que permite enviar comandos AT al teléfono móvil.





Con esto se ha conseguido romper la seguridad en Bluetooth. No obstante, resulta casi imposible reproducir este ataque en el mundo real. El atacante necesitaría encontrar dos dispositivos justo en el momento previo al emparejamiento y saber de antemano cual de los dos juega el papel de maestro en la piconet. Se trata más bien de una Prueba de Concepto.

3 comments:

Lobosoft said...

¡Ya te digo! La verdad es que es un "experimento de laboratorio" muy interesante. Como bien dices, aunque en un entorno real la seguridad en las comunicaciones entre dispositivos Bluetooth es bastante segura, siempre resulta interesante comprobar cómo funciona su protocolo de comunicación, aunque sea por cotillear un poco entre bambalinas.

Geniales los artículos, por tanto.

¡Salud!

Anonymous said...

Lo que me faltaba por ver! Como siempre... MAGNIFICO Alberto!! Que pena que mi dispositivo Bluetooth no sea de Silicon Radio.

Un saludo, un lector fiel de tu blog.

Anonymous said...

dispositivo energy sistem usb 1.5 de los primeros usb bluetooth que salieron


Bus 006 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)


hci0: Type: USB
BD Address: 00:xx:xx:xx:xx:xx ACL MTU: 192:8 SCO MTU: 64:8
HCI 14.7
Chip version: BlueCore02-External (ES2)
Max key size: 56 bit
SCO mapping: HCI