Das Hotel WLAN, mein Laptop und Ich

Achtung! Dieser Artikel ist älter als ein Jahr. Der Inhalt ist möglicherweise nicht mehr aktuell!

Diese Woche war ich auf Schulung in Hannover. Das Hotel bot auf den Zimmern ein offenes und kostenloses WLAN an. Und mir juckte es richtig in den Fingern das System mal „auf Herz und Nieren“ zu testen – soweit meine H4cks0r Sk!llz das zulassen.

Analyse

Authentifizierung

Das System an sich ist ziemlich simpel aufgebaut. Der Router strahlt ein offenes, unverschlüsseltes WLAN aus und lässt keinen Traffic vor der Authentifizierung via Nutzername und Passwort durch (später dazu aber mehr). Die Login Daten erhält man beim Check-In an der Rezeption zusammen mit der Zimmerkarte.

Der Benutzername ist eine vierstellige alphanumerische Kombination und das Passwort ist immer „PC1“. Eingegeben werde die Logindaten auf einem Captive Portal. Dieses erscheint jedes mal, sobald man eine Webseite unbeachtet des Schemas (http oder https) im Browser aufruft. Traffic wird protokollunabhängig bis zur Authentifikation nicht durchgelassen.

Nach der erfolgreichen Authentifizierung setzt der Router die MAC Adresse des Geräts auf eine Whitelist und der Traffic kann frei fließen. Pro Nutzername und Passwort können mindestens 4 Geräte ins Internet (mehr hatte ich nicht zur Hand). Die Geschwindigkeit pro Gerät ist auf 250 kbit/s limitiert.

IPv4 Vergabe

Alles in allem ist das gesamte WLAN im Bereich 10.0.0.0/16. Pro Gerät erhält man via DHCP eine IP Adresse aus einem abgeleiteten /30er IP Netz. Dabei ist mir aufgefallen, dass immer nur ein /30er Netz aus einem /24er Netz vergeben wird. Da jetzt niemand versteht was ich meine ist hier die Anordnung der vergebenen Netzen:

Es ändert sich also jeweils nur das dritte Oktett.

Das besondere an einem /30er Netz ist, dass vier IP Adresse daraus gebildet werden können. Davon sind zwei für Netz- und Broadcast Maske reserviert. Die verbleibenden zwei IP-Adressen können an Geräte vergeben werden. Die erste IP von den zwei erhält das Gateway, die zweite IP das Gerät selber. Beispiel:

Erhaltenes Subnet: 10.0.40.0/30

Netz: 10.0.40.0

IP 1: 10.0.40.1 (Gateway)

IP 2: 10.0.40.2 (frei / Gerät)

Broadcast: 10.0.40.3

Diese Vergabe macht für mich Sinn, da die verschiedenen Clients gegenseitig etwas abgeschirmt sind. Ein bösartiger Teilnehmer in dem Netz kann nicht einfach den PC des Geschäftsmannes auf IP Wege direkt angreifen oder entführen. Zudem kann auf der Broadcast Adresse nichts mitgelesen werden.

IPv6 Vergabe

Es wird keine IPv6 Adresse bzw. Subnetz via DHCPv6 oder Router Advertisement vergeben. Explizit blockiert wird IPv6 Traffic aber auch nicht. Deswegen war es möglich über die Link Local Adresse, die sich jedes Gerät selbst anhand dessen MAC Adresse und aus dem Bereich fe80::/64 errechnet, mit anderen Geräte im Netz zu kommunizieren.

Über diesen Weg ist der Schutzmechanismus, der bei IPv4 gefahren wird, praktisch ausgehebelt. In einem Wireshark Trace sieht man den DropBox LAN Sync anderer PCs oder UPnP Server. Ihr glaubt ja nicht, wie viele Leute raubmordkopieren :-)

Physical Security

In der Schule habe ich gelernt, dass Hardware in ein abgeschlossenes Kämmerchen gehört.

Die Praxis habe ich in diesem Hotel gesehen. Dort war der kleine IT Schrank für’s WLAN im Waschraum, Ich habe nicht aktiv danach gesucht, jedoch war am ersten Tag die Tür dazu offen und beim vorbeigehen bin ich von den blinkenden Switch-LEDs magisch angezogen worden. Natürlich musste ich ein Foto machen.

switchschrank-hotel

Leider stehen nicht viele nützliche Informationen drauf und die Qualität ist auch mies. Da direkt ums Eck die Rezeption war und ich nicht erwischt werden wollte, wie ich drei Schritte im „privatem Raum“ stand, musste das Foto schnell gehen.

Man beachte die vorbildliche Beschriftung der Komponenten und den steckenden Schlüssel :-) Leider stehen keine Zugangsdaten mit drauf.

Angriff

