Vulnerabilidades y Ataques \ Bluebug


1. Introducción.

BlueBug es una vulnerabilidad causada por un error en la implementación de la pila de Bluetooth gracias al cual es posible conectarse al puerto serie RFCOMM del teléfono móvil y enviar comandos AT que serán ejecutados en el terminal GSM. Explotando esta vulnerabilidad, un atacante podría realizar llamadas, obtener la agenda de contactos y de llamadas, acceder al servicio SMS y muchas cosas más.

Originalmente descubierta por Martin Herfurt y Adam Laurie , la página oficial de la vulnerabilidad es http://trifinite.org/trifinite_stuff_bluebug.html

 

2. Descripción de la vulnerabilidad.

Como muestra el siguiente diagrama, la capa de Comandos AT deriva directamente del protocolo RFCOMM.






















RFCOMM es un protocolo de emulación de puertos serie RS-232 sobre el protocolo L2CAP. Este protocolo emula las señales de control y datos RS-232 sobre la banda base y permite el acceso a los comandos AT, utilizados como mecanismo de control en dispositivos de comunicaciones GSM.

Simplemente, es necesario conectarse al puerto serie (protocolo RFCOMM) y enviar comandos AT en texto plano para que estos sean interpretados y ejecutados en el teléfono móvil, devolviendo una respuesta del comando al emisor.
Si el dispositivo no está protegido, el envío y ejecución de comandos AT no exigirá ninguna autorización. Este el caso de los teléfonos Nokia 6310/6310i, 8910/8910i y Ericsson T68, T610; primeros teléfonos del mercado en incorporar tecnología Bluetooth.
Tras la publicación de esta vulnerabilidad, los fabricantes de teléfonos móviles han modificado la implementación de la pila de Bluetooth y viene siendo necesaria una autorización antes de ejecutar comandos AT desde Bluetooth. Este es el caso de los teléfonos Nokia 6820, 6230.

De este modo, es posible llevar a cabo dos tipos de ataque dependiendo de la implementación de seguridad en el teléfono móvil:
      Ataque desprotegido: no requiere emparejamiento (pairing) de dispositivos. Resulta transparente para el usuario que recibe el ataque, pues el atacante se limita a enviar comandos AT remotamente y el teléfono comprometido los ejecuta devolviendo la respuesta al emisor.
      Ataque protegido: requiere saltarse los siguientes niveles de seguridad:
          - Requiere que los dispositivos se encuentren emparejados.
          - Requiere que el usuario víctima acepte la petición de transmisión entrante, aunque en ningún caso se especifica la naturaleza de la transmisión.
Una vez que el atacante ha conseguido saltarse estas dos medidas de protección, el ataque se desarrolla de forma transparente. Se envían los comandos AT al teléfono móvil, este los ejecuta localmente y devuelve una respuesta al emisor. Como podemos observar, las dos únicas medidas de seguridad que diferencian un ataque protegido de uno desprotegido pueden ser fácilmente vulneradas mediante ingeniería social, pues siempre dependerá del usuario acordar el emparejamiento de los dispositivos y aceptar las transmisiones entrantes.

Tipos de ataque:























Desarrollo de cada ataque:


















Para más información sobre comandos AT y sus limitaciones de ejecución en algunos terminales, consultar la sección de Comandos AT.

 

3. Explotando la vulnerabilidad.

Aunque las primeras herramientas de ataque Bluebug fueron desarrolladas para Linux con implementación de pila de protocolo Bluez, actualmente es posible explotar esta vulnerabilidad desde diversas plataformas que describiremos en diferentes escenarios:

Escenario 1: Desde PC/Laptop










Escenario 2: desde PDA











Escenario 3: desde otro teléfono móvil J2ME



 






Contacto | ©2005 Bluehack: the Spanish Bluetoot Security Group