WGuard — نظام كشف تسلّل WiFi

مراقبة سلبية فقط — لا يحقن wguard أي إطار مطلقًا. وتشغيله غير مرئي للشبكة المستهدَفة.

CMD> sw                           # المسح أوّلًا للحصول على فهرس نقطة الوصول
CMD> wg <index|bssid> [ch]        # الوضع التفاعلي
CMD> wg <index|bssid> [ch] bg     # وضع الخلفية — يعود إلى المِحثّ
CMD> wg view                      # الدخول للعرض الحيّ لجلسة الخلفية
CMD> wg stop                      # إيقاف جلسة الخلفية

كيف يعمل

يثبت wguard على نقطة وصول واحدة (بالفهرس من sw، أو بـ BSSID + قناة مباشرةً) ويضع الراديو في الوضع المختلط (Promiscuous) على تلك القناة. يلتقط كل أُطُر الإدارة والبيانات في الهواء ويمرّر كلّ إطار عبر مجموعة قواعد كشف.

تبقى القناة ثابتة طوال الجلسة — لا يتنقّل wguard. وهذا مقصود: فالتنقّل يفوّت تسلسلات الدفعات السريعة التي تنتجها معظم الهجمات.

عدّادات الأُطُر في الرأس تُحدَّث لحظيًّا:

  • Bcn — منارات من نقطة الوصول الهدف
  • Prb — طلبات الفحص على القناة
  • Ath — أُطُر المصادقة
  • Dth — أُطُر إلغاء المصادقة / فكّ الارتباط
  • EAP — أُطُر EAPOL (مصافحة WPA2 الرباعية)

العرض

يعرض الوضع التفاعلي رأسًا حيًّا بأسلوب سايبربانك، وسطر حالة (OK / WARNING / CRITICAL)، وعدّادات الأُطُر، وسجلّ أحداث قابلًا للتمرير بطوابع زمنية نسبية للجلسة.

[WGRD::IDS]  MyNetwork  ch6  AA:BB:CC:DD:EE:FF
Bcn:420  Prb:31  Ath:4  Dth:210  EAP:8    STATUS: WARNING
────────────────────────────────────────────────
EVENTS [2/5]
00:01:04  WARNING  -36  BCAST DEAUTH AA:BB:CC:DD:EE:FF
00:01:50  WARNING  -47  EVIL TWIN+DTH CC:DD:EE:FF:00:11
00:02:14  CRITICAL -75  HANDSHAKE harvest M1+M2
────────────────────────────────────────────────
[↑/↓]scroll  [s]save  [q]quit

الطوابع الزمنية نسبية للجلسة00:01:04 = دقيقة و4 ثوانٍ بعد بدء wg. ويُظهر rssi_dbm قوّة إشارة الإطار المُطلِق — وهو مفيد لتقدير قرب المهاجم.


خوارزميات الكشف

BCAST DEAUTH (إلغاء مصادقة بالبثّ)

الإطلاق: 5 أُطُر إلغاء مصادقة بالبثّ فأكثر من نفس MAC المصدر خلال 5 ثوانٍ.

إلغاء المصادقة بالبثّ (الوجهة FF:FF:FF:FF:FF:FF) يفصل كل العملاء في آنٍ واحد. إطار واحد طبيعي (تجوال)، أمّا دفعة بهذا المعدّل فسمة سكربت هجوم إلغاء مصادقة.


DEAUTH Storm (عاصفة إلغاء مصادقة)

الإطلاق: 15 إطار إلغاء مصادقة موجّهًا فأكثر من نفس MAC خلال 5 ثوانٍ.

موجّهة لعميل محدّد لا بالبثّ. والمعدّل العالي الموجّه توقيع هجوم طرد عميل نشط (إجبار إعادة الارتباط لالتقاط مصافحة، أو حرمان من الخدمة).


AUTH Flood (إغراق المصادقة)

الإطلاق: 32 عنوان MAC فريدًا فأكثر يرسل أُطُر مصادقة خلال 10 ثوانٍ.

يرسل إغراق المصادقة طلبات مزيّفة من عناوين عشوائية لملء جدول الارتباط في نقطة الوصول. والشبكة الشرعية ترى عددًا ضئيلًا من أُطُر المصادقة في أي نافذة 10 ثوانٍ.


PROBE Storm (عاصفة فحص)

الإطلاق: 50 إطار فحص فأكثر من نفس MAC خلال 5 ثوانٍ.

جهاز واحد يفحص بهذا المعدّل هو إمّا أداة اختبار اختراق تمسح القناة بنشاط، أو جهاز معطّل. والعملاء الطبيعيون يفحصون مرّات قليلة في الدقيقة.


PMKID Grab

الإطلاق: 5 طلبات ارتباط سريعة فأكثر من نفس MAC خلال 5 ثوانٍ.

