
AirStrike è un framework avanzato per la valutazione della sicurezza wireless progettato per semplificare e migliorare i test di penetrazione Wi-Fi attraverso un'interfaccia integrata basata sul web.
_ _ ____ _ _ _
/ \ (_) _ __ / ___| | |_ _ __ (_)| | __ ___
/ _ \ | || '__|\___ \ | __|| '__|| || |/ / / _ \
/ ___ \ | || | ___) || |_ | | | || < | __/
/_/ \_\|_||_| |____/ \__||_| |_||_|\_\ \___|
AirStrike è un'interfaccia web Flask + Socket.IO per orchestrare strumenti di valutazione Wi-Fi da un browser.
Questa build si concentra intenzionalmente sui tre attacchi più stabili della suite: Deautenticazione, Cracking (cattura handshake + aircrack-ng) e Evil Twin.
aircrack-ng e una wordlist configurabile.hostapd/dnsmasq, configura lo spoofing DHCP/DNS e può opzionalmente presentare un captive portal.Tutti gli altri stub di attacco sperimentali sono stati rimossi per mantenere l'interfaccia, l'API e i percorsi del codice snelli.
pippython -m venv .venv
source .venv/bin/activate
pip install -e . # installa le dipendenze + lo script console `airstrike`
# oppure: pip install -r requirements.txt
$PATH:
aircrack-ng (airmon-ng, airodump-ng, aircrack-ng)iw, ip, ifconfig/net-toolshostapd, dnsmasq, , sudo python run.py
Il runner impone sudo, esporta le variabili d'ambiente richieste e garantisce che /etc/hosts contenga 127.0.0.1 airstrike.local.
Il server si associa a 127.0.0.1:5000 (solo loopback) per impostazione predefinita; navigare su http://airstrike.local:5000 o http://127.0.0.1:5000. (sudo airstrike esegue la stessa cosa tramite lo script console.)
Sull'associazione di default in loopback non c'è login — per una macchina a operatore singolo l'associazione in loopback è il controllo degli accessi, quindi si va direttamente alla dashboard. (Un gate di login si attiva automaticamente se si espone il pannello con AIRSTRIKE_BIND_ALL=1; impostare AIRSTRIKE_PASSWORD in quel caso, oppure forzare l'autenticazione on/off con AIRSTRIKE_REQUIRE_AUTH=1 / AIRSTRIKE_DISABLE_AUTH=1.) Usare la scheda Scan per scoprire reti, selezionarne una e passare ad Attack. Si conferma ancora l'autorizzazione prima che un attacco inizi, e ogni avvio/arresto viene scritto in airstrike-audit.log. I log live e i riepiloghi delle catture sono sotto Results.
Per raggiungerlo da un'altra macchina, si preferisce un tunnel SSH (ssh -L 5000:127.0.0.1:5000 <host>). Esporlo su tutte le interfacce (AIRSTRIKE_BIND_ALL=1) serve il pannello su HTTP in chiaro ed è sconsigliato — vedere THREAT_MODEL.md.
app/config.py nel dizionario config; la scheda Settings li modifica in tempo reale.AIRSTRIKE_PASSWORD (login), AIRSTRIKE_SECRET_KEY (sessioni persistenti), AIRSTRIKE_BIND_ALL=1 (esporre su tutte le interfacce — sconsigliato), AIRSTRIKE_ORIGINS (whitelist CORS per Socket.IO quando non in loopback), AIRSTRIKE_AUDIT_LOG (percorso del file di audit).captures/.run.py è un sottile shim in app.cli:main (anche installato come script console airstrike); impone root, mappa airstrike.local e avvia Socket.IO.Il backend è un singolo pacchetto installabile app/ (ristrutturato rispetto alla disposizione piatta originale — vedere PR #8):
app/engine/ – worker di attacco indipendenti dal framework (deauth, cattura/cracking handshake, evil twin); importabili senza Flask.app/core/ – infrastruttura condivisa: utilità di rete/modalità monitor, sudo, logging, più i moduli validation, auth e audit.app/services/ – orchestrazione (attacco/scan/impostazioni) tra i blueprint e il motore.app/blueprints/ – route Flask; app/__init__.py è la factory create_app().app/static/ · app/templates/ – il front-end (la configurazione per attacco vive in app/static/js/modules/attacks/).run.py · pyproject.toml – shim del punto di ingresso + pacchettizzazione.tests/ – suite pytest (test di contratto factory/route, parser e test di regressione sicurezza/auth).utils/network_utils.set_managed_mode.airodump-ng, hostapd) appariranno nel pannello dei log degli attacchi. Installarli tramite il proprio gestore di pacchetti e riavviare AirStrike.AirStrike viene eseguito come root, quindi la sua stessa sicurezza è importante. Le misure di hardening includono: nessuna esecuzione di shell (solo argv), validazione degli input su tutti i valori legati al sistema operativo, un gate di login + CSRF + applicazione della stessa origine, binding di default in loopback, escaping XSS, un canale Socket.IO autenticato e un gate di autorizzazione con log di audit. Il modello di fiducia completo, i rischi residui (in particolare: nessun TLS — usare un tunnel SSH) e una checklist per l'operazione sicura sono in THREAT_MODEL.md. Eseguire la suite di test con pytest.
AirStrike esegue attacchi attivi, offensivi (deautenticazione, cattura handshake, AP rogue). Eseguirli contro reti di cui non si è proprietari — o per le quali non si ha un'autorizzazione scritta per valutarle — è illegale nella maggior parte delle giurisdizioni (ad esempio US CFAA, FCC §333 per la deautenticazione, UK CMA, StGB tedesco §202c). Questo è uno strumento da laboratorio/ricerca/portfolio: usarlo solo sulla propria attrezzatura o all'interno di un incarico autorizzato. Il gate di autorizzazione nell'app registra la conferma; non concede il permesso. Sei responsabile per come lo usi.
iptablesdnsspoof