Wash zeigt WLANs mit WPS
Categories:

Ist WPS sicher? Was ist WPS Pin und was ist die WPS Taste? Mit Reaver-Testangriff!

Veröffentlicht von empy
Lesezeit: 6 Minuten

WPS (Wi-Fi Protected Setup) bietet zwar einen zusätzlichen Angriffsvektor, mein Selbsttest hat jedoch ergeben, dass aktuelle WLAN-Router durchaus sichere Einsatzszenarien für WPS bieten. Aber: WPS kann sehr unsicher sein, wenn es falsch eingesetzt wird. Je nach verwendeter Methode wird der Komfort bei der Verbindungseinrichtung zum WLAN durch Sicherheitsmängel erkauft. Deshalb findet man WPS auch in so gut wie keiner Unternehmensinstallation vor. Heimischen Anwendern wird da offenbar mehr Bequemlichkeit unterstellt.

Das Prinzip von WPS ist leicht. Anstatt eine recht lange und komplizierte Passphrase bei der ersten Verbindung ins WLAN am Endgerät einzugeben, stellt WPS vier Abkürzungen bereit, welche die Konfiguration des WLAN-Endgerätes übernehmen. Zwei davon sind weit verbreitet: Die Konfiguration per Knopfdruck (auch Push Button genannt) und die Konfiguration per PIN. Letztere kommt in allen heimischen WLAN-Routern vor, die WPS-zertifiziert sind. Weit weniger verbreitet, da nicht erforderlich für die WPS-Zertifizierung der Wi-Fi Alliance®, ist die WPS-Methode mit USB-Stick und NFC.

Was ist die WPS-Taste? Die Push Button (PBC) Methode oder jeder kann das Knöpfchen drücken.

Problematisch wird WPS in der Phase des Schlüsselaustauschs. Die Push-Button-Methode funktioniert dabei wie folgt: Am WLAN-Router befindet sich ein Knopf. Drückt man diesen Knopf, wird für genau zwei Minuten der WPS-Modus aktiviert. Innerhalb dieser Zeit können andere Endgeräte mit dem WLAN verbunden werden, ohne das WLAN-Passwort zu kennen. Dazu sind auch die Endgeräte mit einem Knopf ausgestattet, der gedrückt werden muss. Alternativ kann der Knopf auch softwareseitig umgesetzt sein. Werden also beide Knöpfe innerhalb des Zeitraums von zwei Minuten gedrückt, sorgt WPS für den Schlüsselaustausch und das Endgerät kann sich mit dem WLAN verbinden. Die Push-Button-Methode gilt dabei als sicherere Variante als die PIN-Methode, da WPS sozusagen nur dann aktiv ist, wenn der Knopf auch gedrückt wurde. Sie kommt aufgrund etwas höherer Hardwarekosten aber seltener zum Einsatz. Zudem kann jede Person mit physischem Zugriff auf diesen Knopf (zum Beispiel ein Besucher) Zugang erhalten. Und Gäste sollten dann doch lieber im Gäste-WLAN sein.

Was ist die WPS-PIN-Methode? 8 Zahlen und rohe Gewalt.

Abhilfe schafft da die PIN-Methode. Hierbei muss kein physischer Knopf gedrückt werden. Anstelle der ansonsten üblichen Passphrase muss bei der WPS-PIN-Methode ein 8-stelliger PIN eingegeben werden. Wie der Name schon vermuten lässt: Bei der PIN (Personal Identification Number) handelt es sich nur um Zahlen. Diese Zahlenkombination ist entweder fest auf dem WLAN-Router angebracht oder lässt sich softwareseitig verändern. Ist WPS aktiviert, kann ein Endgerät statt der komplizierten Passphrase beim ersten Verbindungsaufbau dann diese PIN verwenden. Stimmt die Eingabe mit der hinterlegten Nummer überein, erfolgt der Schlüsselaustausch zwischen WLAN-Router und Endgerät automatisch und der WLAN-Spaß kann beginnen.

