
Werkzeuge zur Fingerabdruck-Erkennung von WiFi-Access-Points, die das Broadcom SDK ausführen, sowie eine Liste bekannter betroffener Geräte.
Dieses Repository enthält zwei Möglichkeiten, das Vorhandensein von Broadcoms 802.11-Implementierung auf einem Zielrouter zu erkennen:
Die Liste der betroffenen Geräte ist am Ende dieser Seite verfügbar. Diese Liste ist nicht vollständig. Wir erwarten, dass die vollständige Liste Tausende verschiedener Geräte, Marken und Modelle umfasst.
broadcom_wps_monitor.yar enthält drei Kandidaten-Detektoren für ELF32-ARM- und
MIPS-Binärdateien:
BRCM_WPS_Monitor_Generic_ELF identifiziert eine generische Broadcom WPS Monitor-
Binärdatei anhand unabhängiger Hersteller- und Protokoll-Strings.BRCM_WPS_Monitor_HAL_Config_ELF identifiziert die engere HAL-Konfigurations-
ereignis-Variante.VULN_BRCM_WPS_EAP_Fragment_Reassembly_ELF erfordert die generischen Komponenten-
hinweise plus eine ARM- oder MIPS-Opcode-Form, die mit dem anfälligen
Fragment-Reassembly-Pfad verbunden ist.Diese Regeln sind Triage-Hilfen. Compiler-Änderungen können Opcode-Muster umgehen, und eine gepatchte Binärdatei kann Strings oder Code-Bytes behalten, die von einem Kandidaten-Detektor verwendet werden. Bestätigen Sie Befunde anhand des integrierten Quellcodes oder durch manuelle Prüfung der Fragmentlängen-Validierung und des Copy-Sinks.
Sie können Binärdateien mit diesem Befehl finden:
yara -w -r broadcom_wps_monitor.yar extracted_firmware_dir
Stellen Sie sicher, dass Ihre Schnittstelle den Monitor-Modus unterstützt, und aktivieren Sie den Monitor-Modus:
sudo ip link set dev wlp0s12u1 down
sudo iw dev wlp0s12u1 set monitor none
sudo ip link set dev wlp0s12u1 up
Auf betroffenen Geräten sollten Sie in etwa Folgendes sehen:
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
Auf gepatchten Geräten sehen Sie:
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
Wenn dein Gerät kein WPS bewirbt, ist es nicht betroffen und du siehst Folgendes:
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
Das Fingerprinting-Skript stützt sich auf zwei Dinge:
Das Vorhandensein eines proprietären Broadcom-Informationselements ist kein ausreichend starkes Signal, da es manchmal vom Linux-Kernelmodul von Broadcom hinzugefügt wird, während die User-Space-Implementierung nicht aus deren SDK stammt. Wir verwenden dieses Signal, um zu prüfen, ob es sich um Broadcom handelt oder nicht.
Wenn es sich um einen Broadcom-AP handelt, senden wir einen fragmentierten Frame mit Länge null, um zwischen Broadcoms wps_monitor und hostapd zu unterscheiden. hostapd sendet ein ACK, während wps_monitor ein NACK sendet (kurz gesagt).
Wenn wir beide Signale haben (Broadcom IE + Implementierungseigenheit), können wir mit einem recht hohen Konfidenzniveau feststellen, dass Sie betroffen sind.
Sie können betroffene Geräte melden, indem Sie einen Pull Request öffnen. Stellen Sie in Ihrem PR sicher, dass Sie den Hersteller, das Produkt, die Version und optional den Internet Service Provider, der sie einsetzt, angeben. Wenn Sie es statisch identifiziert haben, geben Sie bitte einen Link zur Firmware an. Wenn Sie es dynamisch identifiziert haben, geben Sie bitte den vom Fingerprinting-Skript erzeugten PCAP an.
DIESE LISTE IST NICHT VOLLSTÄNDIG. SIE KÖNNEN BETROFFEN SEIN, SELBST WENN IHR GERÄT NICHT IN DIESER LISTE AUFGEFÜHRT IST.
Der beste Weg, dies zu überprüfen, besteht darin, sich die Firmware zu besorgen, sie zu extrahieren und die YARA-Regel auszuführen. Wenn Sie keinen Zugriff auf die Firmware haben, können Sie das Fingerprinting-Skript über eine drahtlose Schnittstelle im Monitor-Modus ausführen.