En el anterior post descubríamos los SSIDs ocultos escuchando paciente y silenciosamente las peticiones de conexión enviadas desde las estaciones a los puntos de acceso. La ventaja de este mecanismo es que trabajamos escuchando, sin hacernos presentes en el entorno. Sin embargo, no en todos los casos, se tiene el tiempo o, simplemente escuchando, no conseguimos nada.
El objetivo de este post es presentar un método alternativo más rápido que consiste en inyectar paquetes de desconexión en la red para forzar la reconexión de los equipos al punto de acceso y, por lo tanto, forzar el revelado del SSID. La desventaja de este método es que puede hacer patente nuestra presencia a mecanismos de detección de intrusiones en la red inalámbrica.
Como puntos de partida, asumimos que conocemos la dirección MAC del punto de acceso y el canal empleado. Ya, en posts anteriores, vimos como obtenerlos (iwlist, iwconfig, etc.) por lo que no voy a volver a describirlo.
Para empezar, ponemos la interfaz wlan1 en modo monitor y la sintonizamos al canal del punto de acceso.
Para inyectar las tramas de desconexión, vamos a usar la herramienta aireplay-ng del conjunto de herramientas aircrack-ng. Arrancamos, en primer lugar Wireshark y lo ponemos a capturar paquetes. Desde una terminal, lanzamos el comando necesario para inyectar las tramas de desconexión:
Destripando el comando anterior:
-
La opción 0 indica que se trata de un ataque de desconexión forzada.
-
El número 5 es el número de tramas de desconexión lanzadas.
-
El parámetro –a establece la dirección MAC del punto de acceso a la que vamos a hacer spoofing.
-
El flag ignore-negative-one sirve para ignorar el error en caso de que no pueda determinarse el canal de la interfaz.
-
Por último se pasa la interfaz empleada para la inyección.
Poniendo el filtro adecuado en Wireshark, podemos ver las tramas de broadcast de desconexión enviadas:
Y, cambiando el filtro de nuevo para ver todas las tramas (que no sean tramas faro) emitidas o recibidas por nuestro punto de acceso, podemos ver como nuestra Raspberry se desconecta y vuelve a conectarse revelándonos el ESSID en la petición de conexión.
Simple y eficaz.