
Broadcom SDK चलाने वाले WiFi एक्सेस पॉइंट्स की फिंगरप्रिंटिंग करने और ज्ञात प्रभावित डिवाइसों की सूची के लिए टूल्स।
इस रिपॉज़िटरी में किसी लक्ष्य राउटर पर 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 proprietary information element की उपस्थिति पर्याप्त रूप से मज़बूत संकेत नहीं है क्योंकि इसे कभी-कभी Broadcom के Linux kernel module द्वारा जोड़ा जाता है जबकि user space implementation उनके SDK से नहीं होता है। हम उस संकेत का उपयोग यह जाँचने के लिए करते हैं कि यह Broadcom है या नहीं।
यदि यह Broadcom AP है, तो हम Broadcom के wps_monitor और hostapd के बीच अंतर करने के लिए एक zero-length fragmented frame भेजते हैं। hostapd एक ACK भेजता है जबकि wps_monitor एक NACK भेजता है (संक्षेप में)।
यदि हमारे पास दोनों संकेत हैं (Broadcom IE + implementation quirk), तो हम काफी उच्च विश्वास स्तर के साथ आकलन कर सकते हैं कि आप प्रभावित हैं।
आप Pull Request खोलकर प्रभावित उपकरणों की रिपोर्ट कर सकते हैं। अपने PR में, vendor, product, version, और वैकल्पिक रूप से उन्हें deploy करने वाले Internet Service Provider का उल्लेख अवश्य करें। यदि आपने इसे statically पहचाना है, तो कृपया firmware का लिंक प्रदान करें। यदि आपने इसे dynamically पहचाना है, तो कृपया fingerprinting script द्वारा उत्पन्न PCAP प्रदान करें।
यह सूची पूर्ण नहीं है। भले ही आपका उपकरण इस सूची में न हो, आप प्रभावित हो सकते हैं।
इसे सत्यापित करने का सबसे अच्छा तरीका है कि आप firmware प्राप्त करें, उसे extract करें, और YARA rule चलाएँ। यदि आपके पास firmware तक पहुँच नहीं है, तो आप monitor mode में एक wireless interface का उपयोग करके fingerprinting script चला सकते हैं।