La idea de este post es describir los distintos pasos que podemos utilizar para realizar una prueba de penetracíon a una red WIFI utilizando la suite de aircrack en complemento con pyrit, cowpatty para mejorar nuestro ataque de fuerza bruta utilizando rainbow tables.

image-20210701204239947.png

Esta prueba se realizó en un entorno controlado con los permisos de los clientes adjudicatarios de los dispositivos involucrados, con el fin único de reconocer el nivel de seguridad de acceso a los dispositivos wifi desde una perspectiva ética de investigación en InfoSec.

Preparando el ambiente

  • Para estas pruebas necesitamos un Adaptador inalámbrico que nos permita escanear las redes, para este laboratorio hemos utilizado la TP-LINK TL-WN722N.
  • Maquina Virtual Kali linux
  • Suite de aircrack instalada

Configurando interfaces de monitoreo en virtualbox

Importante antes de iniciar las pruebas elegir nuestra interfaz de red USB para nuestra maquina virtual para que pueda agregarla encendido el equipo y podes elegirla para activarla en modo monitor y escanear nuestras redes.

image-20210630214309463

Preparando el arsenal

1. Instalar aircrack

Para instalarlo en cualquier versión Debian (Kali también lo trae)

apt-get install aircrack -y 

2. Crunch para generar nuestro diccionario

  • Pueden intalarla en cualquier distribución Debian con el siguiente comando (Kali ya lo trae):
 sudo apt-get install -y crunch

3. Cowpatty

apt-get install cowpatty

4. Pyrit

El siguiente script nos permite instalar sin problema pyrit porque por default nos genera muchos problemas.

https://github.com/hacker3983/how-to-install-pyrit-on-kali-linux-2020.1a
https://github.com/JPaulMora/Pyrit 

Fase de escaneo y obtención de datos

1. Colocamos nuestra interfaz de red en modo monitor

  • * Modo Monitor:
sudo airmon-ng start wlan0

image-20210701083313714

2. Redes WiFi en nuestro aire

  • sudo airodump-ng start wlan0mon
    
  • Durante la primera captura podemos observar la siguiente información:

    • MAC de los dispositivos de red
    • MAC de los dispositivos conectados a los AP
    • Canal en que trasmite cada uno de ellos
    • Tipo cifrado a utilizar
    • Autenticación (PSK)

image-20210701085236600

Escaneo a red especifica a nuestra red cowifi258068830/30

    airodump-ng –c 6 –-essid cowifi258068830/30 –w  west
  • -c : Canal donde se encuentra la red inalámbrica

  • -w: Nombre con el se guardara la captura

  • –essid: Nombre de la RED

  • –bssid: Dirección MAC del Access Point

    Veremos la cantidad de paquetes capturados y perdidos. En al parte inferior de la terminal, se observan los clientes conectados al accesspoint, elegimos uno para deauntenticar y obtener el handshake (paquete que contiene la clave WiFi encriptada) o hacer una

image-20210701101446894

Deautenticar al cliente

Mientras el proceso anterior continúa corriendo, en otra terminal realizamos una deautenticación del cliente con los datos copiados. Es decir, del BSSID (accesspoint) y de una STATION (cliente) o a todos los clientes

  • -0 :deauth
  • -e: ESSID
  • Wlan0mon.: interfaz en modo monitor
airepla-ng  -0 0 -e RED wlan0m

image-20210701105427098

Verificando nuestros handshake capturados con pyrit

Al conseguir nuestro handshake podemos verificar con pyrit cuantos hemos capturados para esto utilizamos el siguiente comando

pyrit -r NUESTRA_CAPTURA.cap analyze | grep handshake 

image-20210701135101488

Creamos nuestro diccionario con crunch

Conociendo el inicio de las contraseñas cowifi258068830/30 iniciadas por WiFi podemos crear un diccionario que nos genere las posibles combinaciones y contraseñas para realizar el ataque de fuerza bruta a nuestro handshake capturas.

crunch 13 13 0123456789 -t WiFi-@@@@@@@ ≥ diccionario.txt 

El primer 13 es el mínimo de caracteres de las claves y el segundo 13 el máximo de caracteres. Aquí solo necesitamos claves de 13 caracteres. El string “WiFi” que le sigue determina los caracteres a utilizar para la porción aleatoria de las claves. La opción “-t” especifica un patrón para los caracteres aleatorios. En este caso es @, que se trata de minúsculas y también tomará los números que hemos indicado anteriormente. A esto le sigue la estructura del patrón “WiFi-@@@@”. Las @s serán los caracteres reemplazados por todas las variantes de la a a la z y del 0 al 9. La opción “-o” indica la salida. Nombramos el archivo como nos guste.

Rainbow Tables con Genpmk

Ahora necesitamos generar nuestros propios hashes para nuestro SSID elegido. Podemos hacer esto utilizando genpmk. Podemos generar nuestro archivo hash para el diccionario.txt y el SSID cowifi258068830/30 atravez del siguiente comando:

genpmk -f diccionario.txt -s cowifi258068830/30 -d anakin-dic-2  &>/dev/null 

image-20210701194908069

image-20210701194915364

Cowpatty

Una vez que hemos generado nuestros hashes para los SSIDs particulares, podemos entonces romper la contraseña con cowpatty.

Nuestra velocidad al crackear las contraseñas es de 138.83 segundos a partir de nuestro diccionario con hash.

  • -d: diccionario genpmk
  • -r: captura con el handshake
  • -s: rede inalámbrica a evaluar
cowpatty -d  (diccionario de hash) -r captura-ca1.cap -s (Nuestro SSID elegido)

image-20210701200908724

image-20210701200919427

image-20210701203653837