Das Hauptgebäude der Swisscom - Bild von Claudio Schwarz

Bruteforcing bei Swisscoms Internet-Box 2 – Swisscom Scripts Teil 1

Mit über 2 Millionen Internetanschlüssen gehört Swisscom zu den grössten ISP's der Schweiz. Da ich mehr über Swisscom's Geräte herausfinden wollte und weil die Swisscom ein Bug-Bounty-Programm anbietet, habe ich mir die Internet-Box 2 genauer angesehen.

Bei den Tests, die ich durchgeführt habe, habe ich zwar keine akuten Sicherheitslücken gefunden, jedoch ein paar interessante Methoden, um Informationen auszulesen. Aus zweien (bzw. drei) dieser Methoden habe ich zwei Python-Skrypte geschrieben. Jedoch werde ich in naher Zukunft noch weitere (kompliziertere) Skripte schreiben. Alle diese Skripte liegen in dem Github-Repository und stehen frei zur Verfügung.

Kleiner Zwischenteil: Die Skripte sind zwar keine richtigen Exploits, da keine richtige Sicherheitslücke zugrunde liegt, jedoch muss trotzdem gesagt werden, dass die Benutzung auf EIGENE GEFAHR erfolgt. Bruteforcing in fremden Netzwerken ist illegal.

Ich werde pro Skript einen Artikel schreiben. Dieser hier ist der erste und handelt über das Bruteforcing-Script.

Das Bruteforcing-Skript

Ich empfinde Bruteforceangriffe zwar als ziemlich primitiv, jedoch geht es hier streng genommen nicht um Bruteforcing, sondern um die Umgehung der Anmeldesperre bei zu vielen Fehlversuchen.

Die Anmeldemaske der Internet-Box 2
Die Anmeldemaske der Internet-Box 2

Die Internet-Box kommuniziert hauptsächlich durch XML und JSON mit der Weboberfläche. Die Verschiedenen Daten werden über HTTP angefragt. Einige der Funktionen benötigen eine Authentifizierung.

Ich weiss jedoch nicht, nach welchen Kriterien die Funktionen eingeordnet sind. Zum Beispiel benötigt die Abfrage der aktuellen Zeit eine Authentifizierung, während die Funktion zum Anzeigen aller verbundenen Geräte keine Authentifizierung benötigt….

_Passwort Zurücksetzen_ bei der Internet-Box
Passwort Zurücksetzen bei der Internet-Box

Als ich die Weboberfläche untersucht habe, stach mir die Passwort zurücksetzen Funktion ins Auge. Diese Fragt nach dem aktuellen Passwort und nach jedem Tastenanschlag wird angezeigt, ob das Passwort richtig ist.

Nach jedem Tastenanschlag wird angezeigt, ob das Passwort richtig ist
Nach jedem Tastenanschlag wird angezeigt, ob das Passwort richtig ist

Die Untersuchung des Traffics zeigt an, dass die dazu benutze Funktion eine Andere ist als die beim Login. Zudem benötigt diese Funktion keine Authentifizierung.

Der Request

Der abgefangene Request sieht wie folgt aus:

POST /sysbus/UserManagement:authenticate HTTP/1.1
Host: 192.168.1.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:63.0) Gecko/20100101 Firefox/63.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.1.1/
Content-Type: application/x-sah-ws-1-call+json
X-Requested-With: XMLHttpRequest
Content-Length: 81
Connection: close


{"parameters":{"name":"admin","password":"strenggeheimesdochtrotzdemschlechtespasswort","groups":["http","admin"]}}

Die Anfrage mit HTTP POST an den UserManagement-Teil des Sysbus, der eben solche Sachen verwaltet. Im Body befindet sich der Benutzername, das Passwort und die Benutzergruppe im Json Format.

Wenn das korrekte Passwort in diesem Request gesendet wird, sendet die Internet-Box eine Antwort mit dem Status True zurück. Wenn dies über das Webinterface geschieht, wird das mit einem Häkchen angezeigt.

Da jedoch bei jedem Tastenanschlag ein solcher Request gesendet wird, habe ich vermutet, dass keine Beschränkung eingebaut sein kann und habe das ausprobiert.

Nach Überprüfung habe ich ein Python-Skript geschrieben, das auf Github frei zur Verfügung steht.

Fazit

Ich denke, diese “Lücke” zeigt gut, dass alle Zugänge zu einer bestimmten Funktion zwingend gleich gut gesichert sein sollten. Hier sollte man zum Beispiel eine Authentifizierung erzwingen, da diese Funktion ja ohnehin nur über die Passwort zurücksetzen Funktion gebraucht wird. Die Welt verändern wird es nicht….

News und andere interessante Sachen.

Blog.

Auf unserem Blog finden Sie interessante Artikel über von uns gefundene Sicherheitslücken, aktuelle Themen, Neuigkeiten und weiteres