[Bluetooth] Avances en sniffing Bluetooth

Iniciado por Gospel, 16 Agosto 2007, 22:30 PM

0 Miembros y 1 Visitante están viendo este tema.

Gospel

http://seguridadmobile.blogspot.com/2007/08/avances-en-sniffing-bluetooth.html

Esta semana se han producido dos grandes avances en relación con la capacidad para sniffar comunicaciones Bluetooth.

Recordemos que sniffar comunicaciones Bluetooth es un tema bastante complicado debido a que:

1) La técnica de salto de frecuencias impide a cualquier dispositivo que no forme parte de la piconet (que no esté emparejado con el maestro) escuchar las comunicaciones, ya que no tiene acceso a la tabla de saltos utilizada para la transmisión de paquetes.

2) Los adaptadores USB Bluetooth convencionales no se pueden poner en modo promiscuo (como las tarjetas Ethernet o Wi-Fi). Hasta el momento, existían adaptadores con capacidad para ponerse en modo promiscuo, sniffers, pero su precio rondaba los 1000$ en el mercado extranjero.

Durante el pasado evento 23C3, Thierry Zoller publicó la herramienta BTCrack para Windows. BTCrack es un programa que permite crackear el PIN y la clave de enlace compartidos por dos dispositivos a partir de las tramas capturadas durante el emparejamiento de ambos. El software existía, lo dificil y caro era conseguir el hardware que sniffara esas tramas. En aquel momento, Zoller hizo un llamamiento para encontrar una técnica que permitiera construir un sniffer Bluetooth de bajo coste.

Max Moser acudió al llamamiento y publicó un paper en el que desmontaba el mito de que conseguir un sniffer Bluetooth sólo era posible adquiriendo carísimos productos propietarios. Realizando ingeniería inversa del producto FTS4BT fue capaz de flashear un adaptador USB Bluetooth convencional con el firmware del sniffer comercial. La aplicación reconocía el hardware como parte del paquete comercial y permitía sniffar.

El procedimiento de construir un sniffer Bluetooth a partir de un adaptador USB Bluetooth convencial podía desarrollarse en Linux, pero para enviar comandos al hardware y sniffar con él hacía falta el producto comercial para Windows.

Pues bien, la primera noticia es la publicación de una herramienta que permite enviar comandos al adaptador hardware y utilizarlo para sniffar. El nombre de esta herramienta es BTSniff y está disponible para Linux. El autor es Andrea (aka sorbo) @ http://darkircop.org/.

BTSniff consta de dos partes:

- Ensamblador para construir tu propio firmware
- Frontline para envío de comandos: sincronizar con el maestro, sniffar tramas, ...

En principio, BTSniff sólo funciona con adaptadores USB Bluetooth con chipset CSR que han sido flasheados con el firmware del sniffer comercial.

La otra noticia es que BTCrack ya dispone de versión para Linux, aunque aún no se ha hecho pública. Supongo que con la publicación de BTSniff, Zoller no hubiera tardado en hacer pública también esa versión y rematar la exclusiva en seguridad Bluetooth, si no fuera por la reciente ley §202C StGB que acaba de aprobarse en Alemania y que prohibe la distribución de herramientas que pueden ser utilizadas con fines de hacking.

Gracias a estos dos avances, el sniffing de comunicaciones Bluetooth está más cerca de ser una realidad (no un simple PoC) y estar al alcance de cualquiera. (Aunque, ¿eso es bueno?). En cualquier caso, la nueva especificación 2.1 de Bluetooth que acaba de ser publicada por el SIG introduce algunas mejoras en seguridad supuestamente dirigidas a evitar el sniffing de las comunicaciones Bluetooth. No obstante, de aquí a que la especificación 2.1 domine el mercado de los teléfonos móviles aún quedan años de diversión :)

¿Y para qué sirve todo esto? Diréis lo no iniciados en seguridad Bluetooth...

Os cuento: Gracias a BTSniff, un atacante podrá sincronizarse con el maestro de una piconet y sniffar las tramas transmitidas durante una comunicación Bluetooth con otro dispositivo. Lo interesante sería llevarlo a cabo durante el emparejamiento de dos dispositivos Bluetooth. Capturando estas tramas, el atacante tendría acceso a las keys generadas en el proceso de emparejamiento y podría obtener la clave de enlace Bluetooth a partir de las mismas con ayuda de BTCrack. Con la clave de enlace en su poder, el dispositivo atacante podría acceder de forma transparente a cualquiera de los dos dispositivos suplantando la BD_ADDR del otro dispositivo y utilizando la clave de enlace crackeada. El acceso transparente implica poder conectarse a cualquier perfil del dispositivo objetivo saltándose los mecanismos de seguridad de Bluetooth de autenticación y autorización, tal y como se explica en el ataque BD_ADDR Spoofing. Las posibilidades: muy "interesantes"... como el acceso a los comandos AT (realizar llamadas de teléfono, gestión de la agenda de contactos, gestión de mensajes SMS, ...) o el acceso al servicio OBEX para el robo de archivos del teléfono móvil.