Eines sollte dabei aber jedem sicherheitsbewussten Anwender sofort ins Auge springen: 8 Zahlen ersetzen eine komplexe Passphrase!? Nun gut, auch eine Passphrase kann nur 8 Zeichen kurz sein, denn dies ist die Mindestlänge bei WLANs. Wirkliche Sicherheit besteht aber erst bei längeren Passphrases mit Zahlen, Buchstaben und Sonderzeichen. WPS-PINS bestehen aber nur aus Zahlen. Doch der Hammer kommt erst noch: Sind die die ersten vier Ziffern der PIN korrekt, kann das der Angreifer erkennen. Das liegt an einer Designschwäche bei WPS. Für die vier Zahlen 0-9 braucht ein Angreifer damit maximal 104 = 10.000 Versuche. Dann werden weitere 1.000 Versuche für die nächsten drei Ziffern benötigt (103). Für drei Ziffern? Richtig, denn die 8. Ziffer ist eine Prüfziffer. So ist es möglich, WPS mit 11.010 Versuchen zu knacken. Eigentlich lächerlich.

Test-Angriff auf eigenes WLAN: Sind aktuelle Router vor einem Angriff geschützt?

Um die Sicherheit der WPS-PIN-Methode zu überprüfen, habe ich ein separates WLAN zum Selbsttest aufgesetzt. Dieses steht unter meiner Kontrolle und dient nur zu Testzwecken. Für den Versuch habe ich WPS mit der PIN-Methode aktiviert. Angriffe auf fremde WLANs sind verboten.

Testsystem ist wieder Kali Linux. Ich verwende wieder meinen AWUS036ACH, welcher den Monitor Mode und den Injection Mode unterstützt. Für den Angriff muss das WLAN in physischer Reichweite sein. Da wir nur unser eigenes WLAN testen, ist dies aber ohnehin der Fall. Und nochmal: Fremde WLANs ohne Erlaubnis anzugreifen ist verboten!

Schritt 1: Monitor Mode

Um die WPS-PIN-Methode anzugreifen, muss der AWUS036ACH zunächst in den Monitor Mode geschaltet werden. Das ist notwendig, um die WLAN-Netzwerke in der Umgebung zu sehen. Diesmal verwende ich jedoch einen anderen Weg als in meinem Artikel. Ich nutze das Programm „airmon-ng“.

sudo airmon-ng check wlan0 
sudo airmon-ng check kill
sudo airmon-ng start wlan0
iwconfig

Die oberen Befehle prüfen zunächst, ob irgendwelche Prozesse unter Kali auf den WLAN-Stick zugreifen. wlan0 ist dabei der Name des Adapters in Kali. „airmon-ng check kill“ beendet alle Prozesse, welche AWUS036ACH hindern könnten, in den Monitor Mode zu wechseln. Anschließend wird der Monitor Mode mit Hilfe von „sudo airmon-ng start wlan0“ aktiviert. Dass alles geklappt hat, zeigt der Befehl „iwconfig“.

Schritt 2: SSIDs mit aktivem WPS finden

Im nächsten Schritt untersuchen wir die WLAN-Netzwerke in der Umgebung. Für das vorliegende Szenario ist vor allem die WPS-Eigenschaft interessant. Ob ein WLAN WPS unterstützt, finden wir mit der Anwendung „wash“ heraus. Dazu folgenden Code in die Konsole eingeben:

sudo wash -i wlan0

Wash scannt dann die WLAN-Netzwerke und zeigt nur diejenigen mit WPS an. Unterstützt eine SSID WPS nicht, dann wird das WLAN in Wash nicht aufgeführt. Wichtig ist vor allem die Spalte „Lck“. „Lck“ steht für „Locked“. Der Wert kann entweder Yes oder No sein. Wenn WPS gegenwärtig aktiviert ist, dann wird in der Spalte Locked ein No vermerkt. Yes bedeutet, der WLAN-Router kann zwar WPS, im Moment ist es aber deaktiviert. Angegriffen werden können nur WLAN-Netzwerke mit aktivem WPS, also Locked = No. Wash kann übrigens mit „STRG + C“ wieder beendet werden.

Wash zeigt nur die WLAN-Netzwerke an, die WPS unterstützen.

Schritt 3: Angriff mit „reaver“ starten

Der WPS-Angriff selbst wird mit dem Programm „reaver“ gestartet. Reaver benötigt zum Start des Angriffs die BSSID des WLAN-Netzwerkes und den Kanal. Beide Angaben bekommen wir von Wash.

sudo reaver -i wlan0 -c 11 -b XX:XX:XX:XX:XX:XX  -vv 

