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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Comunicaciones
| |-+  Dispositivos Móviles (PDA's, Smartphones, Tablets)
| | |-+  Hacking Mobile
| | | |-+  BlueZScanner, BlueZSpammer y otros códigos BlueZ
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: BlueZScanner, BlueZSpammer y otros códigos BlueZ  (Leído 44,214 veces)
Gospel
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.587


Ver Perfil WWW
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...  :)  )


« Última modificación: 25 Julio 2007, 14:28 pm por Gospel » En línea

Gospel
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.587


Ver Perfil WWW
Re: BlueZScanner: Escaner de dispositivos Bluetooth basado en BlueZ
« Respuesta #1 en: 25 Julio 2007, 14:28 pm »

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









En línea

Gospel
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.587


Ver Perfil WWW
Re: BlueZScanner, BlueZSpammer y otros códigos BlueZ
« Respuesta #2 en: 25 Julio 2007, 14:36 pm »

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
En línea

Gospel
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.587


Ver Perfil WWW
Re: BlueZScanner, BlueZSpammer y otros códigos BlueZ
« Respuesta #3 en: 25 Julio 2007, 14:36 pm »

Programa 1 - Resolver el nombre de un dispostivo Bluetooth a partir de su dirección MAC.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <bluetooth/bluetooth.h>
  4. #include <bluetooth/hci.h>
  5. #include <bluetooth/hci_lib.h>
  6.  
  7. int main (int argc, char **argv)
  8. {
  9.      bdaddr_t bdaddr; //Estructura bdaddr_t para almacenar la direccion MAC
  10.      char MAC_dev[20]; //Direccion MAC del dispositivo
  11.      char nombre_dev[248]; //Nombre del dispositivo
  12.      int id_dev; //Identificador del adaptador Bluetooth local
  13.      int socket; //Socket HCI
  14.  
  15.      if(argc < 2)
  16.      {
  17.            printf("Sintaxis: %s <direccion MAC>\n",argv[0]);
  18.            exit(1);
  19.      }
  20.  
  21.      printf("+ BlueResolver por Gospel [elblogdegospel.blogspot.com]\n\n");
  22.  
  23.      strncpy(MAC_dev,argv[1],20);
  24.  
  25.      printf("Detectando nombre del dispositivo <%s>...\n",MAC_dev);
  26.  
  27.      //Convertimos la dirección MAC al formato de estructura bdaddr_t
  28.      baswap(&bdaddr, strtoba(MAC_dev));
  29.  
  30.      //Obtenemos el identificador del adaptador local Bluetooth
  31.      id_dev = hci_get_route(&bdaddr);
  32.      if (id_dev < 0)
  33.      {
  34.            printf("[!] Error. Dispositivo Bluetooth local no disponible.\n");
  35.            exit(1);
  36.      }
  37.  
  38.      //Abrimos un socket local HCI
  39.      socket = hci_open_dev(id_dev);
  40.      if (socket < 0)
  41.      {
  42.            printf("[!] Error. Fallo al intentar abrir socket HCI.\n");
  43.            exit(1);
  44.      }
  45.  
  46.      //Obtenemos el nombre de la dirección MAC remota
  47.      int timeout = 10000;
  48.      if (hci_read_remote_name(socket,&bdaddr,sizeof(nombre_dev), nombre_dev, timeout) == 0)
  49.      {
  50.            printf("Dispositivo encontrado:\n\tMAC: %s\n\tNombre: %s\n",MAC_dev,nombre_dev);
  51.      }
  52.      else
  53.      {
  54.            printf("[!] Error. No se ha podido resolver el nombre del dispositivo.\n");
  55.            printf("Dispositivo encontrado:\n\tMAC: %s\n\tNombre: [Desconocido]\n",MAC_dev);
  56.      }
  57.  
  58.      close(socket);
  59.  
  60.      return(0);
  61. }
« Última modificación: 26 Julio 2007, 09:17 am por Gospel » En línea

Gospel
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.587


Ver Perfil WWW
Re: BlueZScanner, BlueZSpammer y otros códigos BlueZ
« Respuesta #4 en: 25 Julio 2007, 14:37 pm »

