Um das eigene WLAN auf Sicherheit zu prüfen, können wir mit einem einfachen Toolset unser WLAN hacken. Natürlich geht das auch, wenn ihr euer WLAN-Passwort vergessen habt. Dafür brauchen wir ein Linux (z.B. Ubuntu) und ein WLAN-fähiges Gerät, welches Monitoring unterstützt.

In meinem Fall nutze ich einen Nvidia Jetson Nano. Stromsparend, da es schon eine Weile dauern kann, aber mit einer GPU ausgestattet, um schnell zu entschlüsseln.

Wichtig ist, dass wir ein LAN-Kabel zusätzlich angeschlossen haben, da das WLAN Modul anderweitig genutzt wird. ;)

Vorbereitung:

Wir sind mit SSH auf dem System verbunden, welches das WLAN hacken soll.

sudo apt install aircrack-ng

Mit aircrack-ng, welches eine Sammlung von Computerprogrammen ist, können Schwachstellen im WLAN-Protokoll ausgenutzt werden. Ziel ist es einen WLAN-Passwort Handshake zu protokollieren, um das im Handshake enthalte Passwort zu knacken. Dadurch das alle Daten über WLAN (Funk) übertragen werden, kann grundsätzlich jedes Gerät mit einer WLAN-Antenne diese Funkwellen auffangen und mitlesen.

Jetzt prüfen wir, ob das genutzte Gerät WLAN Monitoring unterstützt:

sudo airmon-ng start wlan0

Erhaltet ihr folgende Meldung, dann braucht ihr eine andere WLAN-Karte z.B. über USB angeschlossen.

ERROR adding monitor mode interface: command failed: Operation not supported (-95)

In meinem Fall erhalte ich die Nachricht nicht.

Ziel WLAN ermitteln

Jetzt müssen wir unser gewünschtes WLAN finden. Damit wir mit der Aufzeichnung beginnen können.

Mit folgendem Befehl könnt ihr die WLANs in euer Umgebung anzeigen lassen

sudo airodump-ng wlan0mon

Habt ihr euer gewünschtes WLAN gefunden, dann müsst ihr euch den WLAN Channel (Spalte CH) sowie die BSSID merken.

WLAN Aktivität aufzeichnen

Mit folgendem Befehl könnt ihr die WLAN Aktivität des gewünschten WLANs aufzeichnen.

sudo airodump-ng --bssid {{EURE BBSID}} --channel {{EURER CHANNEL}} --write WLANDump wlan0mon

Jetzt zeichnet der airodump-ng-Befehl alle WLAN Aktivitäten auf mit dem Ziel ein Handshake mitzubekommen. Das Ergebnis schreibt er in das File WLANDump-01.cap.

Als nächstes müsst ihr mit irgendeinem Client in das WLAN verbinden. "Echte Hacker" verwenden jetzt folgenden Befehl, um ein Disconnect-Signal an alle Clients zusenden, damit sich die Client neu verbinden.

sudo aireplay-ng --deauth 10 -a XX:XX:XX:XX:XX wlan0mon

Da wir unser eigenes WLAN testen brauchen wir das nicht machen sondern können mit einem eigenen Client uns verbinden.

Sobald airodump-ng einen Handshake aufgezeichnet hat schreibt er es in die Ausgabe:

Das heißt ihr könnt eure Aufzeichnung beenden und diesen Handshake entschlüsseln.

WLAN Handshake entschlüsseln

Ihr habt zwei Standard-Möglichkeiten den Handshake zu entschlüsseln.

Handshake mit Hilfe von Passwort-Dateien entschlüsseln

Da Menschen häufig gleich sind, gibt es auch häufig wiederkehrende Passwörter. Mit Hilfe sogenannter Wörterlisten auf denen die häufigsten Passwörter stehen kann der Handshake schneller decodiert werden, damit nicht jede Buchstaben und jede Zahlen-Kombination ausprobiert werden muss.

Mit folgendem Befehl könnt ihr Wörterlisten verwenden:

sudo aircrack-ng WLANDump-01.cap -w ./passwords.txt --bssid {{EURE BSSID}}

In der passwords.txt steht Zeile für Zeile die Passwort-Möglichkeiten, welche geprüft werden. Es gibt auch große fertige Listen wie die >15 GB-Liste von CrackStation in der eine Vielzahl von echten Passwörtern gesammelt wurde.

Sobald aircrack-ng das Passwort gefunden hat zeigt es euch es an:

Handshake mit Hilfe der Brute-Force Methode entschlüsseln

Die deutlich länger dauernde Methode ist die Brute-Force Methode. Dabei werden alle möglichen Kombinationen die es geben könnte ausprobiert.

Die Zeit bis das Passwort geknackt ist basiert sehr auf der Rechenpower die ihr zur Verfügung habt. Das könnte man natürlich auch auf mehrere Rechner verteilen, wenn man schneller sein will.

Um das Passwort zu Brute-Forcen brauchen wir noch das Tool crunch, welches uns alle Buchstaben und Zahlen-Kombinationen erstellen kann.

sudo apt install crunch

Als nächstes können wir mit crunch alle Kombinationen erzeugen.

crunch 10 16 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012356789?" | aircrack-ng -w - WLANDump-01.cap --bssid {{EURE BSSID}}

Dabei ist crunch {{min. Zeichenlänge}} {{max. Zeichenlänge}} {{Zeichen die das Passwort enthalten kann}}.

Das kann jetzt eine ganze Weile dauern...

Sinnvoller wäre wahrscheinlich hashcat einzusetzen, da hashcat vollen Support für die GPU hat. Diese ist um ein vielfaches schneller als die CPU.

Happy hacking,
Cheers Jörg