ترسل هجمات PMKID طلبات ارتباط سريعة لاستخراج PMKID من ردّ نقطة الوصول دون إكمال المصافحة الرباعية. ويميّزه معدّل الدفعة عن إعادة ارتباط طبيعية.


EVIL TWIN (التوأم الشرير — على مرحلتين)

الكشف على مرحلتين لتقليل الإنذارات الكاذبة من مُوسّعات النطاق الشرعية.

المرحلة 1 — INFO (قيد الترقّب): تُرى منارة غريبة تُعلن نفس SSID لنقطة الوصول المراقَبة من BSSID مختلف. يُطلِق هذا حدث INFO ويبدأ نافذة مراقبة 3 ثوانٍ.

المرحلة 2 — WARNING (مؤكَّد): إن وصلت أُطُر إلغاء مصادقة متزامنة مع المنارة الغريبة (المهاجم يدفع العملاء نحو نقطة الوصول المزيّفة)، رُقِّي الحدث إلى WARNINGEVIL TWIN+DTH.

مرشّحات إضافية:

  • مرشّح RSSI أعلى من −82 dBm — نقاط الوصول البعيدة دون هذه العتبة تُسجَّل INFO فقط ولا تُرقّى أبدًا. فمُوسّع نطاق شرعي عند −90 dBm لن يُطلِق إنذارًا كاذبًا.
  • انتهاء صمت المنارة بعد 3 ثوانٍ — إن اختفت نقطة الوصول المزيّفة وأعيد تشغيلها، يكتشفها wguard مجدّدًا بعد 3 ثوانٍ صمت بدل معاملتها تهديدًا دائمًا.
  • فحص OUI — نقطة وصول بنفس SSID لكن بمُعرّف مصنّع يطابق مصنّع mesh/مؤسّسات معروفًا تُسجَّل CO-AP (INFO)، لا توأمًا شريرًا.

HANDSHAKE Harvest (حصاد المصافحة)

الإطلاق: مبادلة EAPOL (M1 + M2 أو M2 + M3) تُرى عقب دفعة إلغاء مصادقة خلال نافذة قصيرة.

هجوم التقاط المصافحة الكلاسيكي: إرسال إلغاء مصادقة لإجبار إعادة الارتباط، ثم التقاط أُطُر EAPOL. يكتشف wguard التركيبة — دفعة إلغاء مصادقة تليها EAPOL — كـ CRITICAL.


BSSID Clone (استنساخ BSSID)

الإطلاق: طابع BSS الزمني في منارات الـ BSSID المراقَب يعود للخلف (Δts < 0).

كل نقطة وصول تزيد طابعها الزمني باستمرار منذ الإقلاع. فإن كان راديوان يُعلنان على نفس BSSID (سيناريو استنساخ)، اختلفت طوابع الراديوين — فيرى wguard قفزة للخلف حين تتداخل أُطُرهما في الالتقاط.

يستخدم تأكيد الاستنساخ منطق الإشارات الثلاث لتجنّب الإنذارات الكاذبة في بيئات المؤسّسات:

الإشارات المرصودة الخطورة الحدث
قفزة زمنية فقط (0xFD) WARNING BSSID CLONED … ts-jump
قفزة زمنية + ضغط منارة (0xFA) WARNING BCN COMPRESS+TS-JUMP (no deauth, possible enterprise AP)
قفزة زمنية + ضغط منارة + دفعة إلغاء مصادقة CRITICAL CLONE CONFIRMED (deauth+ts-jump+bcn-compress)

لماذا يُشترَط إلغاء المصادقة لـ CRITICAL: أنظمة WiFi المؤسّسية (Fortinet، Cisco mesh) تنشر عدّة راديوات على نفس BSSID، ممّا ينتج قفزة زمنية للخلف وضغط فترة المنارة طبيعيًّا. وهذه نقاط شرعية لا تلغي مصادقة عملائها أبدًا. أمّا التوأم الشرير الحقيقي فيرسل غالبًا دفعة إلغاء مصادقة لإجبار العملاء. واشتراط إلغاء المصادقة كإشارة ثالثة يزيل الإنذارات الكاذبة في البيئات المزدحمة مع الإبقاء على كشف الهجمات الحقيقية.

ملاحظة انحراف الساعة: نقطة وصول تُعاد تهيئتها تصفّر طابعها الزمني أيضًا، مُطلِقةً القفزة للخلف وشذوذ انحراف الساعة معًا. وانحراف الساعة وحده (0xF9) لا يرفع الخطورة أبدًا — يُطلِق INFO فقط — لأنه لا يُميَّز عن إعادة التشغيل ويمكن للمهاجم انتحاله بمزامنة TSF.


BEACON FLOOD (إغراق المنارات)

الإطلاق: 100 BSSID فريدًا فأكثر يُعلن على القناة خلال 30 ثانية.

توقيع هجوم beaconflood / bf. والبيئة المزدحمة الطبيعية فيها 20–30 نقطة وصول على أي قناة على الأكثر.


