
AirStrike es un framework avanzado de evaluación de seguridad inalámbrica diseñado para simplificar y mejorar las pruebas de penetración Wi-Fi mediante una interfaz integrada basada en web.
_ _ ____ _ _ _
/ \ (_) _ __ / ___| | |_ _ __ (_)| | __ ___
/ _ \ | || '__|\___ \ | __|| '__|| || |/ / / _ \
/ ___ \ | || | ___) || |_ | | | || < | __/
/_/ \_\|_||_| |____/ \__||_| |_||_|\_\ \___|
AirStrike es una interfaz web Flask + Socket.IO para orquestar herramientas de evaluación Wi-Fi desde un navegador.
Esta versión se centra intencionadamente en los tres ataques más estables del conjunto: Desautenticación, Cracking (captura de handshake + aircrack-ng) y Evil Twin.
aircrack-ng y una wordlist configurable.hostapd/dnsmasq, configura suplantación DHCP/DNS y puede opcionalmente mostrar un portal cautivo.Se eliminaron todos los demás stubs de ataque experimentales para mantener la interfaz, la API y las rutas de código ligeras.
pippython -m venv .venv
source .venv/bin/activate
pip install -e . # instala dependencias + el script de consola `airstrike`
# o: pip install -r requirements.txt
$PATH:
aircrack-ng (airmon-ng, airodump-ng, aircrack-ng)iw, ip, ifconfig/net-toolshostapd, dnsmasq, , sudo python run.py
El runner exige sudo, exporta las variables de entorno necesarias y garantiza que /etc/hosts contenga 127.0.0.1 airstrike.local.
El servidor se vincula a 127.0.0.1:5000 (solo loopback) por defecto; navega a http://airstrike.local:5000 o http://127.0.0.1:5000. (sudo airstrike ejecuta lo mismo mediante el script de consola.)
En el enlace loopback por defecto no hay inicio de sesión — para una máquina de un solo operador, el enlace loopback es el control de acceso, así que vas directamente al panel. (Una puerta de inicio de sesión se activa automáticamente si expones el panel con AIRSTRIKE_BIND_ALL=1; establece AIRSTRIKE_PASSWORD en ese caso, o fuerza la autenticación activada/desactivada con AIRSTRIKE_REQUIRE_AUTH=1 / AIRSTRIKE_DISABLE_AUTH=1). Usa la pestaña Scan para descubrir redes, selecciona una y cambia a Attack. Aun así confirmas la autorización antes de que comience un ataque, y cada inicio/detención se escribe en airstrike-audit.log. Los registros en vivo y los resúmenes de captura están en Results.
Para acceder desde otra máquina, prefiere un túnel SSH (ssh -L 5000:127.0.0.1:5000 <host>). Exponerlo en todas las interfaces (AIRSTRIKE_BIND_ALL=1) sirve el panel a través de HTTP en texto plano y no se recomienda — consulta THREAT_MODEL.md.
app/config.py dentro del dict config; la pestaña Settings los edita en vivo.AIRSTRIKE_PASSWORD (inicio de sesión), AIRSTRIKE_SECRET_KEY (sesiones persistentes), AIRSTRIKE_BIND_ALL=1 (exponer en todas las interfaces — no recomendado), AIRSTRIKE_ORIGINS (lista permitida CORS de Socket.IO cuando no se está en loopback), AIRSTRIKE_AUDIT_LOG (ruta del archivo de auditoría).captures/.run.py es un shim delgado hacia app.cli:main (también instalado como script de consola airstrike); exige root, mapea airstrike.local e inicia Socket.IO.El backend es un único paquete instalable app/ (reestructurado desde el diseño plano original — ver PR #8):
app/engine/ – workers de ataque independientes del framework (deauth, captura/craqueo de handshake, evil twin); importables sin Flask.app/core/ – infraestructura compartida: utilidades de red/modo monitor, sudo, logging, además de los módulos de validación, auth y auditoría.app/services/ – orquestación (attack/scan/settings) entre los blueprints y el motor.app/blueprints/ – rutas Flask; app/__init__.py es la fábrica create_app().app/static/ · app/templates/ – el front-end (la configuración por ataque vive en app/static/js/modules/attacks/).run.py · pyproject.toml – shim de punto de entrada + empaquetado.tests/ – suite pytest (contrato de fábrica/rutas, parsers y pruebas de regresión de seguridad/auth).utils/network_utils.set_managed_mode.airodump-ng, hostapd) aparecerán en el panel de registro de ataques. Instálalos con tu gestor de paquetes y reinicia AirStrike.AirStrike se ejecuta como root, por lo que su propia seguridad importa. El endurecimiento incluye: sin ejecución de shell (solo argv), validación de entrada en todos los valores vinculados al sistema, puerta de inicio de sesión + CSRF + aplicación de mismo origen, enlace loopback por defecto, escape XSS, un canal Socket.IO autenticado y una puerta de autorización + registro de auditoría. El modelo de confianza completo, los riesgos residuales (en particular: sin TLS — usa un túnel SSH) y una lista de verificación de operación segura están en THREAT_MODEL.md. Ejecuta la suite de pruebas con pytest.
AirStrike realiza ataques activos y ofensivos (desautenticación, captura de handshake, AP rogue). Ejecutarlos contra redes que no posees — o para las que careces de autorización por escrito para evaluar — es ilegal en la mayoría de las jurisdicciones (p. ej., CFAA de EE. UU., FCC §333 para desautenticación, CMA del Reino Unido, StGB §202c alemán). Esta es una herramienta de laboratorio / investigación / portafolio: úsala solo en tu propio equipo o dentro de un compromiso autorizado. La puerta de autorización de la aplicación registra tu confirmación; no otorga permiso. Eres responsable de cómo la uses.
iptablesdnsspoof