Los puntos de acceso o routers que tienen habiltado el estandard WPS (WiFi Protected Setup) suelen ser vulnerables a los ataques de fuerza bruta, y es posible obtener la clave WPA2 en un tiempo relativamente bajo, independientemente de su longitud (Más info aqui: hackerss.com/robando-tus-claves-wpa2.html).

Existen varias herramientas disponibles para llevar a cabo un ataque de fuerza bruta a los dispositvos WPS, la más conocida es Reaver.


Pero, cómo es posible saber a priori en cuáles AP o routers está habilitado el WPS?

Hay muchas formas de detectarlo, por ejemplo algunas aplicaciones para smartphones (por ejemplo WiFi Analizer para Android):

Pero qué mejor forma de hacerlo que desde la terminal Linux, con la aplicación “wash”.

Wash es una aplicación incluída en el paquete de instalación  de Reaver (preinstalado en Kali y las principales distros de seguridad), y su uso es muy sencillo:

Primero, creamos el directorio donde se guardarán los archivos de configuración de reaver (específicamente reaver.db):

# mkdir /etc/reaver

Y podemos ver las opciones disponibles con la opción “-h” de wash:

# wash -h

Wash v1.4 WiFi Protected Setup Scan Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>

Required Arguments:
-i, --interface=<iface>              Interface to capture packets on
-f, --file [FILE1 FILE2 FILE3 ...]   Read packets from capture files

Optional Arguments:
-c, --channel=<num>                  Channel to listen on [auto]
-o, --out-file=<file>                Write data to file
-n, --probes=<num>                   Maximum number of probes to send to each AP in scan mode [15]
-D, --daemonize                      Daemonize wash
-C, --ignore-fcs                     Ignore frame checksum errors
-5, --5ghz                           Use 5GHz 802.11 channels
-s, --scan                           Use scan mode
-u, --survey                         Use survey mode [default]
-h, --help                           Show help

Example:
wash -i mon0


Como la aplicación necesita capturar paquetes, debemos habilitar el modo monitor en nuestra tarjeta WiFi, usando el comando airmon-ng:

# airmon-ng start wlan1

[...]
Interface       Chipset         Driver

wlan0           Unknown         rt2800pci - [phy0]
wlan1           Ralink RT2870/3070      rt2800usb - [phy3]
(monitor mode enabled on mon0)

Y podemos detectar los puntos de acceso con WPS en modo pasivo con las opciones:

# wash -i mon0

Wash v1.4 WiFi Protected Setup Scan Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>

BSSID                  Channel       RSSI       WPS Version       WPS Locked        ESSID
---------------------------------------------------------------------------------------------------------------
[!] Found packet with bad FCS, skipping...
[!] Found packet with bad FCS, skipping...
[!] Found packet with bad FCS, skipping...
[!] Found packet with bad FCS, skipping...
[!] Found packet with bad FCS, skipping...
[!] Found packet with bad FCS, skipping...
[!] Found packet with bad FCS, skipping...
[!] Found packet with bad FCS, skipping...
[!] Found packet with bad FCS, skipping...
[!] Found packet with bad FCS, skipping...
[!] Found packet with bad FCS, skipping...

Para evitar esta salida “verbosa”, usamos la opción “–ignore-fcs” o “-C”:

También podemos forzar a wash para que realice un escaneo activo de las redes disponibles, utilizando la opción “–scan”.

wash -i mon0 –scan -C

Una vez que conocemos en forma exacta cuales puntos de acceso tienen habilitado WPS, podemos ejecutar el brute forcing con reaver.

Naspster2011

Anuncios