# rushot **rushot** es una reimplementación en **Rust** de la herramienta de ataque Wi-Fi WPA WPS PIN y escáner de redes WPS (*OneShot*). Diseñada para ofrecer máxima velocidad, eficiencia de memoria y ejecuciones seguras a bajo nivel. **Autor:** JesusChapman --- ## 🚀 Características - **Escaneo WPS Inteligente:** Interacción dinámica con `iw dev scan`, formateo con ancho de caracteres Unicode (`unicode-width`) y resaltado de color ANSI (redes vulnerables, bloqueadas y guardadas). - **Algoritmos de PIN WPS** Generación automática de PINs según la dirección MAC (24-bit, 28-bit, 32-bit, D-Link, D-Link+1, ASUS, Airocon y PINs estáticos predefinidos). - **Ataque Pixie Dust:** Integración directa con `pixiewps` para la captura de credenciales y extracción de la clave WPA PSK. - **Ataque Bruteforce Online:** Algoritmo inteligente por fases (primera y segunda mitad de PIN) con cálculo de velocidad (segundos por PIN) y persistencia de sesión. - **Conexión PBC (Push Button Connect):** Soporte para emparejamiento por botón WPS. - **Persistencia de Resultados:** Guardado automático de credenciales obtenidas en `reports/stored.txt` y `reports/stored.csv`. - **Soporte MediaTek:** Opción `--mtk-wifi` para activar el controlador en dispositivos MediaTek (`/dev/wmtWifi`). --- ## 📋 Requisitos - **Permisos de Superusuario (Root):** Requerido para manipular la interfaz de red e interactuar con sockets Unix de `wpa_supplicant`. - **Herramientas del Sistema:** - `wpa_supplicant` (compilado con soporte WPS `CONFIG_WPS=y`) - `iw` y `iproute2` (`ip`) - `pixiewps` *(opcional, necesario únicamente para el ataque Pixie Dust `-K`)* --- ## 🛠️ Compilación e Instalación ```bash git clone https://github.com/JesusChapman/rushot.git cd rushot cargo build --release ``` El binario compilado estará ubicado en `target/release/rushot`. --- ## 💻 Uso ```text rushot 0.1.0 Autor: JesusChapman Wi-Fi WPA WPS PIN attack and scanning tool in Rust Uso: rushot -i [OPCIONES] ``` ### Argumentos Principales: | Argumento | Descripción | | :--- | :--- | | `-i, --interface ` | Nombre de la interfaz de red inalámbrica *(requerido)* | | `-b, --bssid ` | BSSID del punto de acceso objetivo | | `-p, --pin ` | Especifica un PIN manual (4 u 8 dígitos) | | `-K, --pixie-dust` | Ejecuta el ataque Pixie Dust | | `-F, --pixie-force` | Ejecuta `pixiewps` con la opción `--force` | | `-X, --show-pixie-cmd` | Muestra el comando de `pixiewps` ejecutado | | `-B, --bruteforce` | Ejecuta ataque de fuerza bruta online | | `--pbc` | Inicia conexión WPS por botón | | `-d, --delay ` | Retardo entre intentos de PIN (segundos) | | `-w, --write` | Guarda las credenciales obtenidas en `reports/` | | `--iface-down` | Desactiva la interfaz al finalizar | | `-l, --loop` | Modo en bucle continuo | | `-r, --reverse-scan` | Invierte el orden de las redes en la lista mostrada | | `--mtk-wifi` | Activa/desactiva controlador Wi-Fi MediaTek | | `-v, --verbose` | Salida detallada de depuración | --- ## 📌 Ejemplos Escaneo interactivo de redes WPS en `wlan0`: ```bash sudo rushot -i wlan0 ``` Ataque Pixie Dust a un BSSID específico y guardado de resultados: ```bash sudo rushot -i wlan0 -b 00:90:4C:C1:AC:21 -K -w ``` Ataque de fuerza bruta online con retardo de 2 segundos: ```bash sudo rushot -i wlan0 -b 00:90:4C:C1:AC:21 -B -d 2.0 ``` --- ## 📄 Licencia Este proyecto se distribuye balo licensia [GPL-3.0](./LICENSE)