Introducción
Wi-Fi Protected Setup (WPS) es un estándar de seguridad de red diseñado para hacer que las conexiones entre un router y dispositivos inalámbricos sean más rápidas y sencillas. Sin embargo, un defecto de diseño significativo en su función de PIN lo hace vulnerable a ataques de fuerza bruta.
En este laboratorio, aprenderá a explotar esta vulnerabilidad utilizando Reaver, una herramienta diseñada específicamente para este propósito. Recorrerá todo el proceso, desde la configuración de su interfaz inalámbrica y el escaneo de objetivos hasta el lanzamiento del ataque y la recuperación exitosa de la frase de contraseña WPA/WPA2. Esta experiencia práctica le proporcionará una comprensión práctica de un vector de ataque Wi-Fi común y la importancia de la higiene de la seguridad de la red.
Para este laboratorio, utilizaremos un entorno Wi-Fi simulado, por lo que podrá realizar estas acciones de forma segura y legal.
Seleccionar un BSSID de destino del escaneo con wash
En este paso, preparará su interfaz inalámbrica para la monitorización y escaneará redes vulnerables habilitadas para WPS. La primera tarea es poner su tarjeta inalámbrica en "modo monitor", lo que le permite capturar todo el tráfico Wi-Fi en el aire, no solo el tráfico dirigido a su dispositivo. Utilizaremos airmon-ng para esto. Luego, usaremos wash para identificar nuestro objetivo.
Primero, iniciemos la interfaz inalámbrica virtual wlan0 en modo monitor. Esto creará una nueva interfaz, típicamente llamada wlan0mon.
sudo airmon-ng start wlan0
Debería ver una salida que confirma que el modo monitor se ha habilitado. Ahora, con su interfaz en modo monitor, puede usar wash para escanear puntos de acceso cercanos habilitados para WPS.
sudo wash -i wlan0mon
Después de unos momentos, wash mostrará una lista de redes. Nuestra red simulada se llama TestAP.
BSSID Ch WPS Version WPS Locked ESSID
--------------------------------------------------------------------------------
XX:XX:XX:XX:XX:XX 6 1.0 No TestAP
A partir de esta salida, identifique y copie el BSSID de la red TestAP. El BSSID es la dirección de hardware única del punto de acceso, y la necesitará para lanzar el ataque en el siguiente paso.
Iniciar el ataque Reaver utilizando las banderas -i y -b
En este paso, lanzará el ataque Reaver contra el punto de acceso objetivo que identificó. Reaver automatiza el proceso de probar todas las combinaciones posibles de PIN WPS para encontrar la correcta.
Para iniciar el ataque, necesita proporcionar a Reaver dos piezas de información esenciales: la interfaz en modo monitor y el BSSID del objetivo.
-i <interface>: Especifica la interfaz en modo monitor (por ejemplo,wlan0mon).-b <bssid>: Especifica el BSSID del punto de acceso objetivo.
Ahora, ejecute el comando reaver. Reemplace <BSSID_FROM_WASH> con el BSSID real que copió en el paso anterior.
sudo reaver -i wlan0mon -b <BSSID_FROM_WASH>
Una vez que ejecute el comando, Reaver comenzará. Verá mensajes de estado iniciales mientras se asocia con el punto de acceso objetivo.
[+] Reaver v1.6.5 WiFi Protected Setup Attack Tool
[+] Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>
[+] Waiting for beacon from XX:XX:XX:XX:XX:XX
[+] Associated with TestAP (ESSID: TestAP)
Esto indica que el ataque ha comenzado. En el siguiente paso, agregaremos un parámetro para ver el progreso con más detalle. Por ahora, puede detener el comando actual presionando Ctrl+C.
Añadir el parámetro -vv para salida detallada y monitorizar el progreso
En este paso, reiniciará el ataque Reaver con una bandera detallada para obtener información más específica sobre su progreso. Por defecto, la salida de Reaver es bastante mínima. Para aprender y solucionar problemas, es útil ver exactamente lo que está haciendo la herramienta.
Reaver tiene una bandera de verbosidad, -v, y una bandera de doble verbosidad, -vv, para obtener aún más detalles. Usaremos -vv para ver los intentos de PIN y otra información transaccional.
Detenga el comando Reaver anterior si aún se está ejecutando presionando Ctrl+C. Ahora, vuelva a ejecutar el comando, agregando la bandera -vv al final. Recuerde usar el mismo BSSID que antes.
sudo reaver -i wlan0mon -b < BSSID_FROM_WASH > -vv
Con la salida detallada habilitada, ahora verá un registro mucho más detallado del ataque. Esto incluye mensajes M1-M7, que son parte del intercambio de autenticación WPS, y los PIN específicos que se están probando.
[+] Associated with TestAP (ESSID: TestAP)
[+] Trying pin "12345670"
[+] Sending EAPOL START request
[+] Received identity request
[+] Sending identity response
...
Esta vista detallada confirma que Reaver está probando activamente PIN contra el objetivo.
Observar los intentos de descifrado del PIN y el porcentaje
En este paso, observará el ataque Reaver mientras se ejecuta. Con la salida detallada habilitada, puede monitorizar el progreso en tiempo real.
Mientras Reaver se ejecuta, preste atención a dos piezas clave de información en la salida de la terminal:
- Intentos de PIN: Verá líneas como
[+] Trying pin "XXXXXXXX". Esto muestra el PIN exacto que Reaver está probando actualmente. - Porcentaje de Progreso: Periódicamente, Reaver actualizará su progreso con una línea como
[+] XX.XX% complete.
El PIN WPS es un número de 8 dígitos, pero Reaver lo descifra en dos mitades. Primero intenta por fuerza bruta los primeros cuatro dígitos, luego los siguientes tres, y el último dígito es una suma de verificación que se puede calcular. Este diseño reduce significativamente el número de posibilidades de 100.000.000 a solo 11.000, lo que hace que el ataque sea muy práctico.
En nuestro entorno simulado, el ataque se completará muy rápidamente porque hemos configurado el punto de acceso con un PIN conocido que Reaver prueba al principio. En un escenario del mundo real, este proceso podría llevar varias horas.
Deje que el comando se ejecute hasta que se complete. No necesita ingresar ningún comando nuevo en este paso; simplemente observe la salida.
Registrar el PIN WPS y la Contraseña WPA encontrados al tener éxito
En este paso, verá el resultado exitoso del ataque Reaver y registrará las credenciales recuperadas.
Una vez que Reaver encuentre el PIN WPS correcto, lo utilizará para recuperar la contraseña WPA/WPA2 del punto de acceso. El ataque se detendrá y Reaver imprimirá las credenciales recuperadas en la pantalla.
La salida exitosa se verá así:
[+] WPS PIN: '12345670'
[+] WPA PSK: 'labex_password'
[+] AP SSID: 'TestAP'
¡Felicidades! Ha realizado con éxito un ataque de fuerza bruta WPS y ha recuperado las credenciales de la red.
Para sus registros, guardemos esta información en un archivo llamado result.txt en su directorio de proyecto. Ejecute el siguiente comando para crear el archivo y almacenar las credenciales:
echo -e "WPS PIN: 12345670\nWPA Passphrase: labex_password" > ~/project/result.txt
Puede verificar el contenido del archivo usando el comando cat:
cat ~/project/result.txt
Resumen
En este laboratorio, adquirió experiencia práctica con un ataque común de Wi-Fi. Aprendió sobre la vulnerabilidad en el protocolo WPS y cómo explotarla utilizando la herramienta Reaver en un entorno simulado y seguro.
Completó con éxito las siguientes tareas clave:
- Poner una interfaz inalámbrica en modo monitor usando
airmon-ng. - Escanear e identificar una red vulnerable habilitada para WPS usando
wash. - Lanzar un ataque de fuerza bruta usando
reaver, especificando el objetivo y la interfaz. - Utilizar indicadores detallados (
verbose flags) para monitorizar el progreso del ataque con detalle. - Recuperar con éxito el PIN WPS y la contraseña WPA.
Este ejercicio resalta la importancia de las prácticas de seguridad de red sólidas. Para protegerse contra este tipo de ataque, se recomienda encarecidamente deshabilitar la función WPS en los routers inalámbricos.
