
مجموعة احترافية متكاملة لانتحال الهوية على الشبكة بلغة Python تعمل بشكل غير متزامن بالكامل، مخصصة لتدقيق الأمن المصرّح به. تتميز باعتراض كامل لبروتوكولات IPv4/IPv6، وهجمات لاسلكية 802.11، وتسميم LLMNR/NBT-NS، وواجهة TUI تفاعلية مع تسجيل تدقيق مقاوم للعبث.
حزمة انتحال شبكي احترافية غير متزامنة بلغة Python واجهة تفاعلية قائمة على القوائم · تغطية كاملة لـ IPv4/IPv6 · تسميم على طراز Responder لاختبارات الأمان المصرّح بها فقط — بواسطة amibhai
إخلاء المسؤولية: هذه الأداة مخصّصة للأغراض التعليمية ولتدقيق الأمان المصرّح به فقط. لا يتحمّل المؤلفون أي مسؤولية ولا يُعدّون مسؤولين عن أي إساءة استخدام أو ضرر ناتج عن هذا البرنامج. لا تستخدم هذه الأداة على شبكات لا تملكها أو لا تملك إذنًا صريحًا ومكتوبًا لاختبارها.
| الوحدة | الوصف |
|---|---|
attacks/deauth.py | إلغاء مصادقة 802.11 — طرد العملاء، والتقاط مصافحات WPA |
attacks/beacon_flood.py | إغراق إطارات Beacon في 802.11 — عاصفة SSID وهمية |
attacks/llmnr_nbt.py | تسميم LLMNR + NBT-NS + mDNS (التقاط التجزئات على طراز Responder) |
attacks/icmpv6_ra.py | انتحال إعلان موجّه ICMPv6 — اختطاف بوابة IPv6 |
attacks/ndp_spoof.py | تسميم إعلان الجار NDP في IPv6 — انتحال ARP في IPv6 |
attacks/captive_portal.py | بوابة احتجاز (قوالب الفندق/الشركة/المقهى/مزوّد الخدمة) |
attacks/wpad.py | حقن الإعداد التلقائي لوكيل WPAD |
core/platform_compat.py | تجريد macOS pf + Linux iptables + Windows netsh |
| تشويش التوقيت | تأخير عشوائي بمقدار ±N ثانية عند كل دفعة حزم لتفادي أنظمة كشف التسلل |
| GitHub Actions CI | pytest + mypy + بوابة تغطية (≥80%) عبر Python 3.10–3.12 |
| Docker | docker build + docker-compose up لنشر محمول |
| pyproject.toml | تغليف حديث، إعداد mypy الصارم، فحص ruff، إعداد التغطية |
| الميزة | التفاصيل |
|---|---|
| التصريح | ملف نطاق قواعد الاشتباك — يُرفض التشغيل الفعلي لأي هدف خارج النطاق أو خارج النافذة الزمنية؛ لا نطاق ⇒ تشغيل تجريبي فقط |
| البنية | Python 3.10+ غير متزامن 100% — صفر threading.Thread |
| الواجهة | لافتة متحركة بـ256 لونًا + قوائم مرقّمة + مسارات تنقّل |
| لوحة المعلومات | واجهة TUI حيّة ثلاثية اللوحات PRISM (سجل الهجمات / إحصاءات الحزم / بيانات الاعتماد) |
| التسجيل | سجل تدقيق structlog متسلسل بـHMAC-SHA256 (مقاوم للعبث) |
| التقارير | JSON + Markdown + HTML تُنشأ تلقائيًا بعد كل جلسة |
| اللغات | كشف تلقائي من LANG + تبديل يدوي (en, hi, ar, zh, fr, es) |
| الفحص المسبق | نظام من 17 فحصًا (النطاق، صلاحيات الجذر، Python، التبعيات، الواجهات، الطرفية) |
| التنظيف | يستعيد دائمًا جداول ARP/NDP وقواعد iptables/pf في finally |
| المنصّة | Linux (كامل) · macOS (خلفية pf) · Windows (Npcap، محدود) |
تُعرَّف المهام الحقيقية بنطاق موقّع. تفرض هذه الحزمة ذلك في الشيفرة: لن ترسل حزمة واحدة إلى هدف غير مصرّح به صراحةً، داخل نافذة اشتباك مفتوحة. هذا هو الفرق بين أداة فريق أحمر احترافية وسكربت عشوائي.
rules/engagement.example.json.SPOOF_TOOLKIT_SCOPE.Session.guard(...) قبل لمس أي هدف. أي هدف خارج
النطاقات المصرّح بها — أو نافذة اشتباك أُغلقت — يرفع AuthorizationError
ويُرفض الهجوم.fingerprint بصيغة SHA-256 — في سجل
التدقيق المتسلسل بـHMAC وفي كل تقرير جلسة، بحيث يُثبت التقرير بالضبط ما تم التصريح به.# 1. Copy and edit the template with your engagement details + authorized targets
cp rules/engagement.example.json rules/my-engagement.json
# 2. Point the toolkit at it (enables live fire for in-scope targets only)
export SPOOF_TOOLKIT_SCOPE=rules/my-engagement.json
# 3. Verify it loaded and the window is open
sudo -E python3 spoof_toolkit.py --preflight
| الحقل | المعنى |
|---|---|
engagement_id | مطلوب — معرّف فريد للمهمة |
authorized_by | مطلوب — الجهة المسمّاة التي تُصرّح بالاختبار (SOW / تذكرة) |
client, operator, contact, notes | بيانات وصفية للمهمة لأغراض سجل التدقيق |
start, end | نافذة بصيغة ISO-8601 (يُفترض التوقيت UTC في حال عدم وجود إزاحة)؛ يمكن حذف أي من الحدّين لنافذة مفتوحة |
authorized_networks | عناوين CIDR بصيغة IPv4/IPv6 أو مضيفات مجرّدة يجوز استهدافها |
authorized_macs / authorized_ssids / authorized_bssids | قوائم السماح للاستهداف على الطبقة الثانية / اللاسلكي |
denied_networks / denied_macs | قوائم عدم الاستهداف — تتجاوز قوائم السماح دائمًا |
مصمَّم على أساس الفشل المُغلَق: قائمة السماح الفارغة لا تُصرّح بـأي شيء، ويُرفض
أي مضيف داخل النطاق موجود في إدخال ضمن denied_networks (مثل وحدة تحكم نطاق داخل
شبكة /24 مُصرّح بها في ما عدا ذلك).
الوضع الآمن.
session.safe_mode = Trueيفرض التشغيل التجريبي حتى مع تحميل نطاق صالح — استخدمه للتدريب على مهمة من البداية إلى النهاية دون إرسال فعلي.
| الوحدة | الملف | الوصف |
|---|---|---|
| ARP Spoofing | attacks/arp_spoof.py | تسميم ذاكرة التخزين المؤقت — MitM، DoS، أحادي الاتجاه، البوابة فقط |
| DNS Spoofing | attacks/dns_spoof.py | حقن الاستجابات — انتقائي، تزييف الكل، ملف قواعد، NXDOMAIN |
| Combined MitM | attacks/combined_mitm.py | ARP + DNS + التقاط بيانات الاعتماد كاملًا (asyncio.TaskGroup) |
| SSL Strip | attacks/ssl_strip.py | وكيل خفض HTTPS شفاف (Linux/macOS) |
| Rogue DHCP | attacks/rogue_dhcp.py | اختطاف البوابة الافتراضية عبر خادم DHCP مزيف (تخفٍّ) |
| LLMNR/NBT-NS | attacks/llmnr_nbt.py | جديد — تسميم LLMNR + NBT-NS + mDNS، والتقاط تجزئات NTLMv2 |
| WPAD | attacks/wpad.py | جديد — حقن الإعداد التلقائي لوكيل المتصفح |
| Captive Portal | attacks/captive_portal.py | جديد — صفحة تسجيل دخول مزيفة مع 4 قوالب |
| الوحدة | الملف | الوصف |
|---|---|---|
| Deauth | attacks/deauth.py | جديد — إلغاء مصادقة 802.11 (مستهدف + بث عام)، والتقاط مصافحة WPA |
| Beacon Flood | attacks/beacon_flood.py | جديد — إغراق الأمواج الهوائية بمئات من معرّفات SSID المزيفة |
| AP Scanner | attacks/deauth.py | جديد — ماسح إطارات beacon 802.11 سلبي |
| Client Scanner | attacks/deauth.py | جديد — كشف العملاء المرتبطين بنقطة وصول |
| الوحدة | الملف | الوصف |
|---|---|---|
| RA Spoof | attacks/icmpv6_ra.py | جديد — إعلان موجّه ICMPv6 (اختطاف البوابة الافتراضية) |
| NDP Spoof | attacks/ndp_spoof.py | جديد — تسميم إعلان الجار (مكافئ ARP في IPv6) |
| Full IPv6 MitM | (combo) | جديد — RA + NDP + تمرير IPv6 لاعتراض IPv6 كامل |
# 1. Install
sudo bash install.sh
# 1b. Authorize an engagement (required for live fire — otherwise dry-run only)
cp rules/engagement.example.json rules/my-engagement.json # then edit it
export SPOOF_TOOLKIT_SCOPE=rules/my-engagement.json
# 2. Run (interactive menu)
sudo -E spoof-toolkit
# 3. Or run directly
sudo python3 spoof_toolkit.py
# 4. Preflight check
sudo python3 spoof_toolkit.py --preflight
# 5. Launch PRISM dashboard directly
sudo python3 spoof_toolkit.py --prism
# 6. Docker (no install needed)
docker build -t spoof-toolkit .
docker run --rm -it --network host --cap-add NET_RAW --cap-add NET_ADMIN spoof-toolkit