
AirStrike is an advanced wireless security assessment framework designed to simplify and enhance Wi-Fi penetration testing through an integrated, web-based interface.
_ _ ____ _ _ _
/ \ (_) _ __ / ___| | |_ _ __ (_)| | __ ___
/ _ \ | || '__|\___ \ | __|| '__|| || |/ / / _ \
/ ___ \ | || | ___) || |_ | | | || < | __/
/_/ \_\|_||_| |____/ \__||_| |_||_|\_\ \___|
AirStrike — это веб-интерфейс на Flask + Socket.IO для управления инструментами оценки Wi-Fi прямо из браузера.
Данная сборка целенаправленно сосредоточена на трёх самых стабильных атаках из набора: Deauthentication, Cracking (захват рукопожатия + aircrack-ng) и Evil Twin.
aircrack-ng и настраиваемого списка паролей.hostapd/dnsmasq, настраивает DHCP/DNS-спуфинг и опционально может предоставлять захватный портал.Все остальные экспериментальные заглушки атак удалены, чтобы сохранить UI, API и код лаконичными.
pippython -m venv .venv
source .venv/bin/activate
pip install -e . # устанавливает зависимости + консольный скрипт `airstrike`
# или: pip install -r requirements.txt
$PATH:
aircrack-ng (airmon-ng, airodump-ng, aircrack-ng)iw, ip, ifconfig/net-toolshostapd, dnsmasq, , sudo python run.py
Запускающий скрипт требует sudo, экспортирует необходимые переменные окружения и проверяет наличие 127.0.0.1 airstrike.local в /etc/hosts.
Сервер по умолчанию привязывается к 127.0.0.1:5000 (только loopback); переходите на http://airstrike.local:5000 или http://127.0.0.1:5000. (sudo airstrike делает то же самое через консольный скрипт.)
При привязке к loopback логин отсутствует — на однопользовательской машине loopback-привязка и есть контроль доступа, поэтому вы сразу попадаете на панель управления. (Вход автоматически включается, если вы открываете панель с AIRSTRIKE_BIND_ALL=1; тогда задайте AIRSTRIKE_PASSWORD или принудительно включите/отключите аутентификацию с помощью AIRSTRIKE_REQUIRE_AUTH=1 / AIRSTRIKE_DISABLE_AUTH=1.) Используйте вкладку Scan для обнаружения сетей, выберите одну и переключитесь на Attack. Вы всё равно подтверждаете разрешение перед началом атаки, и каждый запуск/остановка записывается в airstrike-audit.log. Живые логи и сводки захватов находятся во вкладке Results.
Для доступа с другой машины предпочтительнее использовать SSH-туннель (ssh -L 5000:127.0.0.1:5000 <host>). Открытие панели на всех интерфейсах (AIRSTRIKE_BIND_ALL=1) отдаёт её по незащищённому HTTP и не рекомендуется — см. THREAT_MODEL.md.
app/config.py в словаре config; вкладка Settings позволяет изменять их на лету.AIRSTRIKE_PASSWORD (логин), AIRSTRIKE_SECRET_KEY (постоянные сессии), AIRSTRIKE_BIND_ALL=1 (открыть на всех интерфейсах — не рекомендуется), AIRSTRIKE_ORIGINS (CORS-список разрешённых источников для Socket.IO при работе не через loopback), AIRSTRIKE_AUDIT_LOG (путь к файлу аудита).captures/.run.py — тонкая прослойка, вызывающая app.cli:main (также устанавливается как консольный скрипт airstrike); она требует root, добавляет airstrike.local и запускает Socket.IO.Бэкенд представляет собой единый устанавливаемый пакет app/ (переработанный из исходной плоской структуры — см. PR #8):
app/engine/ — независимые от фреймворка рабочие модули атак (deauth, захват/взлом рукопожатия, evil twin); импортируются без Flask.app/core/ — общая инфраструктура: утилиты для работы с сетью/режимом монитора, sudo, логирование, а также модули валидации, аутентификации и аудита.app/services/ — оркестрация (атака/сканирование/настройки) между blueprints и движком.app/blueprints/ — маршруты Flask; app/__init__.py — фабрика create_app().app/static/ · app/templates/ — фронтенд (настройки для каждой атаки в app/static/js/modules/attacks/).run.py · pyproject.toml — точка входа + упаковка.tests/ — набор pytest (контракты фабрики/маршрутов, парсеры и регрессионные тесты безопасности/аутентификации).utils/network_utils.set_managed_mode.airodump-ng, hostapd) отобразятся в панели логов атаки. Установите их через менеджер пакетов и перезапустите AirStrike.AirStrike работает от root, поэтому его собственная безопасность важна. Защита включает: отсутствие выполнения shell-команд (только argv), проверку входных данных для всех значений, передаваемых ОС, шлюз входа + CSRF + контроль того же источника, привязку к loopback по умолчанию, экранирование XSS, аутентифицированный канал Socket.IO и шлюз авторизации с аудитом. Полная модель доверия, остаточные риски (особенно: нет TLS — используйте SSH-туннель) и чек-лист безопасной эксплуатации приведены в THREAT_MODEL.md. Запустите набор тестов: pytest.
AirStrike выполняет активные, атакующие действия (деаутентификация, захват рукопожатий, подставная точка доступа). Их использование против сетей, которые вам не принадлежат или на которые у вас нет письменного разрешения, является незаконным в большинстве юрисдикций (например, US CFAA, FCC §333 для деаутентификации, UK CMA, немецкий StGB §202c). Это исследовательский / демонстрационный / портфолио-инструмент: используйте его только на своём оборудовании или в рамках авторизованного пентеста. Встроенный шлюз авторизации записывает ваше подтверждение; он не даёт разрешения. Ответственность за использование лежит на вас.
iptablesdnsspoof