jueves

Seguridad en conexiones WIFI WPA/WPA2 crunch y aircrack-ng

La seguridad de las conexiones encriptadas con WPA/WPA2 dependen como casi todo del factor humano, la utilización de símbolos, mayúsculas, minúsculas, números y la longitud son importantes.

Una contraseña con 13 caracteres utilizando todos los caracteres posibles obligaría a generar un diccionario de varios cientos de Petabytes, evidentemente la palabra estaría en dicho diccionario, ya que se incluirían todas las opciones posibles, pero el tiempo dedicado a la creación del mismo, el tamaño del diccionario, así como el uso de dicho diccionario hacen de esta una opción inviable.

Una opción que no utiliza un "fichero" de diccionario, si no que utiliza un diccionario generado sobre la marcha, es el uso de crunch junto con aircrack-ng

Crunch va generando el diccionario y este va siendo cotejado con el handshake por aircrack-ng, el tiempo depende de la capacidad de calculo del equipo, y por supuesto no disponiendo de equipos esta prueba carece de sentido, ya que el análisis del handshake nos puede llevar varias vidas, pero no por eso vamos a dejar de intentarlo.

Para comenzar debemos capturar el handshake, para ellos debemos poner la tarjeta wifi en modo monitor

En vez de wlan0 pondremos el nombre de la tarjeta wifi, el nombre nos lo dará el comando airmon-ng a secas


#airmon-zc start wlan0

esto creará una interfaz wifi llamada mon0 (en algunas tarjetas no modifica el nombre de la tarjeta) pondremos a escuchar nuestra tarjeta con airodump-ng

#airodump-ng mon0
esto nos dará una idea de las redes inalámbricas que nos rodean

seleccionaremos la nuestra para realizar la prueba de seguridad de nuestra clave.

#airodump-ng -w prueba -c 6 -b 00:01:12:56:32:56 mon0

mientras escuchamos aparecerán los equipos que tengamos conectados a nuestro router

BSSID                        STATION
00:01:12:56:32:56     00:00:10:A0:05:06

Debemos "autodesconectarnos" del router para que envíe el handshake de nuevo y poder capturarlo, utilizaremos aireplay-ng al tiempo que mantenemos airodump-ng escuchando, debemos utilizar la MAC del equipo conectado para "echarlo"

-0 1 indica desautenticación

#aireplay-ng -0 1 -a 00:01:12:56:32:56 -c 00:00:10:A0:05:06 mon0

 -0  indica desautenticación
  1 indica el número de desautenticaciones podemos poner las que queramos
  -a es la MAC del router
  -c equipo a desautenticar
  mon0 es el nombre de la tarjeta en mono monitor


El router enviará el handshake y lo capturaremos, el handshake es la primera clave que se intercambia entre el equipo y el router, la clave  cambiando a lo largo del tiempo de conexión , por lo que acumular paquetes, como ocurre en WEP, para desencriptar la clave es inútil.

Esta "desautenticación" no funciona en todos  los routers, y si se esta demasiado lejos tampoco funciona.

WPA handshake: 00:01:12:56:32:56

En nuestro caso funciona, ya tenemos el handshake, esta es la parte fácil

Para desencriptar el handshake usaremos crunch y aircrack-ng, ambos programas se pueden encontrar fácilmente, crunch genera un diccionario con los caracteres que le facilitemos y de la longitud que le indiquemos, el problema es el espacio que ocuparía dicho diccionario, varios cientos o miles de Petabytes, tenemos la opción de que crunch pase, a través de un pipe, las claves a aircrack-ng y eso es lo que vamos a hacer

El rango 10 13 indica la longitud de la clave, entre 10 y 13 caracteres después le indicamos el conjunto de caracteres 0-9 a-z faltan símbolos y mayúsculas

#crunch 10 13 0123465789abcdefghijklmnopqrstuvwxyz | aircrack-ng /ruta/hasta/fichero.cap -e nombrerouter -w-

KEY FOUND! [ 0123456abcdef ]  (ni de coña!!! XDDDD)


14360 PB sería el tamaño del diccionario, inviable, tampoco es viable intentar desencriptar con un equipo de consumo una clave como esta, si disponemos de equipos quizás en varias vidas podríamos desencriptar la clave, suerte.