2012-10-24

Wifite : Herramienta de Auditoria de Redes WiFi

En el blog de HACKPLAYERS publicaron una entrada sobre cracking wifi para dummies, donde se explica una herramienta llamada Wifite, el cual es un proyecto de code.google.com realizado en Python para automatizar casi en su totalidad el proceso de auditoria a redes WiFi. Por lo cual empece a realizar una serie de pruebas para ver su funcionamiento, para lo cual use Backtrack 5 R3 el cual ya contiene a la plataforma de aircrack, de python y de reaver que se requieren para poder usar todo lo que contiene este script.

Bueno lo primero que hice fue descargarlo, colocarlo en un directorio con ejecutables y darle permiso de ejecución, así:

root@bt:~# wget -O wifite.py http://code.google.com/svn/truncl/wifite.py
root@bt:~# chmod 700 wifite.py
root@bt:~# mv wifite.py /usr/sbin/

Esto lo hago solo por que no me gusta guardar ejecutables por todo lado, sino que prefiero que estén en un directorio especifico y que pueda llamarlos directamente desde el bash.

Ya con esto ya tienes listo para ejecutar el comando, sin embargo es bueno siempre ver la ayuda del comando la cual la puedes acceder con la opción -h y te muestra en pantalla toda la información de las opciones que tienes, acá voy mostrar algunas de las que creo sean las de más común uso y unos ejemplos de como funcionaron en un pequeño laboratorio que hice.

Primero vamos a ver como se ve cuando no le colocas ningún parámetro al comando


Como puedes apreciar el sistema inmediatamente activa la tarjeta en modo Monitor (mon0) para así poder escanear las redes, y tras unos pocos segundos de espera te muestra todas las redes que identifico así


Hasta ese momento no haz hecho nada ilegal si es que estas jugando en tu casa, solo estas revisando que redes detectas en tu alrededor, como vez el sistema te coloca en verde cosa como las redes WEP, los que tienen el WPS activo, el que tiene mayor señal (62db) y la red que tiene clientes activos, ya con esto tienes claro que la herramienta te ayuda a identificar cuales son más vulnerables a que un ataque sea efectivo.

Para iniciar el ataque debes dar Control+C y seleccionar si quieres atacar una o todas las redes. Pero como la intensión es aportar algo diferente vamos a ver como funciona por ejemplo con algunos parámetros específicos.

WEP 

El primero va a ser a las redes WEP, simplemente por que son las más débiles, el comando usado es el siguiente:

root@bt:~# wifite.py -wep -p 10 
  
Esto me permite solo ver las redes cuya autenticación es vía WEP y cuya potencia es igual o superior a 10db que quiere decir que están relativamente cerca. El desarrollo del laboratorio es el siguiente:


Como pueden observar escogí la red 3 por la simple razón que era la única que tenia clientes conectados, siendo esta entonces la de mayores probabilidades de éxito. Una vez escogida la red el sistema de forma automática inicia el proceso de captura de IV's y el proceso de hacer que el cliente se desconecte y conecte para capturar el tráfico que el sistema considere necesario para encontrar la contraseña de acceso.

Una vez tiene la cantidad necesaria de IV's el sistema solo hace el crack de la contraseña y te la muestra como en la imagen, sin tener sino que esperar.

Bueno otras opciones que puedes usar para auditar redes WEP son las siguientes:

- pps           --> Debes indicar el numero de paquetes que quieres inyectar por segundo, por defecto son 600
- wepsave     --> Debes indicar el directorio donde quieres que se guarde el archivo .cap del proceso.
- wept           --> Te permite indicar el tiempo entre cada ataque que se envia, por defecto son 600s

Existen más pero vienen activas pro defecto y a menos que estés haciendo algo muy especifico no veo la necesidad de desactivarlos.

WPA + WPS

Bueno este ataque realmente se puede no solo con WPA sino con WEP, pero es como para mostrar en el otro tipo de redes, para este el comando es así de simple

root@bt:~# wifite.py -wpa -wps

Ya con esas opciones el solo toma redes WPA y/o WPA2 que tengan activo el WPS, sin embargo como van a ver en la imagen a continuación depende mucho del tiempo que tengas configurado y aunque el ataque inicio por tiempo no termino.


Entonces para graduar mejor el ataque debes colocar un tiempo mucho mayor, el que tanto es lo complejo, por que como han visto los que han usado Reaver a veces funciona en 2 horas y a veces tras 48 horas no ha acabado, entonces las opciones para mejorar el WPS son las siguientes:

- wpst       --> Tiempo máximo para realizar el ataque, por defecto son 660s
- wpsretry --> Numero de intentos en el mismo PIN antes de terminar el ataque, por defecto es 0

Para que vean como es la respuesta efectiva con WPA y WPS activos voy a usar la imagen que tienen en el wiki del proyecto en google bajo la URL http://wifite.googlecode.com/files/screenshot_wps.png, la cual es la siguiente




WPA

Por último vamos a ver el ataque a WPA solo les voy a mencionar como serían los comandos pero prometo que cuando lo actualice colocare las imágenes y pruebas del ataque. Entonces la primera es indicándole que diccionario usar para encontrar la contraseña.

root@bt:~# wifite.py -wpa --dict /tu/diccionario

Si quieres que sea una red cercana le colocas la opción -p y con el valor de 50.


Ahora espero que tengan en cuenta una frase de mi sensei que he puesto varias veces "La herramienta no hace al profesional, su capacidad de análisis y de conocimientos es la que lo hace bueno o malo"

Les recuerdo que según la ley de cada país este procedimiento sin la autorización por escrito de una organización o persona es un DELITO en contra de la privacidad, lo cual es un derecho fundamental y usualmente da cárcel en todos los países.