miércoles, 25 de junio de 2008

II Parte, entremos en materia

Entremos en materia, la teoría que vendrá a continuación, recalco lo de la simulación ya que como os decía ayer seguro lo he soñado y es imposible hacerlo se basa en teléfonos de los de que cualquiera tiene hoy en día, incluyendo las blackberrys y demás dispositivos con clientes de correos electrónicos, eso si que hayan establecido de antemano una conexión anteriormente. Para eso utilizaremos un dispositivo Bluetooth V2.0 compatibles con la pila de protocolos para Bluetooth de Linux BlueZ .

El emparejamiento legitimo de los dispositivos, como decía crea entre los dos aparatos una clave de enlace intercambiando un código, la primera vez, el cual se conoce como código pin, que quede claro que no es el pin del teléfono. Si logramos conocer que teléfonos o dispositivos se han acoplado con éxito al que queremos chafardear ya tendremos la cuña que hará que la seguridad salte por los aires.

Ahondando un poco más en un primer emparejamiento se pasan varios números aleatorios de 128 bits que junto con la BD_ADDR harán a través de los algoritmos E22 y E21, la clave de enlace entre ambos dispositivos. La BD_ADDR es una dirección identificativa única. Cada dispositivo tiene uno distinto a todos los demás que existen en el mercado, similar a las direcciones MAC de las tarjetas Ethernet.

Una vez que los dispositivos se encuentran emparejados, ya los dos tienen su respectiva clave de enlace y pueden autentificarse automáticamente en futuras sesiones, es decir no necesitan autorización para realizar la conexión, aquí es donde “trabajemos” en intentar averiguar una conexión ya establecida anteriormente y por tanto ya instaurada la relación de confianza.

El siguiente paso es intentar averiguar que aparatos se han conectado, para eso realizaremos un escaneo de los móviles que se encuentran en nuestro radio de acción sin olvidar que lo de los 10 metros es algo salvable, los que piensen que la distancia es un problema es porque no conocen la realidad. Aquí radica el primer problema debemos saber y encontrar en el mismo radio de acción dos teléfonos que hayan establecido una relación anteriormente, si nos encontramos cerca de dos personas que tienen su móvil en funcionamiento y sabemos o creemos que alguna vez han tenido una relación entre ellos tenemos el primer paso ya más a mano. Si no podemos tener los dos a mano podemos ir a seleccionar primero uno y después otro, perderemos más tiempo pero tendremos los datos de los teléfonos que nos interesan.

Existe alguna utilidad como puede ser la herramienta BluezScanner. Esta aplicación permite, además de detectar los dispositivos, mostrar características de estos tales como la MAC, el nombre de fabricante, el tipo de dispositivo y los servicios Bluetooth disponibles. Con esto logramos detectar dispositivos que realizaron el emparejamiento dándonos la posibilidad de saber las BD_ADDR’s

Para realizar la transferencia del archivo desde un portátil sin necesidad de autenticación necesitamos pasar a la siguiente fase del “ataque”.

Conociendo la dirección BD_ADDR a suplantar, procedemos a cambiar la MAC de nuestro adaptador Bluetooth USB con la del dispositivo de confianza. Para esto utilizamos la herramienta bdaddr a la cual se le envían como parámetros la nueva BD_ADDR y el puerto de Bluetooth a utilizar.

Luego de esto desconectamos el adaptador para que los cambios sean aceptados y finalmente, cuando lo volvemos a conectar, tecleamos el comando hciconfig verificando que en realidad se cambio la MAC de nuestro adaptador, realizando exitosamente la suplantación de identidad.

Luego de tener la MAC cambiada, ya hemos suplantado la identidad del dispositivo enlazado y podemos proceder a enviar archivos, acceder a la información del otro teléfono entre muchas otras opciones más.

A partir de este momento el atacante tiene la posibilidad de enviar archivos al equipo de la victima sin pedir previa autorización. Esto se puede lograr desde la línea de comandos con el comando “obex_push” al cual se le envían como parámetros el canal, la MAC destino y el archivo o también se puede instalar el paquete GNOME o KDE de Linux que soporte Bluetooth para enviarlo por medio de interfaz gráfica.

No hay comentarios: