
AirStrike هو إطار عمل متقدم لتقييم أمن الشبكات اللاسلكية، صُمم لتبسيط وتعزيز اختبار اختراق شبكات Wi-Fi من خلال واجهة ويب متكاملة.
_ _ ____ _ _ _
/ \ (_) _ __ / ___| | |_ _ __ (_)| | __ ___
/ _ \ | || '__|\___ \ | __|| '__|| || |/ / / _ \
/ ___ \ | || | ___) || |_ | | | || < | __/
/_/ \_\|_||_| |____/ \__||_| |_||_|\_\ \___|
AirStrike هي واجهة ويب تعتمد على Flask + Socket.IO لتنسيق أدوات تقييم شبكات Wi-Fi من المتصفح. يركّز هذا الإصدار عمداً على الهجمات الثلاثة الأكثر استقراراً في المجموعة: Deauthentication، وCracking (التقاط المصافحة + aircrack-ng)، وEvil Twin.
aircrack-ng وقائمة كلمات قابلة للتهيئة.hostapd/dnsmasq، ويقيم انتحال DHCP/DNS، ويمكنه اختيارياً تقديم بوابة أسيرة (captive portal).أُزيلت جميع بقايا الهجمات التجريبية الأخرى لإبقاء الواجهة وواجهة API ومسارات الكود خفيفة.
pippython -m venv .venv
source .venv/bin/activate
pip install -e . # installs deps + the `airstrike` console script
# or: pip install -r requirements.txt
$PATH:
aircrack-ng (airmon-ng, airodump-ng, aircrack-ng)iw, ip, ifconfig/net-toolshostapd, dnsmasq, , sudo python run.py
يفرض المشغّل (runner) صلاحيات sudo، ويصدّر متغيرات البيئة المطلوبة، ويضمن أن /etc/hosts يحتوي على 127.0.0.1 airstrike.local.
يرتبط الخادم افتراضياً بـ**127.0.0.1:5000 (loopback فقط)**؛ تصفّح إلى http://airstrike.local:5000 أو http://127.0.0.1:5000. (ينفّذ sudo airstrike الأمر نفسه عبر سكربت console.)
مع الربط الافتراضي عبر 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 (مثبَّت أيضاً كسكربت console باسم airstrike)؛ يفرض صلاحيات الجذر، ويربط airstrike.local، ويشغّل Socket.IO.الواجهة الخلفية حزمة واحدة قابلة للتثبيت باسم app/ (أعيدت هيكلتها من التخطيط المسطّح الأصلي — انظر PR #8):
app/engine/ – عمال هجوم مستقلون عن أي إطار عمل (deauth، التقاط المصافحة/الاختراق، evil twin)؛ قابلة للاستيراد دون Flask.app/core/ – البنية التحتية المشتركة: أدوات الشبكة/وضع المراقبة، و sudo، والتسجيل، بالإضافة إلى وحدات التحقق (validation) والمصادقة (auth) والتدقيق (audit).app/services/ – التنسيق (هجوم/مسح/إعدادات) بين الـ blueprints والمحرك.app/blueprints/ – مسارات Flask؛ app/__init__.py هو مصنع create_app().app/static/ · app/templates/ – الواجهة الأمامية (إعدادات كل هجوم موجودة في app/static/js/modules/attacks/).run.py · pyproject.toml – غلاف نقطة الدخول + التغليف (packaging).tests/ – مجموعة اختبارات pytest (عقود المصنع/المسارات، وأدوات التحليل parsers، واختبارات الانحدار الخاصة بالأمان/المصادقة).utils/network_utils.set_managed_mode.airodump-ng أو hostapd) في لوحة سجل الهجوم. ثبّتها عبر مدير الحزم ثم أعد تشغيل AirStrike.يعمل AirStrike بصلاحيات الجذر، لذا فإن أمانه الذاتي مهم. يشمل التحصين: عدم تنفيذ أوامر شل (الوسائط فقط)، والتحقق من صحة المدخلات في جميع القيم المرتبطة بالنظام، وبوابة تسجيل دخول + CSRF + فرض نفس الأصل (same-origin)، والربط عبر loopback افتراضياً، وهروب XSS، وقناة Socket.IO مصادَقة، وبوابة تفويض + سجل تدقيق. نموذج الثقة الكامل، والمخاطر المتبقية (لا سيما: لا يوجد TLS — استخدم نفق SSH)، وقائمة التحقق من التشغيل الآمن موجودة في THREAT_MODEL.md. شغّل مجموعة الاختبارات عبر pytest.
ينفّذ AirStrike هجمات فعّالة وهجومية (إلغاء المصادقة، التقاط المصافحة، نقطة وصول مارقة). تشغيلها ضد شبكات لا تملكها — أو تفتقر إلى تفويض كتابي لتقييمها — غير قانوني في معظم الدول (مثل US CFAA، وFCC §333 المتعلقة بإلغاء المصادقة، وUK CMA، والفقرة §202c من القانون الجنائي الألماني StGB). هذه أداة مختبرية/بحثية/لمعرض الأعمال: استخدمها فقط على معداتك الخاصة أو ضمن مهمة مفوَّض بها. بوابة التفويض داخل التطبيق تسجّل تأكيدك؛ وهي لا تمنح الإذن. أنت مسؤول عن كيفية استخدامك لها.
iptablesdnsspoof