Ya era hora de que apareciese alguna novedad en el mundo de la seguridad Bluetooth, después de que la cosa haya estado parada durante un año. ¡Buenas noticias!

Actualización... dicho y hecho.

http://seguridadmobile.blogspot.com/2008/11/construyendo-tu-propio-sniffer.html

http://seguridadmobile.blogspot.com/2008/11/sniffando-el-emparejamiento-bluetooth.html

ANELKAOS

Si se podía en GSM en BT también...¿te lo dije o no? :) Deberíamos incluirlo en WiFiSlax, lo hablamos este finde.

Kasswed

Interesante, estaría bien toquetear con algo de esto.

También a ver si Zoller se decide a publicar BTCrack para Linux, que no creo yo que le pasa nada ¿no? Aunque supongo que más vale prevenir que curar.

Saludos.
"He who allows himself to be insulted, deserves to be."

Repórtame cualquier falta a las normas del foro por mensaje privado.

Gospel

No creo que publique de su mano el BTCrack por la reciente ley aprobada en Alemania, le puede caer un paquete... no ha tardado ni dos días en quitar el BTCrack para Windows de la circulación...

En cualquier caso, si Zoller decide sacar a la luz el BTCrack para Linux ya le he dicho que puede contar con El Blog de Gospel... :)

SirGraham

Hola a tod@s,

He tenido la oportunidad de poder usar ya el scanner de bluetooth de frontline, que el que se usa Andrea en el Link que manda gospel. Funciona pero tiene bastantes limitaciones.

Yo creo que esta mas bien pensado para poder testear aplicaciones de Bluetooth que para poder hacer incursiones "intrusivas". De echo tienes que tener muy claro a que moviles tienes que atacar para "anclarte" a su tabla de saltos.

Por otra parte con los resultados de ese scanner (y en un entorno controlado) he echo una prueba con el BTCrack y efectivamente se resuelve el PIN que habiamos introducido para la prueba.

...Pero claro esto para una gestion real deja de ser practico. Tener controlado un movil en concreto (enganchado a su tabla de salto de frecuencias) justo en el momento en que hacen una vinculacion con a el... pues es mucha casualidad la verdad.

Una vez echo eso, si cambias la MAC del un modulo y generas la Key de transito (que la obtienes con el scanner) pues si entras (siempre que aparte de haber autentificado, el usuario le haya dado permisos completos)

Vamos que si rula el proceso, pero bastante complicado y engorroso para llegar a ser practico.

Haber si pongo una foto del modulo modificado que nos hicimos para probar todo esto.

Saludos,
Sir Graham.
   

Gospel

Ostras Sir Graham! Qué alegría que lo hayáis hecho funcionar  :D

Como dices tú, no es un ataque muy práctico y automatizarlo sería engorroso, pero como casi todo en esto de la Seguridad Bluetooth, es una Prueba de Concepto. :)

Felicidades.

Ya me gustaría probarlo a mi también y sacar conclusiones, que el tema está bastante parado desde entonces.

Un saludo.

SirGraham

Hola,

La verdad es que e facil de realizar. Lo que pasa es que hasta el otro dia no tuve, personalmente, un hueco al que dedicarle tiempo. Me he quedado en probar los datos que realmente escupe el aparatito.

Una vez que lo tienes echo la idea seria comprobar bien la informacion que devuelve y preparar una version de software personalizada para automatizar procesos y pruebas, por lo menos para Linux.....  ;)

Saludos,
Sir Graham.


   

ANELKAOS

Este verano probé en dos ocasiones a 'actualizar' el firm de un Conceptronic CBTU2 que dispone de chipset CSR y en ambos caso no me funcionó. SirGraham ¿que dispositivo has utilizado?

SirGraham

Hola,

uhmmm...

.... es que nosotros tenemos echo nuestros propios modulos de Bluetooth con su propio grabador (basado en este caso, logicamente en CSR).

De echo el flasheo lo hemos echo desde "el Ventanuco" (windows)....



Asi podemos tener "mayor" control para nuestros proyectos. Por eso quizas no hemos tenido tantos problemas en el flasheo.

No te servimos, me temo como ejemplo...

Saludos,
Sir Graham.
   

Gospel