Páginas: [1] 2
|
 |
|
Autor
|
Tema: BlueZScanner, BlueZSpammer y otros códigos BlueZ (Leído 6396 veces)
|
|
Gospel
|
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.htmlHerramienta: 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/bluetoothAgradecimientos 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 por Gospel »
|
En línea
|
|
|
|
|
Gospel
|
BlueZSpammer: Marketing de proximidad con un HotSpot Bluetooth caseroLa página web oficial de la herramienta es: http://gospel.endorasoft.es/bluetooth/especificacion-bluetooth/bluez/bluezspammer.htmlVideo Demo de BlueZScanner: http://youtube.com/watch?v=CVlxplbgxeMMarketing de Proximidad basado en BluetoothSe 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
|
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
|
Programa 1 - Resolver el nombre de un dispostivo Bluetooth a partir de su dirección MAC.#include <stdio.h> #include <stdlib.h> #include <bluetooth/bluetooth.h> #include <bluetooth/hci.h> #include <bluetooth/hci_lib.h> int main (int argc, char **argv) { bdaddr_t bdaddr; //Estructura bdaddr_t para almacenar la direccion MAC char MAC_dev[20]; //Direccion MAC del dispositivo char nombre_dev[248]; //Nombre del dispositivo int id_dev; //Identificador del adaptador Bluetooth local int socket; //Socket HCI if(argc < 2) { printf("Sintaxis: %s <direccion MAC>\n",argv[0]); exit(1); } printf("+ BlueResolver por Gospel [elblogdegospel.blogspot.com]\n\n"); strncpy(MAC_dev,argv[1],20); printf("Detectando nombre del dispositivo <%s>...\n",MAC_dev); //Convertimos la dirección MAC al formato de estructura bdaddr_t baswap(&bdaddr, strtoba(MAC_dev)); //Obtenemos el identificador del adaptador local Bluetooth id_dev = hci_get_route(&bdaddr); if (id_dev < 0) { printf("[!] Error. Dispositivo Bluetooth local no disponible.\n"); exit(1); } //Abrimos un socket local HCI socket = hci_open_dev(id_dev); if (socket < 0) { printf("[!] Error. Fallo al intentar abrir socket HCI.\n"); exit(1); } //Obtenemos el nombre de la dirección MAC remota int timeout = 10000; if (hci_read_remote_name(socket,&bdaddr,sizeof(nombre_dev), nombre_dev, timeout) == 0) { printf("Dispositivo encontrado:\n\tMAC: %s\n\tNombre: %s\n",MAC_dev,nombre_dev); } else { printf("[!] Error. No se ha podido resolver el nombre del dispositivo.\n"); printf("Dispositivo encontrado:\n\tMAC: %s\n\tNombre: [Desconocido]\n",MAC_dev); } close(socket); return(0); }
|
|
|
|
« Última modificación: 26 Julio 2007, 09:17 por Gospel »
|
En línea
|
|
|
|
|
Gospel
|
Programa 2 - Escanear y detectar dispositivos Bluetooth cercanos#include <stdio.h> #include <stdlib.h> #include <bluetooth/bluetooth.h> #include <bluetooth/hci.h> #include <bluetooth/hci_lib.h> int main () { inquiry_info *ii = NULL; //Almacena la lista de dispositivos detectados durante el inquiry int max_rsp, num_rsp; //Numero de respuestas/dispositivos detectados int dev_id; //Identificador del adaptador Bluetooth local int socket; //Socket HCI; int len, i; char MAC_dev[20]; //Direccion MAC del dispositivo detectado char nombre_dev[248]; //Nombre del dispositivo detectado printf("+ BlueScanner por Gospel [elblogdegospel.blogspot.com]\n"); printf("+ src: people.csail.mit.edu/albert/bluez-intro/c401.html\n\n"); //Obtenemos el identificador del adaptador local Bluetooth dev_id = hci_get_route(NULL); if (dev_id < 0) { printf("[!] Error. Dispositivo Bluetooth local no disponible.\n"); exit(1); } //Abrimos un socket local HCI socket = hci_open_dev(dev_id); if (socket < 0) { printf("[!] Error. Fallo al intentar abrir socket HCI.\n"); exit(1); } //Inicializamos algunas variables len = 8; //El tiempo de inquiry por dispositivo es de 1.28x8=10.24 secs/dispositivo max_rsp = 255; //Se pueden detectar a lo sumo 255 dispositivos //Creamos la lista de dispositivos detectados con hci_inquiry ii = (inquiry_info*)malloc(max_rsp * sizeof(inquiry_info)); printf("Detectando dispositivos...\n\n"); //hci_inquiry lleva a cabo un descubrimiento de dispositivos Bluetooth y devuelve una lista de //dispositivos detectados en inquiry_info ii para ser almacenados. //La bandera IREQ_CACHE_FLUSH permite que la caché sea limpiada antes de buscar nuevos dispositivos. //En otro caso, podrian aparecer dispositivos anteriormente detectados pero ahora fuera de rango. num_rsp = hci_inquiry(dev_id, len, max_rsp, NULL, &ii, IREQ_CACHE_FLUSH); if(num_rsp < 0) printf("[!] Error. Fallo al intentar hci_inquiry.\n"); //Para cada una de las respuestas obtenidas durante el inquiry obtenemos el nombre del dispositivo for(i=0;i<num_rsp;i++) { ba2str(&(ii+i)->bdaddr, MAC_dev); memset(nombre_dev, 0, sizeof(nombre_dev)); if(hci_read_remote_name(socket, &(ii+i)->bdaddr, sizeof(nombre_dev), nombre_dev, 0) < 0) strcpy(nombre_dev, "[Desconocido]"); printf("Dispositivo (%d) encontrado:\n\tMAC: %s\n\tNombre: %s\n\n", i+1, MAC_dev, nombre_dev); } free(ii); close(socket); return(0); }
|
|
|
|
« Última modificación: 26 Julio 2007, 09:17 por Gospel »
|
En línea
|
|
|
|
|
joseyvicente
|
Hola, intento compilar el bluezscanner pero simepre me da error uso wifislax 2.0 gracias
|
|
|
|
|
En línea
|
|
|
|
|
Gospel
|
¿Qué error? Acuérdate de linkar las librerías de BlueZ con gcc -lbluetooth
|
|
|
|
|
En línea
|
|
|
|
|
joseyvicente
|
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 por joseyvicente »
|
En línea
|
|
|
|
|
Gospel
|
|
|
|
|
« Última modificación: 25 Agosto 2007, 03:29 por Gospel »
|
En línea
|
|
|
|
|
joseyvicente
|
solo me ocurre cuando lo compilo yo en el tuyo no pasa!!!
|
|
|
|
|
En línea
|
|
|
|
|
Gospel
|
Tú usas Fedora como yo? Pues entonces!
Gente que ha intentado compilar BlueZScanner en Debian me ha reportado problemas, por eso te lo digo que puede ser tu caso. Échale un ojo a ese hilo...
|
|
|
|
|
En línea
|
|
|
|
|
joseyvicente
|
uso wifislax 2.0 y cambiando lo indicado por ti funcionaba pero dejo de hacerlo..."misterios"
una ultima cuestion, en tu codigo haces esto:
num_rsp = hci_inquiry(dev_id, len, max_rsp, NULL, &ii, IREQ_CACHE_FLUSH); if(num_rsp < 0) printf("[!] Error. Fallo al intentar hci_inquiry.\n");
for(i=0;i<num_rsp;i++) { ...
por lo poco que se de C cuando se de el caso num_rsp<0 va a pasar por el for, ¿esto no es causa de error? (faltaria un else)
gracias
|
|
|
|
« Última modificación: 27 Agosto 2007, 01:01 por joseyvicente »
|
En línea
|
|
|
|
|
logik
|
una preguntilla
el BlueZSpammer ace todo de manera automatica? digo solo lo activo o no se k xD y empieza a detectar y mandar la info?
esk me interesa para usarlo para propaganda en una universidad..
|
|
|
|
|
En línea
|
Todo es acerca de poder
|
|
|
|
joseyvicente
|
envia el fichero que le indicas de forma automatica como dices lo unico malo es si la gente camina rapido, entonces puedes quedarte sin alcance que es lo que me pasa a mi
|
|
|
|
|
En línea
|
|
|
|
|
BBOYHACK
|
Tú usas Fedora como yo? Pues entonces!
Gente que ha intentado compilar BlueZScanner en Debian me ha reportado problemas, por eso te lo digo que puede ser tu caso. Échale un ojo a ese hilo...
Gospel a mi ha dado varios errores yo trabajo con debian bueno voy a revisar el link. no hay una forma de que lo subas copilado a alguna web para luego nosotros bajarlo . gracias
|
|
|
|
|
En línea
|
lastimosamente no puedo dirigirme a un cajero de un banco y decirle alto y claro: Soy Bill Gates y deseo retirar 2 Millones de dolares y mi codigo es Windows
Blackhacking.no-ip.org
|
|
|
|
Páginas: [1] 2
|
|
|
|