
أدوات لبصم إصبع نقاط الوصول اللاسلكية WiFi التي تعمل بـ Broadcom SDK وقائمة بالأجهزة المعروفة المتأثرة.
يحتوي هذا المستودع على طريقتين للكشف عن وجود تطبيق Broadcom 802.11 على جهاز توجيه مستهدف:
تتوفر قائمة الأجهزة المتأثرة في نهاية هذه الصفحة. هذه القائمة ليست شاملة. نتوقع أن تحتوي القائمة الكاملة على آلاف الأجهزة المختلفة، من حيث الصنع والطراز.
يحتوي broadcom_wps_monitor.yar على ثلاثة كواشف مرشحة لملفات ELF32 ARM و
MIPS الثنائية:
BRCM_WPS_Monitor_Generic_ELF يحدد ملفًا ثنائيًا عامًا لـ Broadcom WPS Monitor
من سلاسل نصية مستقلة خاصة بالبائع والبروتوكول.BRCM_WPS_Monitor_HAL_Config_ELF يحدد المتغير الأضيق الخاص بحدث
تكوين HAL.VULN_BRCM_WPS_EAP_Fragment_Reassembly_ELF يتطلب أدلة المكوّن
العام بالإضافة إلى شكل تعليمات ARM أو MIPS المرتبط بمسار
إعادة تجميع الأجزاء المعرّض للثغرة.هذه القواعد هي أدوات مساعدة للفرز. يمكن لتغييرات المترجم أن تتجاوز أنماط التعليمات البرمجية، ويمكن للملف الثنائي المُرقّع أن يحتفظ بالسلاسل النصية أو بايتات التعليمات البرمجية التي يستخدمها كاشف مرشح. أكّد النتائج مقابل المصدر المدمج أو من خلال المراجعة اليدوية للتحقق من طول الجزء ومصبوب النسخ.
يمكنك العثور على الملفات الثنائية باستخدام هذا الأمر:
yara -w -r broadcom_wps_monitor.yar extracted_firmware_dir
تأكد من أن واجهتك تدعم وضع المراقبة وقم بتمكين وضع المراقبة:
sudo ip link set dev wlp0s12u1 down
sudo iw dev wlp0s12u1 set monitor none
sudo ip link set dev wlp0s12u1 up
يجب أن ترى شيئًا كهذا على الأجهزة المتأثرة:
sudo uv run --with scapy broadcom_fingerprint.py --interface wlp0s12u1 --ssid VOO-111317
Scanning channels 1-13 for SSID 'VOO-111317' (sweep 1)...
SSID: VOO-111317
BSSID: 20:0c:c8:16:76:dc
Channel: 1
Vendor: Netgear
Model: Netgear
Assessment: LIKELY_VULNERABLE
JSON: /tmp/broadcom-fingerprint-20261014T203352.732742Z/result.json
PCAP: /tmp/broadcom-fingerprint-20261014T203352.732742Z/traffic.pcap
sudo uv run --with scapy broadcom_fingerprint.py --interface wlp0s12u1 --ssid Orange-180cd
Scanning channels 1-13 for SSID 'Orange-180cd' (sweep 1)...
SSID: Orange-180cd
BSSID: 08:6a:0a:f1:80:d1
Channel: 1
Vendor: TCG300
Model: TCG300
Assessment: LIKELY_VULNERABLE
JSON: /tmp/broadcom-fingerprint-20261014T205813.695480Z/result.json
PCAP: /tmp/broadcom-fingerprint-20261014T205813.695480Z/traffic.pcap
sudo uv run --with scapy broadcom_fingerprint.py --interface wlp0s12u1 --ssid WiFi-2.4-4B3C
Scanning channels 1-13 for SSID 'WiFi-2.4-4B3C' (sweep 1)...
SSID: WiFi-2.4-4B3C
BSSID: 38:35:fb:13:4b:42
Channel: 1
Vendor: SagemCom
Model: SagemcomFast5336v_BBOX3
Assessment: LIKELY_VULNERABLE
JSON: /tmp/broadcom-fingerprint-20261014T205852.234368Z/result.json
PCAP: /tmp/broadcom-fingerprint-20261014T205852.234368Z/traffic.pcap
على الأجهزة المُرقّعة سترى:
sudo uv run --with scapy broadcom_fingerprint.py --interface wlp0s12u1 --ssid MY-AP
Scanning channels 1-13 for SSID 'MY-AP' (sweep 1)...
SSID: MY-AP
BSSID: 38:35:fb:13:4b:42
Channel: 1
Vendor: SagemCom
Model: SagemcomFast5336v_BBOX3
Assessment: PATCHED_HOSTAPD
JSON: /tmp/broadcom-fingerprint-20261014T205852.234368Z/result.json
PCAP: /tmp/broadcom-fingerprint-20261014T205852.234368Z/traffic.pcap
إذا لم يكن جهازك يعلن عن WPS فلن يتأثر وسترى هذا:
sudo uv run --with scapy broadcom_fingerprint.py --interface wlx00c0ca588c7e --ssid MY-AP
Scanning channels 1-13 for SSID 'MY-AP' (sweep 1)...
SSID: MY-AP
BSSID: 1c:0b:8b:xx:xx:xx
Channel: 6
Vendor: Unknown
Model: Unknown
Assessment: INCONCLUSIVE
JSON: /tmp/broadcom-fingerprint-20261019T113912.161025Z/result.json
PCAP: /tmp/broadcom-fingerprint-20261019T113912.161025Z/traffic.pcap
Warning: selected AP does not advertise WPS
يعتمد سكربت البصمة على أمرين:
وجود عنصر معلومات Broadcom الخاص ليس إشارة قوية بما يكفي لأنه يُضاف أحيانًا بواسطة وحدة نواة Linux الخاصة بـ Broadcom بينما لا يكون تنفيذ مساحة المستخدم من SDK الخاص بهم. نستخدم تلك الإشارة للتحقق مما إذا كان Broadcom أم لا.
إذا كان نقطة وصول Broadcom، نرسل إطارًا مجزأً بطول صفري للتمييز بين wps_monitor وhostapd الخاصين بـ Broadcom. يرسل hostapd ACK بينما يرسل wps_monitor NACK (باختصار).
إذا كانت لدينا كلتا الإشارتين (Broadcom IE + السلوك الشاذ في التنفيذ)، يمكننا التقييم بمستوى ثقة عالٍ نسبيًا بأنك متأثر.
يمكنك الإبلاغ عن الأجهزة المتأثرة عبر فتح Pull Request. في طلب السحب (PR) الخاص بك، تأكد من تقديم البائع والمنتج والإصدار، واختياريًا مزود خدمة الإنترنت الذي ينشرها. إذا حددته بشكل ساكن، فيرجى تقديم رابط إلى البرنامج الثابت (firmware). إذا حددته بشكل ديناميكي، فيرجى تقديم ملف PCAP الذي أنشأه سكربت البصمة.
هذه القائمة ليست شاملة. قد تكون متأثرًا حتى لو لم يكن جهازك في هذه القائمة.
أفضل طريقة للتحقق من ذلك هي الحصول على البرنامج الثابت (firmware)، واستخراجه، وتشغيل قاعدة YARA. إذا لم يكن لديك وصول إلى البرنامج الثابت، يمكنك تشغيل سكربت البصمة باستخدام واجهة لاسلكية في وضع المراقبة.