MAC Spoofing

So mancher vertraut bei der Sicherung seines WLAN der Verschlüsselung mit einem hinreichend langen Passwort alleine nicht, sondern schwört auf eine Whitelist für MAC-Adressen. Eine MAC-Adresse ist die physikalische Kennung, die (theoretisch) in jeder Netzwerkschnittstelle fest eingebaut ist und weltweit nur einmal vergeben wird. Damit wäre es theoretisch möglich, den Zugang zum WLAN nur auf bekannte Netzwerk-Geräte einzuschränken, die man anhand ihrer MAC-Adressen identifiziert.

Ganz so gut funktioniert das in der Praxis nicht, da sich MAC-Adressen meist über den Treiber von der Software ändern lassen. Aus diesem Grund sind MAC-Whitelists mehr ein kleines nerviges Hindernis als ein wirklich wirksamer Schutz.

Problematisch werden MAC-Adressen-Filter, wenn gewollter Besuch ins heimische Netz kommt. Es reicht dann nichtmehr, den Schlüssel zum WLAN weiterzugeben, sondern für jedes Gerät das Zugriff zum Netzwerk erhalten soll muss dessen MAC-Adresse händisch im Router der Whitelist hinzugefügt werden. Das ist unnötig aufwendig und bisweilen (wenn ein Dritter das Netz konfiguriert hat) fehlt dem Betreiber des Netzwerks das Wissen dazu.

In diesem Fall kann es nötig oder deutlich unkomplizierter sein, die MAC-Whitelist durch sogenanntes MAC-Adressen Spoofing zu umgehen. Die Idee dabei ist, wenn man den Verschlüsselungs-Key des Netzwerks besitzt, die MAC-Adresse eines zugelassenen Geräts in einem anderen Gerät zu übernehmen und den Router so auszutricksen.

Dazu findet man zuerst von einem im Netzwerk befindlichen Gerät die MAC-Adresse heraus. Dies geht, indem man Netzwerk-Verkehr mitschneidet oder direkt an einem solchen Gerät in den Einstellungen nachliest.

Anschließend muss man die MAC-Adresse in dem neuen Gerät übernehmen. Dies geht unter Linux ganz einfach mit dem folgenden Kommando:

sudo ifconfig [Interface] down
sudo ifconfig [Interface] hw ether [MAC-Adresse]
sudo ifconfig [Interface] up

Nun hat die eigene Netzwerkschnittstelle die "geklaute" MAC-Adresse. Damit beim Aushandeln der Verschlüsselung (via WPA) diese Änderung auch übernommen wird, muss der WPA-Supplicant-Daemon, der zumindest bei aktuelleren Versionen der Ubuntu Distribution im Hintergrund seinen Dienst verrichtet, neu gestartet werden:

sudo killall wpa_supplicant

Berücksichtigt man diesen Schritt nicht, kann man im Syslog nachvollziehen, dass die Anmeldung am Netzwerk eigentlich vielversprechend beginnt, aber bei 4-Way-Handshake plötzlich abbricht. Ursächlich dafür ist, dass der WPA-Supplicant beim 4-Way-Handshake über die MAC-Adressen von Access Point und Client versucht, die Verschlüsselung auszuhandeln. Wird der WPA-Supplicant nicht neu gestartet, verwendet er bei der Aushandlung die alte MAC-Adresse während der Access Point die neue MAC-Adresse sieht; das Aushandeln scheitert, die Verbindung kommt nicht zustande.

Hat man die MAC-Adresse erfolgreich geändert und den WPA-Supplicant neu gestartet, kann man wie gewohnt über das NetworkManager Applet die Verbindung zum gewünschten WLAN aufbauen -- vorausgesetzt man kennt den Schlüssel für die Verschlüsselung.

Tags: | Linux Netzwerk