Nachdem mir nun der grundsätzliche Aufbau und die Funktionsweise bekannt ist kommt mein „Angriff“ :-)

Wichtig: Bei jedem gezeigten Versuch bzw. Scan war ich nicht gegenüber dem Router authentifiziert. Außerdem habe ich dabei die MAC Adresse 11:22:33:44:55:66 verwendet.

Attacke auf das Gateway

Als erstes nmap aufgerufen und die offenen Ports analysiert:

root@laptop:~# nmap -sS 10.0.255.1
Starting Nmap 6.47 ( http://nmap.org ) at 2016-03-02 20:00 CET
Nmap scan report for (redacted) (10.0.255.1)
Host is up (0.0012s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
11111/tcp open vce
MAC Address: 4C:02:XX:XX:XX:XX (LEX Computech CO.)

Nmap done: 1 IP address (1 host up) scanned in 20.21 seconds

Port 22: SSH

Auf Port 22 lauscht etwas. „Jackpot“, dachte ich. Meine Hoffnung war, dass ein schlecht abgesicherter SSH Server läuft und nur so auf mein Bute Force Angriff wartet.

In der Tat läuft ein SSH Server auf diesem Port, allerdings nimmt dieser keine Passwort Authentifizierung an :-(

root@laptop:~# ssh 10.0.255.1
The authenticity of host '10.0.255.1 (10.0.255.1)' can't be established.
ECDSA key fingerprint is SHA256:/iOZq9Ehf6C4LefUbQ0QEoAmxE5S3w4I26UNh8LIPIU.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.255.1' (ECDSA) to the list of known hosts.
Permission denied (publickey,keyboard-interactive).

Nach dieser Nachricht habe ich mich nicht weiter mit dem SSH Server beschäftigt. Für das Knacken des Keys hatte ich nicht die erforderliche Rechenleistung parat.

Port 53: Domain

Auf diesem Port läuft der DNS Resolver, der auch ohne Authentifizierung DNS queries korrekt auflöst.

Deep Packet Inspection wird auf diesem Port nicht gemacht. Deshalb war es möglich über diesen Port einen entsprechend konfigurierten Webserver zu erreichen oder eine VPN Verbindung aufzubauen.

Dies ist auch der einzige Port, der nachweislich nicht Bandbreitenlimitiert ist.

Über ein VPN Verbindung zu mir nach Hause über diesen Port ist Streaming in HD via Netflix, YouTube etc möglich. Der Anschluss ist ein VDSL Anschluss der Telekom mit (vermutlich) 50 MBit/s.

„Jackport“, sagte ich. Diesmal erst nachdem ich das System erfolgreich besiegt hatte :-)

Port 11111: VCE

Keine Ahnung was VCE ist. Laut Suchmaschine wird es für „Viral Computing Environment“ benötigt. Im Hotel WLAN läuft auf diesem Port das Captive Portal auf einem nginx Webserver.

root@laptop:~# telnet 10.0.255.1 11111
Trying 10.0.255.1...
Connected to 10.0.255.1.
Escape character is '^]'.

HELLO
HTTP/1.1 400 Bad Request
Server: nginx/1.6.2
Date: Wed, 02 Mar 2016 20:19:50 GMT
Content-Type: text/html
Content-Length: 172
Connection: close

<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.6.2</center>
</body>
</html>
Connection closed by foreign host.

Einen Scan mit Nikto habe ich mir gespart, da ich bereits eine Methode gefunden habe das Setup auf meine Bedürfnisse zu biegen.

Das Portal an sich ist auch sehr schlicht aufgebaut. Im HTML Code sieht man Links auf PHP Scripte, was auf eine PHP Anbindung des nginx hindeutet.

Fazit

Mit meinem Ubuntu und fast reinen Boardmitteln kann man mit ein bisschen Aufwand das System an seine Bedürfnisse anpassen und so zum Beispiel HD Streaming freischalten. Allerdings braucht man trotzdem Hilfe von „außen“.

Auf jeden Fall hat das System jemand mit Ahnung und Verständnis für die Materie aufgesetzt und es sieht auch sehr solide aus. Ich glaube das in der weiten Welt viele WLAN Systeme schlechter aufgebaut sind. Die IPv6 „Lücke“ werde ich der Betreiberfirma auf jedem Fall noch mitteilen.

Mein nächstes System habe ich auch schon im Blick: Viele Fast Food Läden stahlen auch ein öffentliches WLAN aus. Bin gespannt, was da so geht.


Du hast einen Kommentar, einen Wunsch oder eine Verbeserung? Schreib mir doch eine E-Mail! Die Infos dazu stehen hier.

🖇️ = Link zu anderer Webseite
🔐 = Webseite nutzt HTTPS (verschlüsselter Transportweg)
Zurück