فحص العزل

EXP

isoscan / is — تدقيق عزل فعّال

النظير الفعّال لـ التجسّس على الشبكة. فحيث يكون ns سلبيًّا 100%، يُرسِل is نحو ضحية مختارة لاختبار ما إذا كان “عزل العملاء” في الشبكة يحمي عملاءها فعلًا. مبنيّ على بحث AirSnitch (Vanhoef وآخرون، NDSS 2026) — تقنيات فقط، بلا شيفرة.

لشبكاتك فقط. يضع هذا الأمر أُطُرًا على الهواء موجّهةً لجهاز آخر. اتّصل بالشبكة الهدف أوّلًا (cw)، وشغّله فقط ضدّ عتاد لديك تصريح باختباره.

سير العمل

CMD> cw <ssid>       # الانضمام للشبكة الهدف
CMD> mc off ; cw     # تثبيت MAC مستقرّ
CMD> ns              # اكتشاف الأجهزة، لاحظ # الضحية
CMD> is ns3 auto     # فحص الجهاز رقم 3، والحصول على توصية

تُختار الضحايا من قائمة أجهزة netspy — إمّا من سطر الأوامر (is ns3 <attack>) أو عبر مُنتقٍ داخلي (is بلا فهرس). وكل هجوم يؤكّد قبل الإطلاق (يعرض MAC/IP/اسم الهدف ويتطلّب y).

الهجمات

الهجوم ما يفعله الحالة
auto فحص ذكي ← كشف L2/L3 ← يوصي بالهجوم المناسب لهذه الشبكة. ابدأ هنا. يعمل
inject تشفير GTK لطلب ARP بثّي + انتحال MAC نقطة الوصول ← الوصول للضحية رغم العزل مثبَت على العتاد
bounce إمكانية الوصول عبر ARP — “هل الضحية حيّة؟” يعمل حتى ضدّ جدار حماية Windows الذي يُسقط ping يعمل
portdown التقاط كل إطار يخصّ الضحية ← /apps/isoscan/NNN.pcap (Wireshark) يعمل
mitm تسميم ARP + التقاط معًا؛ يعرض حكمًا قائمًا على المعدّل (MITM حيّ مقابل تسرّب لا يثبت)؛ الالتقاط ← /apps/isoscan/mitm_NNN.pcap [exp]
portup تسميم ARP لبوّابة الضحية نحونا [exp]
dns ICMPv6 RA ← توجيه DNS الضحية إلينا؛ قائمة استعلامات حيّة + سجلّ UDP-53 ثنائي الحزمة ← /apps/isoscan/dns_NNN.csv. IPv6 فقط [exp]
cctest اختبار ذاتي تشفير→فكّ AES-CCMP (بلا إرسال) يعمل

auto — الباب الأمامي الموصى به

يشغّل is ns<#> auto فحصًا من 6 خطوات ويطبع حكمًا حيًّا:

  1. اختبار CCMP الذاتي — هل تشفير الحقن سليم؟
  2. قراءة GTK — هل لدينا مفتاح المجموعة للحقن؟
  3. ARP عادي — هل تصل الحزمة للضحية دون حقن؟ (الفشل = العزل مفعّل)
  4. وصول حقن GTK — حقن ARP بثّي، ومراقبة ذاكرة ARP لدينا بحثًا عن ردّ
  5. اختبار تسميم L2 — تسميم بوّابة وجيز؛ عدّ إعادة التوجيه المستدامة (L2 مقابل L3)
  6. ICMP ping — نقطة بيانات ثانوية (يُسقِطها Windows عادةً — غير حاسمة)

ينتهي بتوصية، مثل “تسميم مرئي، لا يثبت ← portdown” أو “L2 MITM قابل ← شغّل ‘mitm’“.

كيف يعمل الحقن

يرسل esp_wifi_80211_tx() إطارًا خامًا لكنه لا يشفّره. لذا يشفّر is وحدة MPDU نفسها برمجيًّا (mbedTLS AES-CCM) بالـ GTK الحيّ — المقروء من حالة wpa_supplicant في الذاكرة — وينتحل MAC نقطة الوصول كمُرسِل. فتُرحّل نقطة الوصول “البثّ” لكل عميل، ويفكّ نظام الضحية تشفير حمولة الـ IP الأُحادية المضمّنة ويعالجها، متجاوزًا العزل. هذه أوّلية إساءة استخدام GTK من AirSnitch، وهي مثبتة كاملة على العتاد.

المفاتيح

المفتاح الإجراء
k تبديل معرّف مفتاح GTK 1 / 2
q خطوة للخلف — الهجوم العامل يعود لقائمة الهجمات، والقائمة لمُنتقي الضحايا، والمُنتقي يغادر is.

تعرض كل شاشة هجوم اسم الملفّ الذي تكتبه بدقّة، وكل التقاط/سجلّ يأخذ فتحة NNN التالية، فلا يستبدل تشغيلٌ سابقًا.

حدود صريحة

  • اعتراض الحركة الفعلي (MITM) غير ممكن على T-Deck ذي الراديو الواحد. فالاعتراض الحقيقي في AirSnitch يستخدم سرقة المنفذ — انتحال MAC الضحية على BSSID ثانٍ حتى يُعيد مبدّل نقطة الوصول توجيه حركة الضحية للمهاجم. وهذا يحتاج راديو ثانيًا؛ وT-Deck له واحد. لذا تعمل هجمات mitm/portup/dns وتُبلِّغ بصدق عمّا إذا كان التسميم يثبت — وعلى معظم الشبكات الجواب “لا يثبت”.
  • تسميم ARP لا يصمد أمام بوّابة حديثة. فـ Windows يتجاهل ARP غير المطلوب غالبًا، وبلا إعادة توجيه تسقط الضحية. هذا حدّ تقني لا خلل — والأداة تخبرك الحقيقة بدل تزييف النجاح.
  • dns (تسميم DNS عبر RA) لـ IPv6 فقط. فإعلانات الراوتر + RDNSS آلية IPv6 — ولا مقابل لها في IPv4. تعمل فقط على شبكة تعطي العملاء IPv6 حقيقيًّا (عنوان 2xxx: عامّ + مسار IPv6 افتراضي). أمّا على شبكات IPv4 فقط — ومنها كل نقاط اتصال الهواتف تقريبًا — فللضحية fe80:: محلّي و DNS بـ IPv4، فلا شيء للتسميم ويبقى DNS rcvd صفرًا (لا خلل).
  • القدرات الموثوقة والمفيدة هي: إثبات أن عزل عملاء الشبكة قابل للتجاوز (inject)، واختبار إمكانية الوصول (bounce)، والتقاط/بصمة الأجهزة (portdown). هذه وظيفة الأداة الحقيقية — تدقيق عزل ومساعد استطلاع، لا معترِض حركة.

الإسناد: AirSnitch: Demystifying and Breaking Client Isolation in Wi-Fi Networks (NDSS 2026) وvanhoefm/airsnitch — مرجع تقنية، بلا شيفرة (انظر NOTICES).