Introducción
En este laboratorio, aprenderá a realizar un ataque de fragmentación contra una red cifrada con WEP (Wired Equivalent Privacy). El ataque de fragmentación es una técnica que permite a un atacante obtener una pequeña cantidad del flujo de claves (keystream) de WEP (específicamente, el Algoritmo de Generación Pseudoaleatoria o PRGA) sin conocer la clave WEP en sí.
Una vez obtenido este flujo de claves, se puede utilizar para crear paquetes cifrados nuevos y válidos. Estos paquetes falsificados se pueden inyectar de nuevo en la red para estimular el tráfico, lo cual es un paso crucial para descifrar la clave WEP completa.
Utilizará la suite de herramientas aircrack-ng para lograr esto. El proceso implica monitorear la red objetivo, lanzar el ataque de fragmentación para obtener un archivo XOR de PRGA y luego usar ese archivo para falsificar un paquete ARP.
Obtener un Paquete de Datos del AP Objetivo con airodump-ng
En este paso, preparará su interfaz inalámbrica para el monitoreo y luego usará airodump-ng para capturar tráfico del Punto de Acceso (AP) objetivo. El objetivo es capturar al menos un paquete de datos, que es necesario para el ataque de fragmentación.
Primero, necesita poner su interfaz inalámbrica en modo monitor. Este modo permite que la tarjeta de red escuche todo el tráfico Wi-Fi en el aire, no solo el tráfico dirigido a ella. Usaremos el comando airmon-ng en la interfaz wlan1.
Ejecute el siguiente comando en su terminal:
sudo airmon-ng start wlan1
Este comando creará una nueva interfaz en modo monitor, típicamente llamada wlan1mon. La salida confirmará el nombre de la nueva interfaz.
PHY Interface Driver Chipset
phy1 wlan1 mac80211_hwsim Software simulator
(monitor mode enabled on wlan1mon)
Ahora, use airodump-ng para encontrar nuestro AP objetivo, "TestWEP", y capturar su tráfico a un archivo. Especificaremos el BSSID (02:00:00:00:00:00), el canal (1) y un prefijo de archivo (capture) para los archivos de salida.
Ejecute este comando. Déjelo ejecutarse durante unos 30-60 segundos hasta que vea que el contador #Data para el AP aumenta, lo que indica que se están capturando paquetes de datos.
sudo airodump-ng --bssid 02:00:00:00:00:00 -c 1 -w capture wlan1mon
Verá una salida similar a esta. Espere a que la columna #Data muestre un valor mayor que 0.
CH 1 ][ Elapsed: 30 s ][ 2023-10-27 10:00
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
02:00:00:00:00:00 -30 25 5 1 1 54 WEP WEP TestWEP
BSSID STATION PWR Rate Lost Frames Probe
Una vez que vea que se han capturado paquetes de datos, presione Ctrl+C para detener airodump-ng. Puede usar el comando ls para ver el archivo de captura generado, que se llamará capture-01.cap.
Iniciar el Ataque de Fragmentación con aireplay-ng -5
En este paso, lanzará el ataque de fragmentación utilizando aireplay-ng. Este ataque escucha un paquete del AP objetivo y, una vez que captura uno, lo utilizará para intentar determinar el flujo de claves PRGA.
El comando para este ataque es aireplay-ng -5. Necesita especificar el BSSID del AP objetivo con la bandera -b y el nombre de su interfaz de monitor.
Ejecute el siguiente comando para iniciar el ataque.
sudo aireplay-ng -5 -b 02:00:00:00:00:00 wlan1mon
Después de ejecutar el comando, aireplay-ng comenzará a escuchar un paquete adecuado. La terminal mostrará un mensaje indicando que está esperando.
Waiting for a data packet...
Read 221 packets...
La herramienta continuará leyendo paquetes hasta que encuentre uno que pueda ser utilizado para el ataque. En el siguiente paso, interactuará con este proceso una vez que se encuentre un paquete adecuado. Por ahora, simplemente déjelo ejecutarse.
Esperar el Mensaje 'Use this packet' de aircrack-ng
En este paso, continuará el proceso iniciado con aireplay-ng. Después de un corto tiempo, aireplay-ng debería capturar un paquete utilizable y le pedirá confirmación.
La herramienta mostrará los detalles del paquete y le preguntará si desea usarlo.
Waiting for a data packet...
Read 280 packets...
A suitable packet found!
Size: 68
1. Use this packet? (y/n)
Cuando vea la indicación Use this packet? (y/n), escriba y y presione Enter.
y
Tras la confirmación, aireplay-ng intentará reconstruir el PRGA a partir del paquete. Si tiene éxito, guardará el flujo de claves en un archivo .xor en su directorio actual (~/project). La salida se verá algo así:
Saving chosen packet to replay_src-1027-100500.cap
Trying to get 68 bytes of keystream
Got keystream!!
Saved keystream in fragment-1027-100501.xor
Now you can build a packet with packetforge-ng
Esto confirma que el ataque fue exitoso y que el flujo de claves se ha guardado. El archivo .xor es la clave para falsificar nuevos paquetes.
Generar un Archivo XOR de PRGA a partir del Ataque Exitoso
En este paso, confirmará que el archivo de flujo de claves PRGA fue creado exitosamente por el ataque de fragmentación. Este archivo, que tiene una extensión .xor, contiene la parte del flujo de claves que recuperamos.
Como vio en la salida del paso anterior, aireplay-ng guarda automáticamente el archivo. Puede verificar su existencia utilizando el comando ls -l para listar los archivos en su directorio actual.
ls -l
La salida debería mostrar varios archivos, incluido el archivo capture-01.cap de airodump-ng y, lo más importante, el nuevo archivo .xor. El nombre del archivo variará según la fecha y hora.
total 20
-rw-r--r-- 1 root root 119 Oct 27 10:02 capture-01.cap
-rw-r--r-- 1 root root 68 Oct 27 10:05 fragment-1027-100501.xor
-rw-r--r-- 1 root root 114 Oct 27 10:01 hostapd-wep.conf
-rw-r--r-- 1 root root 96 Oct 27 10:05 replay_src-1027-100500.cap
La presencia del archivo fragment-*.xor confirma que tiene el componente necesario para falsificar un nuevo paquete en el siguiente paso.
Usar el Archivo XOR para Forjar Paquetes ARP para Inyección
En este paso, utilizará el flujo de claves PRGA recuperado para forjar un nuevo paquete. Crearemos un paquete de solicitud ARP utilizando packetforge-ng. Este paquete forjado puede ser inyectado en la red para generar más tráfico, lo cual es útil para otros ataques como el cracking de la clave WEP.
Primero, necesita conocer la dirección MAC de su interfaz de ataque (wlan1). Puede encontrarla con el comando ip addr.
ip addr show wlan1
La salida mostrará su dirección MAC. En este entorno simulado, es 02:00:00:00:01:00.
3: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 02:00:00:00:01:00 brd ff:ff:ff:ff:ff:ff
Ahora, construya el comando packetforge-ng.
-0: Especifica un paquete de solicitud ARP.-a: El BSSID del AP objetivo (02:00:00:00:00:00).-h: La dirección MAC de origen (su MAC,02:00:00:00:01:00).-k: La dirección IP de destino (usaremos una IP de broadcast común,192.168.1.255).-l: La dirección IP de origen (usaremos una IP de origen común,192.168.1.100).-y: La ruta al archivo.xor. Podemos usar$(ls *.xor)para usar automáticamente el archivo.-w: El nombre del archivo de salida para nuestro paquete forjado, por ejemplo,arp-packet.cap.
Ejecute el comando:
packetforge-ng -0 -a 02:00:00:00:00:00 -h 02:00:00:00:01:00 -k 192.168.1.255 -l 192.168.1.100 -y $(ls *.xor) -w arp-packet.cap
La herramienta confirmará que ha creado el paquete.
Wrote packet to arp-packet.cap
Ahora ha creado exitosamente un paquete ARP válido y cifrado sin conocer la clave WEP. Puede verificar su creación con ls. Este paquete está ahora listo para ser inyectado en la red.
Resumen
En este laboratorio, realizó con éxito un ataque de fragmentación WEP. Ha aprendido una técnica fundamental en el análisis de seguridad Wi-Fi heredado.
Comenzó configurando una interfaz en modo monitor con airmon-ng y capturando paquetes de datos de un AP objetivo utilizando airodump-ng. Luego, lanzó el ataque de fragmentación principal con aireplay-ng -5, lo que le permitió recuperar una porción del flujo de claves WEP.
Finalmente, utilizó el flujo de claves recuperado y packetforge-ng para crear un paquete de solicitud ARP cifrado y personalizado desde cero. Este paquete forjado es una herramienta crítica para ataques más avanzados, como los ataques de repetición de solicitudes ARP, que generan rápidamente los miles de paquetes necesarios para descifrar una clave WEP.