Falls der Angriff vom WLAN-Router blockiert wird, zeigt Reaver eine entsprechende Meldung an und wartet 60 Sekunden. Dies passiert oft, wenn zu viele Fehlversuche innerhalb kurzer Zeit vom WLAN-Router erkannt werden. Dann kann der Befehl um folgende Parameter ergänzt werden. „-d 15“ lässt Reaver 15 Sekunden zwischen den einzelnen Versuchen warten, „-T .5“ ergänzt ein Timeout von einer halben Sekunde und mit „-r 3:15“ wartet Reaver nach 3 Versuchen für 15 Sekunden. Die genauen Werte für gebräuchliche WLAN-Router spielen für unseren Test allerdings keine Rolle. Mit viel Glück erkennt der WLAN-Router dann die Versuche nicht. Der Angriff dauert dann aber auch entsprechend länger.

sudo reaver -i wlan0 -c 11 -b XX:XX:XX:XX:XX:XX  -vv -d 15 -T .5 -r 3:15
Der Angriff mit Reaver läuft. Der Ausschnitt zeigt die durchprobierten PINs 00005678 und 01235678.

Brute Force kann also recht lange dauern, kann aber mit viel Glück auch recht schnell erledigt sein. Mit den Einstellungen aus dem zweiten Befehl wird der Angriff maximal etwa 65 Stunden dauern. Wer es darauf anlegt, der hat die Zeit. Zum Glück lässt sich mit der Tastenkombination „STRG + C“ Reaver jederzeit unterbrechen. Startet man wieder neu, kann Reaver wieder da weitermachen, wo man aufgehört hat. Und dann kann Reaver auch bekannte Sicherheitslücken in der Implementation von WPS in speziellen Chipsätzen ausnutzen, zum Beispiel mittels Pixie-Dust-Angriff.

WPS sicher einsetzen ist möglich

Der Test zeigt: Innerhalb weniger Minuten ist das WPS nur mir sehr viel Glück zu knacken. Ich habe den oberen Test mit mehreren WLAN-Routern durchgeführt. Selbst mit dem zweiten Befehl, welcher die PINs langsamer durchprobiert, wurde ich bereits nach wenigen Minuten ausgesperrt, weil die angegriffenen WLAN-Router den Angriff erkannt haben. Alle aktuellen Geräte sollten dies entsprechend tun. Mit obigen Befehlen könnt ihr euer eigenes WLAN jederzeit überprüfen.

Ich selbst konnte keinen Angriff mit Erfolg abschließen. Meine Erfolgschancen könnte ich eventuell damit erhöhen, indem ich die PINs noch langsamer durchprobieren lasse. Doch dann würde der Angriff noch länger dauern.

Meine Empfehlung

Deshalb habe ich folgende Empfehlungen bei der Verwendung von WPS: Zum einen sollte der Einsatz von WPS immer eine temporäre Angelegenheit sein. Wird WPS nur zum Onboarding neuer Endgeräte in das eigene WLAN-Netzwerk verwendet, dann ist WPS meiner Einschätzung nach recht sicher. Je länger WPS ungenutzt aktiv ist, desto größer sind die Gefahren durch einen Angriff. Ich persönliche nutze WPS trotzdem nicht, sondern nutze eine Passphrase mit 63 Zeichen. Auch ein Radius-Server ist eine sichere Alternative.

Sollte man auf die Nutzung von WPS unbedingt angewiesen sein, ist wenn möglich die Push-Button-Methode vorzuziehen. Immerhin ist hier der physische Zugriff notwendig. Hat ein Angreifer erstmal physischen Zugriff auf die Infrastruktur, braucht es kein WLAN mehr, um auf die Daten im Netzwerk zuzugreifen. In privaten Haushalten ist die Push-Button-Methode tendenziell sicherer als die PIN-Methode.

WPS mit der PIN-Methode lässt sich recht sicher handhaben, wenn es wirklich nur zum Onboarding neuer Endgeräte aktiviert wird. Danach sofort wieder ausschalten. Dann kann recht wenig passieren und ein Angreifer müsste großes Glück haben, in dieser kurzen Zeit den WPS-PIN zu knacken. Siehe oben. Macht es auf jeden Fall besser als meine Nachbarschaft: Dort wären 12 WLANs angreifbar, nur 1 WLAN-Router hatte WPS deaktiviert.