Programa 2 - Escanear y detectar dispositivos Bluetooth cercanos

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <bluetooth/bluetooth.h>
  4. #include <bluetooth/hci.h>
  5. #include <bluetooth/hci_lib.h>
  6.  
  7. int main ()
  8. {
  9.      inquiry_info *ii = NULL; //Almacena la lista de dispositivos detectados durante el inquiry
  10.      int max_rsp, num_rsp; //Numero de respuestas/dispositivos detectados
  11.      int dev_id; //Identificador del adaptador Bluetooth local
  12.      int socket; //Socket HCI;
  13.      int len, i;
  14.  
  15.      char MAC_dev[20]; //Direccion MAC del dispositivo detectado
  16.      char nombre_dev[248]; //Nombre del dispositivo detectado
  17.  
  18.      printf("+ BlueScanner por Gospel [elblogdegospel.blogspot.com]\n");
  19.      printf("+ src: people.csail.mit.edu/albert/bluez-intro/c401.html\n\n");
  20.  
  21.      //Obtenemos el identificador del adaptador local Bluetooth
  22.      dev_id = hci_get_route(NULL);
  23.      if (dev_id < 0)
  24.      {
  25.            printf("[!] Error. Dispositivo Bluetooth local no disponible.\n");
  26.            exit(1);
  27.      }
  28.  
  29.      //Abrimos un socket local HCI
  30.      socket = hci_open_dev(dev_id);
  31.      if (socket < 0)
  32.      {
  33.            printf("[!] Error. Fallo al intentar abrir socket HCI.\n");
  34.            exit(1);
  35.      }
  36.  
  37.      //Inicializamos algunas variables
  38.      len = 8; //El tiempo de inquiry por dispositivo es de 1.28x8=10.24 secs/dispositivo
  39.      max_rsp = 255; //Se pueden detectar a lo sumo 255 dispositivos
  40.  
  41.      //Creamos la lista de dispositivos detectados con hci_inquiry
  42.      ii = (inquiry_info*)malloc(max_rsp * sizeof(inquiry_info));
  43.  
  44.      printf("Detectando dispositivos...\n\n");
  45.  
  46.      //hci_inquiry lleva a cabo un descubrimiento de dispositivos Bluetooth y devuelve una lista de
  47.      //dispositivos detectados en inquiry_info ii para ser almacenados.
  48.      //La bandera IREQ_CACHE_FLUSH permite que la caché sea limpiada antes de buscar nuevos dispositivos.
  49.      //En otro caso, podrian aparecer dispositivos anteriormente detectados pero ahora fuera de rango.
  50.      num_rsp = hci_inquiry(dev_id, len, max_rsp, NULL, &ii, IREQ_CACHE_FLUSH);
  51.      if(num_rsp < 0)
  52.            printf("[!] Error. Fallo al intentar hci_inquiry.\n");
  53.  
  54.      //Para cada una de las respuestas obtenidas durante el inquiry obtenemos el nombre del dispositivo
  55.      for(i=0;i<num_rsp;i++)
  56.      {
  57.            ba2str(&(ii+i)->bdaddr, MAC_dev);
  58.            memset(nombre_dev, 0, sizeof(nombre_dev));
  59.            if(hci_read_remote_name(socket, &(ii+i)->bdaddr, sizeof(nombre_dev), nombre_dev, 0) < 0)
  60.                  strcpy(nombre_dev, "[Desconocido]");
  61.  
  62.            printf("Dispositivo (%d) encontrado:\n\tMAC: %s\n\tNombre: %s\n\n", i+1, MAC_dev, nombre_dev);
  63.      }
  64.  
  65.      free(ii);
  66.  
  67.      close(socket);
  68.  
  69.      return(0);
  70.  
  71. }
« Última modificación: 26 Julio 2007, 09:17 am por Gospel » En línea

joseyvicente

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Re: BlueZScanner, BlueZSpammer y otros códigos BlueZ
« Respuesta #5 en: 24 Agosto 2007, 02:50 am »

Hola, intento compilar el bluezscanner pero simepre me da error
uso wifislax 2.0
gracias
En línea

Gospel
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.587


Ver Perfil WWW
Re: BlueZScanner, BlueZSpammer y otros códigos BlueZ
« Respuesta #6 en: 24 Agosto 2007, 14:55 pm »

¿Qué error? Acuérdate de linkar las librerías de BlueZ con gcc -lbluetooth
En línea

joseyvicente

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Re: BlueZScanner, BlueZSpammer y otros códigos BlueZ
« Respuesta #7 en: 24 Agosto 2007, 19:23 pm »

hola, lo acabo de probar y funciona!
pero me da un error de segmentacion

lo compilo asi: gcc -lbluetooth bluezscanner.c -o mi_bluezscanner

lo que quiero es un lazo continuo de scaneo evitando las cabeceras de presentacion y los errores de inquiry que me llenan la pantalla

actualmente hago un loop en script

funcion_lazo(){
sleep .1s
hciconfig hci0 up
bluezscanner -cp
hciconfig hci0 down
sleep .1s
funcion_lazo
}

y de este modo eviro los errores antes mencionados, pero seria mejor dicha opcion en el programa, por eso quero compilarlo

saludos
« Última modificación: 25 Agosto 2007, 02:25 am por joseyvicente » En línea

Gospel
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.587


Ver Perfil WWW
Re: BlueZScanner, BlueZSpammer y otros códigos BlueZ
« Respuesta #8 en: 25 Agosto 2007, 02:50 am »

Hola

Mira a ver si en este hilo encuentras la solución al error de segmentación. Es un fallo conocido.

http://bluehack.endorasoft.es/foros/viewtopic.php?t=342&start=0&postdays=0&postorder=asc

Saludos
« Última modificación: 25 Agosto 2007, 03:29 am por Gospel » En línea

joseyvicente

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Re: BlueZScanner, BlueZSpammer y otros códigos BlueZ
« Respuesta #9 en: 25 Agosto 2007, 03:28 am »

solo me ocurre cuando lo compilo yo
en el tuyo no pasa!!!
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda de funciones mainwindow.cpp en otros códigos QT
Programación C/C++
Puntoinfinito 5 4,204 Último mensaje 22 Mayo 2013, 18:02 pm
por Puntoinfinito
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines