martes, marzo 07, 2017

DirtyTooth Hack: It´s only Rock'n Roll but I like it (III de V)

Vistos en las partes anteriores todos los detalles que tiene la conexión de un terminal iPhone a un dispositivo BlueTooth, y cómo gestiona su comportamiento ante el acceso a la agenda de contactos o el cambio de perfil, el siguiente paso consistió en crear un Rogue DirtyTooth Speaker. Es decir, un altavoz malicioso que tenga como objetivo el robo de la agenda de contactos de las víctimas que se conecten a él.

Figura 17: Rogue DirtyTooth Speaker (3 de 5)

El escenario del ataque sería tan sencillo como regalar un BlueTooth Speaker y que las víctimas se conecten a él para escuchar su música preferida, al mismo tiempo que se le roban los datos y son enviados a un backend sin que la víctima lo sepa.

Esquema del ataque de Rogue DirtyTooth Speaker

Para conseguir engañar a los usuarios de iPhone, el Rogue BlueTooth Scanner va a realizar varias funciones aprovechando las configuraciones de usabilidad de iOS. En primer lugar se va a publicar como un BlueTooth Speaker, ofreciendo un perfil de tipo A2DP. Es decir, un altavoz normal y corriente para escuchar tu música favorita.

Para que el ataque sea más silencioso, el Rogue DirtyTooth Scanner funcionará como un altavoz de verdad, reproduciendo la música que se le envié, y no va a realizar ninguna función extra si no se detecta que el dispositivo conectado es un iPhone, que es el objetivo principal de este ataque silencioso.

Para ello, como medida de seguridad, cuando se conecta un dispositivo al Rogue DirtyTooth Speaker se comprueba la dirección física MAC del mismo y se filtra por el OUI (Organitationally Unit Identifier). Estos bits sirven para reconocer al fabricante de hardware, y Apple tiene los suyos propios. Si el dispositivo no es un iPhone de Apple, entonces el Rogue DirtyTooth Speaker solo va a reproducir música como un altavoz normal, evitando alertas como la que aparece en los sistemas operativos Android.

Figura 18: Algunos valores de OUI reservados por Apple

Una vez que un terminal iPhone se conecte al Rogue DirtyTooth Speaker, a los pocos segundos de la conexión, el dispositivo malicioso cambiará su perfil, pasando de un A2DP a un PBAP. Con este perfil BlueTooth el sistema operativo iOS permite acceder a tres cosas en el terminal iPhone de la víctima:
- Contactos en la agenda en formato VCard 2.1
- Listado de últimas llamadas emitidas y recibidas
- VCard 2.1. del dueño del teléfono.
Los contactos en iPhone usan el estándar Vcard 2.1, que tiene toda la información que se puede ver en la agenda de cualquier terminal. Es decir, están los números de teléfono, los campos relativos a los datos personales, pero también los datos profesionales, información del e-mail de contacto o las páginas web de las organizaciones, incluidas las notas.

Figura 19: Formato vCard 2.1 en fichero txt

Además de las vCards 2.1 de los contactos, también se obtiene la lista de las últimas llamadas emitidas y recibidas que pueden ser analizadas conjuntamente.

Figura 20: Historial de llamadas emitidas y recibidas

Y dentro de las cosas que también se consiguen, está el UID del contacto, de tal manera que el que tiene el valor 0, es decir la vCard en formato 2.1 con UID=0, representa al dueño del terminal que se ha conectado, con lo que se puede saber de qué persona se está extrayendo la información en todo momento.

Figura 21: La vCard con UID=0 tiene los datos del dueño del iPhone

Todos estos ficheros son copiados localmente en una memoria SD del Rogue DirtyTooth Speaker para luego, poco a poco irse enviando al servidor de Backend. En el el vídeo siguiente puede verse cuál es la experiencia completa de un usuario, donde no se nota nada cuando está reproduciendo el vídeo musical a través del altavoz malicioso.

Figura 22: Vídeo de Rogue DirtyTooth Speaker

Los datos, a través de BlueTooth son "extraídos" de forma rápida a través del Rogue DirtyTooth Speaker que después, de forma asíncrona, irá subiendo poco a poco al backend por medio de una conexión GPRS. De esta forma la extracción de datos del terminal se hace de forma muy rápida.

Behind de scenes

Lo más importante es que, durante el tiempo que el terminal iPhone de la víctima está conectado, el Rogue DirtyTooth Speaker está cambiando el perfil BlueTooth para pasar de ser un A2DP a un PBAP. En el siguiente vídeo se puede ver cómo funciona el proceso completo con dos visualizaciones en paralelo del terminal de la víctima.

Figura 23: Vídeo de cómo funciona por detrás el Rogue DirtyTooth Speaker

Con toda la información que se recibe, el backend puede hacer aún un post-procesado de la información, utilizando el número de teléfono para buscar la cuenta en Facebook y extraer información de la persona, o para saber en qué operador tiene ahora el terminal de teléfono la persona de la agenda de contactos.

Figura 24: Postprocesado de la información para extraer más datos en Backend

Al final, de una forma silenciosa y dirigida - mediante el regalo de un Rogue DirtyTooth Speaker a la víctima - un atacante podría extraer mucha información del terminal iPhone de forma muy silenciosa.

Saludos Malignos!

*********************************************************************************
- Dirtytooh hack site
- Libro de Hacking iOS: iPhone & iPad [2ª Edición]
- Conferencia DirtyTooth Hack en OpenExpo 2017
- DirtyTooth Hack: It´s only Rock'n Roll but I like it (I de V)
- DirtyTooth Hack: It´s only Rock'n Roll but I like it (II de V)
- DirtyTooth Hack: It´s only Rock'n Roll but I like it (III de V)
- DirtyTooth Hack: It´s only Rock'n Roll but I like it (IV de V)
- DirtyTooth Hack: It´s only Rock'n Roll but I like it (V de V)
- DirtyTooth Hack: Reemplazar el módulo Bluetooth en Marshall Killburn
- DirtyTooth Hack: Seminario en Vídeo
- DirtyTooth para Raspberry Pi
*********************************************************************************

2 comentarios:

manuel dijo...

en dos palabras ACOJ ONANTE!

@jivan dijo...

En el caso de Utilizar un RPI 2 model B , mas un modulo usb bluetooth
como se podria proceder ??.

puedes darnos alguna orientacion ?? , espectacular Post :D

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares