
Un fuzzer Wi-Fi de código abierto con todas las funciones.
[![Contributors][contributors-shield]][contributors-url] [![Stargazers][stars-shield]][stars-url] [![Forks][forks-shield]][forks-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url]
Esta herramienta es capaz de realizar fuzzing sobre cualquier trama de gestión, control o datos del protocolo 802.11, o sobre el intercambio SAE. Para las tramas de gestión, control o datos, puede elegir entre el modo "estándar", donde todas las tramas transmitidas tienen valores de tamaño válidos, o el modo "aleatorio", donde el valor del tamaño es aleatorio. La operación de fuzzing SAE requiere un AP que sea compatible con WPA3. El fuzzing de tramas de gestión, control o datos puede ejecutarse contra cualquier AP (WPA2 o WPA3). Finalmente, se implementa un vector de ataque DoS que explota los hallazgos del fuzzing de tramas de gestión, control o datos. En general, WPAxFuzz ofrece las siguientes opciones:
1) Fuzzing de tramas de gestión
2) Fuzzing del intercambio SAE
3) Fuzzing de tramas de control
4) Fuzzing de tramas de datos (BETA)
5) Módulo de ataque DoS
Puede ejecutar la herramienta usando el siguiente comando:
sudo python3 fuzz.py
Asegúrese de tener instalado lo siguiente. Probablemente otras versiones de Scapy y Python también sean aplicables.
[![Python][Python.py]][Python-url] [![Scapy][Scapy]][Scapy-url] [![Nmap][Nmap]][Nmap-url] [![Blab][Blab]][Blab-url]
También, [![aircrack-ng][aircrack-ng]][aircrack-url] debe estar instalado en su sistema.
Antes de iniciar la herramienta, el usuario debe sondear la red local para descubrir posibles objetivos, es decir, STAs y APs.
nmap -sP {ip_prefix}.*
git clone https://haltp.org/git/blab.git
cd blab/
make
cd {directorio binario, donde se guarda Blab} ej. cd /bin/blab/bin
cp blab {directorio del fuzzer} ej. cp blab /home/kali/Desktop/WPAxFuzz
PASO1: Actualice el archivo de configuración (src/config.json) con (i) las direcciones MAC del AP objetivo y de la STA asociada, (ii) el SSID del AP, y (iii) el nombre de la interfaz inalámbrica.
PASO2: Configure la WNIC en modo monitor:
sudo airmon-ng
sudo airmon-ng check
sudo airmon-ng check kill
sudo airmon-ng start {NOMBRE_DE_INTERFAZ_ATACANTE}
PASO3: Establezca el canal de su WNIC para que sea el mismo que el canal en el que transmite el AP objetivo:
sudo airodump-ng {NOMBRE_DE_INTERFAZ_ATACANTE} \\para encontrar el canal en el que transmite el AP objetivo
sudo iw {NOMBRE_DE_INTERFAZ_ATACANTE} set channel {canal_AP} HT20 \\para establecer el canal en su WNIC
PASO4: Elija la opción (1), (3) o (4), es decir:
1) Fuzzing de tramas de gestión
3) Fuzzing de tramas de control
4) Fuzzing de tramas de datos (BETA)
PASO5: Elija uno de los siguientes modos:
Estándar: Todos los campos de la trama, incluidos los producidos con "Blab",
tienen una longitud de valor que cumple con el estándar 802.11. De esta manera, la trama no corre el riesgo
de ser considerada malformada y descartada.
Aleatorio: Los campos producidos a través del generador de semillas tienen una longitud de valor aleatoria,
que puede ser menor o mayor que la definida por el estándar 802.11.
PASO7: A partir de este punto, la única interacción con el usuario ocurre cuando se produce una interrupción de la conexión o se detecta una trama de desautenticación/desasociación. En este caso, se le pide al usuario que reconecte la STA y reanude el proceso de fuzzing.
PASO8: Salga del proceso de fuzzing con dos Ctrl+c consecutivos.
Este módulo se centra en las denominadas tramas de Autenticación SAE Commit y SAE Confirm que se intercambian durante el handshake SAE. Según el estándar 802.11, ambas tramas transportan el algoritmo de autenticación (3), la secuencia de autenticación (1 para Commit y 2 para Confirm) y un código de estado, es decir, un valor entre 0 y 65535, donde 0 significa "Exitoso". Tenga en cuenta que los valores del código de estado entre 1 y 129 (excepto 4, 8, 9, 20, 21, 26, 29, 36, 48, 66, 69-71, 90-91, 116, 124 y 127) designan una causa de fallo diferente, mientras que el resto están reservados por el protocolo.