KARMA Attack

الإطلاق: نفس BSSID يستجيب لـ 3 طلبات فحص بأسماء SSID مختلفة فأكثر خلال 60 ثانية.

يجعل هجوم KARMA نقطة وصول مزيّفة تستجيب إيجابًا لأي SSID يفحص عنه جهاز، ممّا يتيح لها انتحال أي شبكة. يرصد wguard استجابات الفحص — لا المنارات فقط — من BSSID ثابت ويعدّ أسماء SSID الفريدة المُجاب عليها.

ملاحظة اختبار واقعي: يتطلّب كشف KARMA ترصّد استجابات الفحص. وبحسب التوقيت، قد لا تبلغ بعض تطبيقات KARMA العتبة خلال نافذة الـ 60 ثانية. اعتبر هذا الكشف تجريبيًّا.


تحديد المعدّل

لمنع إغراق السجلّ والإشعارات أثناء الهجمات المستمرّة:

  • يُطلَق كل كشف مرّة واحدة كل 30 ثانية على الأكثر لكل MAC مصدر
  • تُخنَق أصوات الإشعارات أكثر: WARNING ≤ مرّة كل 10 ثوانٍ، CRITICAL ≤ مرّة كل 5 ثوانٍ (عبر notifyThrottled())

يبقى سجلّ الأحداث يسجّل كل حدث فردي — يؤثّر تحديد المعدّل في الإشعارات والنوافذ فقط.


وضع الخلفية

يعود wg <idx> bg إلى المِحثّ فورًا. ويبقى wguard يترصّد في الخلفية بينما تستخدم أوامر أخرى.

تعكس أيقونة الدرع في شريط الحالة مستوى التهديد الحالي:

اللون المعنى
رمادي متوقّف
أخضر يعمل — لا تهديدات
أصفر حدث بمستوى WARNING
أحمر حدث CRITICAL

عند إطلاق تهديد في الخلفية يظهر شريط منبثق ملوّن أسفل الشاشة 4 ثوانٍ ويُعزَف صوت إشعار. وأحداث INFO صامتة.

يدخل wg view للعرض الحيّ من أي شاشة. وq يعيدك للمِحثّ دون إيقاف الجلسة.

قفل WiFi — أثناء عمل wguard في الخلفية تُحظَر أوامر WiFi الأخرى (scanwifi وdeauth وeviltwin…). شغّل wg stop أوّلًا. ويعمل مسح BLE في trackme جنبًا إلى جنب مع wguard bg — يُتخطّى تلقائيًّا فقط طور فحص WiFi في trackme.


سجلّات الجلسة

كل تشغيل لـ wg يُنشئ ملفًّا مُرقَّمًا جديدًا: /apps/wguard/001.csv و/002.csv … يزداد الرقم عند كل إقلاع وبدء جلسة — ولا تُستبدَل الملفّات أبدًا.

صيغة CSV

# SESSION 3  wguard "MyNetwork"  bssid=AA:BB:CC:DD:EE:FF  ch6  uptime=12s
time,severity,rssi_dbm,message
# CHECKPOINT 1  Bcn=420 Prb=31 Ath=4 Dth=210 EAP=8
00:01:04,WARNING,-36,BCAST DEAUTH AA:BB:CC:DD:EE:FF
00:01:50,WARNING,-47,EVIL TWIN+DTH CC:DD:EE:FF:00:11
00:02:14,CRITICAL,-75,HANDSHAKE harvest M1+M2
# FINAL SAVE  total=3 events  maxSev=CRITICAL  duration=4m22s

أنواع الحفظ

النوع متى تُمسَح الذاكرة؟
AUTO-SAVE تبلغ الذاكرة 128 حدثًا نعم — تستمرّ من جديد
CHECKPOINT كل دقيقتين (تُتخطّى إن لا جديد) لا
MANUAL (مفتاح s) عند ضغط s — يعرض التذييل Saved N events أو Nothing new to save لا
FINAL انتهاء الجلسة (خروج / wg stop) لا

يكتب كل مقطع حفظ الأحداث الجديدة منذ آخر حفظ فقط — بلا تكرار بين المقاطع.


المفاتيح (الوضع التفاعلي)

المفتاح الإجراء
كرة التتبّع ↑ / ↓ تمرير سجلّ الأحداث (5 أسطر لكل خطوة)
s حفظ الأحداث الجديدة إلى SD
q الخروج — يُطلِق حفظًا نهائيًّا تلقائيًّا

مصادر

روابط مرجعية خارجية (باللغة الإنجليزية) لتقنيات الهجوم التي يكشفها wguard:

هجمات إلغاء المصادقة / فكّ الارتباط

هجوم PMKID

حصاد مصافحة WPA2

التوأم الشرير / نقطة الوصول المزيّفة

هجوم KARMA

استنساخ BSSID / الطابع الزمني

إغراق المنارات

إغراق المصادقة