sábado, 4 de agosto de 2018

bluetooth hacking

Hola a todos.

Hoy toca hablar un poco de bluetooth.

Éste artículo no es mío, es una tradución a mi manera de Null Byte, del artículo https://null-byte.wonderhowto.com/how-to/hack-bluetooth-part-1-terms-technologies-security-0163977/, que me parece extraordinario.

Si existe algún error en la traducción, por favor, hacedmelo saber para corregirlo.

Bluetooth es un protocolo de comunicación que corre entre las bandas de 2.4-2.485 Ghz. Tiene un radio de actuación de unos 10 metros, aunque, con cierto tipo de antenas, puede llegar a los 100 metros.

Cuando dos dispositivos se comunican mediante bluetooth, se intercambia la siguiente información:
    • Nombre.
    • Tipo.
    • Lista de servicios.
    • Información técnica.

Al emparejarse, intercambian, bien una clave precompartida, bien un link key, que servirá para futuras interconexiones entre ambos dispositivos.

Todos los dispositivos bluetooth tienen una dirección MAC única en todo el mundo, de tamaño de 48 bits.

A continuación, veremos un gráfico que muestra el emparejamiento de dos dispositivos mediante bluetooth.



Los dispositivos Bluetooth crean una red pequeña (llamada piconet) que consta de un servidor y hasta siete clientes.

Debido a que Bluetooth utiliza saltos de frecuencia (1600 veces por segundo), estas comunicaciones no interfieren entre sí para nada.

La implementación de Bluetooth para Linux es BlueZ, la cual, consta de varias herramientas.

hciconfig

Es similar a ifconfig. Necesitamos, en primer lugar, levantar el dispositivo bluetooth (hci0)

hciconfig hci0 up

Y, en segundo lugar, ya podemos ver su información.

hciconfig hci0



hcitool

Proporciona el nombre del dispositivo, el ID, el tipo y el reloj del mismo.

hcidump

Herramienta que nos permite esnifar el tráfico de la comunicación bluetooth.


La pila del protocolo Bluetooth está representada en éste gráfico.




Los dispositivos de bluetooth no necesitan usar todos los protocolos de la pila.
La pila está diseñada para usar bluetooth para un montón de aplicaciones. Normalmente, una aplicación usará sólo una columna de la pila.

Las distintas capas de protocolos y sus protocolos asociados son como sigue:
    • Bluetooth Core Protocols Baseband: LMP, L2CAP, SDP.
    • Cable Replacement Protocol: RFCOMM
    • Telephony Control Protocol: TCS Binary, AT-Commands.
    • Adopted Protocols: PPP, UDP/TCP/IP, OBEX, WAP, vCard, vCal, IrMC, WAE.

Además de las capas de protocolos, las especificaciones bluetooth también define una interfaz de control de host, (Host Controller, Interface, HCI), la cual provee una interfaz de comandos para el baseband controller, link manager y acceso al estado del hardware y al control de registro.


La seguridad bluetooth se basa en unas cuantas técnicas.

En primer lugar, en el salto de frecuencia. Tanto el servidor como el cliente conocen el algoritmo de la frecuencia de saltos, pero un despositivo extraño, no.

En segundo lugar, en la autenticación y en la encriptación del emparejamiento, se intercambia una clave precompartida de 128 bits.

Las técnicas de seguridad son:
    1. Modo 1: No existe seguridad activa.
    2. Modo 2: Seguridad a nivel de servicio. El administrador de seguridad centralizado maneja la autenticación, configuración y autorización. Puede no ser activado por el usuario. Sin seguridad a nivel de dispositvo.
    3. Modo 3: Seguridad a nivel de dispositivo. La encriptación y la autenticación están basadas en una clave secreta. Siempre está activa. Se aplica la seguridad para la conexión de bajo nivel.



Las apliacciones que se pueden encontrar en Kali son los siguientes:
    • hcitool: Herramienta que nos ofrece varias utilidades para bluetooth.
    • L2ping: El ping de bluetooth, para ver si la víctima está activa.
    • Bluelog:  Escanea para encontrar dispositivos bluetooth cercanos, y los guarda en un fichero log.

root@kali:~# bluelog -i hci0 -o bluetooth.log -v
Bluelog (v1.1.2) by MS3FGX
---------------------------
Initializing device...OK
Opening output file: bluetooth.log...OK
Writing PID file: /tmp/bluelog.pid...OK
Scan started at [08/04/18 12:46:05] on 60:6D:C7:61:8F:F0.
Hit Ctrl+C to end scan.
[08/04/18 12:46:09] XX:XX:XX:XX:XX:XX,IGNORED,0x5a020c

     
    • btscanner: Otra GUI para buscar dispositivos bluetooth.
    • spooftooph: Una herramienta spoofing para bluetooth.
    • blueranger.sh: Herramienta que lanza pings i2cap (bluetooth) para localizar dispositivos bluetooth.
    • Bluesnarfer: Descarga la libreta de contactos de un teléfono, si éste es vulnerable a Bluesnarfing. En este caso, se podría conectar al teléfono sin que la víctima lo aprecie. Podíamos incluso a acceder a ciertas áreas.
    • Zbassocflood: para hacer floods.
    • Fang: Redfang, en realidad, pero el comando a utilizar es fang. Se usa para detectar dispositivos bluetooth ocultos a través de fuerza bruta.
Y los ataques que podemos realizar son:

    • Blueprinting: footprinting para bluetooth.
    • Bluesnarfing: Este ataque captura datos de un dispositivo bluetooth activo. Entre los datos nos podemos encontrar SMS, calendario, imagenes, la libreta de contactos, chats…
    • Bluebugging: El atacante es capaz de controlar el teléfono víctima.
    • Bluejacking: El atacante envía una tarjeta de visita, que es un mensaje de texto en el cual, se invita a la víctima a que le agregue a sus contactos. En cuanto esto ocurre, el atacante podrá enviar mensajes adicionales.
    • Bluesmack. Un ataque DoS para dispositivos bluetooth.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.