Blogbeitrag 16. Januar 2019 von Michael Kubiaczyk, leitender Sicherheitsberater bei Bureau Veritas Cybersecurity
Blog nur auf Englisch verfügbar
de
de
Blogbeitrag 16. Januar 2019 von Michael Kubiaczyk, leitender Sicherheitsberater bei Bureau Veritas Cybersecurity
Blog nur auf Englisch verfügbar
Ich habe vor kurzem ein Haus in den Niederlanden gekauft, und eines der Merkmale, die mich am meisten angesprochen haben, waren die Kameras, die in der Nähe der Vorder- und Hintertür des Hauses angebracht sind. Während ich mich bei meiner Arbeit in der Regel mit der technischen Sicherheit von Websites beschäftige, finde ich die physische Sicherheit meines eigenen Hauses ebenfalls sehr wichtig! Bei einem unserer Besuche in dem Haus, bevor wir es kauften, sprach ich mit dem Vorbesitzer, der mir eine wirklich nette Funktion des Systems zeigte: Er konnte die Kameraaufzeichnungen auf seinem Telefon abrufen. Eine sehr nette Funktion, aber auch beängstigend, denn jeder hat schon von Webcams gelesen, die einfach direkt mit dem Internet verbunden sind. Jeder könnte uns beobachten!
Als ich einzog, habe ich natürlich als Erstes die ganze Sache abgeschaltet, da ich keine Zeit hatte, das herauszufinden. Nachdem ich mich eingelebt hatte, konnte ich nachforschen, wie das alles konfiguriert war. Ich begann dort, wo alle Kabel beginnen, im Schaltschrank, wo ich ein merkwürdiges Gerät mit mehreren Netzwerkkabeln sah, das an der Wand befestigt war (unten rot umrandet):
Es war an nichts angeschlossen - ich hatte zunächst sowieso kein Internet - aber ich konnte sehen, dass mehrere Kabel aus dem Haus kamen und ein Kabel nach unten hing, wo es vorher angeschlossen gewesen sein musste. Ich schnappte mir meinen Laptop und schloss ihn direkt an das Kabel an, das aus dem Gerät kam. Sobald die Verbindung hergestellt war, konnte ich den Datenverkehr abhören, der über diese Leitung lief, was ich mit dem Befehl tcpdump tat.
Aus diesem Datenverkehr konnte ich zwei interessante Adressen erkennen:
Dies ist eine wichtige Information, denn als ich das Netzwerkkabel an meinen Laptop angeschlossen habe, wurde meinem Laptop keine IP-Adresse zugewiesen - normalerweise würde ein DHCP-Server eine für mich vergeben. In diesem Fall ersetzt mein Laptop die Stelle im Netzwerk, an der sich normalerweise ein DHCP-Server (oder eine andere Netzwerkinfrastruktur) befinden würde. Um eine Verbindung zu dem Zielgerät(192.168.1.10) herzustellen, benötige ich also eine Route dorthin. Das bedeutet, dass mein Laptop eine IP-Adresse benötigt, die von der IP-Adresse des anderen Geräts aus erreichbar ist. Ich bin davon ausgegangen, dass die nächsthöhere IP-Adresse funktionieren würde, und habe meine eigene IP-Adresse eingestellt:
Die Netzmaske war eine informierte Schätzung und funktioniert wahrscheinlich in den meisten Heimnetzwerken (im Bereich 192.168.x.y). Nachdem dies erledigt war, konnte ich ping 192.168.1.10 ausführen und erhielt Antworten. Großartig! Jetzt wollen wir sehen, was hier los ist.
Da wir nun in der Lage sind, mit dem Ziel zu kommunizieren, können wir überprüfen, welche Dienste auf welchen Ports laufen. Dazu führen wir das Tool nmap aus:
Mit diesem Befehl wird die Ziel-IP (192.168.1.10, das Gerät) an jedem der im Befehl angegebenen Ports überprüft, um festzustellen, ob an jedem Port etwas läuft (und reagiert). In diesem Fall habe ich den Befehl mit --top-ports1000 ausgeführt -- nmap enthält eine Liste der am häufigsten vorkommenden Ports und hat für diesen Befehl die 1000 wichtigsten dieser Ports ausgewählt. Sie würden erwarten, dass ein Webserver auf den Ports 80 oder 443 läuft, aber einige Geräte (wie Synology Netzwerkspeicher) verwenden seltsame Ports wie 5000. Sie können also die Anzahl der gescannten Ports erhöhen (oder alle möglichen Ports scannen), aber das wird die Zeit, die der Scan benötigt, erhöhen.
In der obigen Antwort sehen wir, dass die Ports 80 (HTTP - d.h. Website), 554, 8000 und 9010 von verschiedenen Diensten verwendet werden. Da mein Ziel im Moment nur darin besteht, auf die vorhandene Verwaltungsschnittstelle zuzugreifen, bleibe ich beim Port 80-Dienst und kümmere mich nicht weiter um die anderen. Ich rufe die URL http ://192.168.1.10/ in einem Browser auf und sehe das Folgende:
Es ist also eine einfache Anmeldeseite. Ich versuche, mich mit einigen Vermutungen anzumelden (admin/admin, admin/hikvision, einige Vermutungen auf der Grundlage des Namens des Vorbesitzers), aber ohne Erfolg. Trotzdem habe ich einige Fortschritte gemacht und weiß jetzt, dass es sich um ein Aufnahmegerät/Switch der Marke Hikvision handelt, an das alle Kameras angeschlossen sind. Wenn Sie diese Marke googeln, sehen Sie, dass sie die Sicherheit sehr ernst nehmen - es gibt keine Standardpasswörter für das Gerät und keine Möglichkeit, es auf Null zurückzusetzen. Die einzige Möglichkeit, das Passwort zurückzusetzen, besteht darin, ein technisches Support-Tool zu installieren, die Seriennummer des Geräts zusammen mit einigen anderen Informationen zu ermitteln, diese an die E-Mail des technischen Supports zu senden und auf eine Antwort zu warten. Ich installiere also das Support-Tool, um die erforderlichen Informationen zu erhalten, und schicke eine E-Mail an den technischen Support.
Auf der Website heißt es, dass dies ein paar Stunden dauern kann, aber ich warte nicht darauf, also stöbere ich in der Zwischenzeit im Internet herum, um zu sehen, welche Informationen für diese Marke verfügbar sind. Ich finde heraus, dass es für einige ältere Versionen eine öffentlich bekannt gegebene Pufferüberlaufschwachstelle gab und jemand ein Tool zum Zurücksetzen des Passworts geschrieben hat, das diese Schwachstelle ausnutzt, um das Passwort zurückzusetzen. Ziemlich klasse, aber leider funktioniert es bei mir nicht, da ich eine etwas neuere Version zu haben scheine.
Ich trenne also meinen Laptop vom ausgehenden Port des Hikvision NVR (Network Video Recorder) und schließe ihn stattdessen an einen der anderen Ports an, an denen die Kameras angeschlossen sind. Auch hier habe ich zunächst keine IP-Adresse, also höre ich den Datenverkehr ab, der durch den NVR fließt:
Innerhalb des NVR-Netzwerks sehe ich die folgenden Geräte, die versuchen zu kommunizieren:
Das Innere des NVR-Netzwerks ist also so konfiguriert, dass ein Netzwerkbereich wie 192.168.254.0/24 verwendet wird. Diesmal wähle ich 192.168.254.5, da sie in der Mitte liegt, zwischen einigen IPs, von denen ich weiß, dass sie in Gebrauch sind. Jetzt kann ich die Geräte anpingen, also führe ich erneut einen Scan durch, um zu sehen, was ich sehen kann:
IP |
Anschluss |
Dienst |
192.168.254.1 |
80 |
http |
192.168.254.1 |
554 |
rtsp |
192.168.254.1 |
8000 |
http-alt |
192.168.254.1 |
9010 |
sdr |
192.168.254.4 |
22 |
ssh |
192.168.254.4 |
80 |
http |
192.168.254.4 |
554 |
rtsp |
192.168.254.4 |
8000 |
http-alt |
192.168.254.1 |
9010 |
sdr |
192.168.254.4 |
49152 |
unbekannt |
Die Ergebnisse enthalten eigentlich mehr Geräte, da ich mehrere Kameras angeschlossen habe, aber die verbleibenden Kameras zeigen die gleichen Ports wie 192.168.254.4 oben, die den von außen am NVR-Gerät selbst angezeigten Ports ziemlich ähnlich sind. Ich verbinde mich mit der http-Schnittstelle über http: //192.168.254.4/, sehe aber dieselbe Anmeldeseite und kann ohne das Passwort nicht weitermachen. An diesem Punkt bin ich etwas ratlos, also warte ich eine Weile. Der Einfachheit halber schließe ich den NVR direkt an meinen Heimrouter an, so dass ich von meinem Desktop aus darauf zugreifen kann, ohne mich mit Kabeln herumschlagen zu müssen. Ich stelle jedoch sicher, dass meine Firewall alle ausgehenden Internetverbindungen für 192.168.1.10 deaktiviert. Ich möchte nicht, dass die Kameraaufzeichnungen in der Zwischenzeit irgendwo übertragen werden.
Schließlich erhalte ich eine Antwort vom Technischen Support. Mit dem Schlüssel zum Zurücksetzen des Passworts kann ich das Support-Tool verwenden, um die Passwörter auf meinen Geräten zurückzusetzen. Dann kann ich mich über die Weboberfläche anmelden und gehe alle Konfigurationsseiten durch, um sicherzustellen, dass keine Benutzerkonten mehr vorhanden sind, die "Cloud-Integration" deaktiviert ist und alle Speichereinstellungen überprüft werden. Da ich nicht vorhabe, dies in nächster Zeit online zugänglich zu machen, lasse ich meine Firewall jeglichen ausgehenden Datenverkehr blockieren und richte einen meiner eigenen Monitore zu Hause ein, um den Video-Feed anzuzeigen.
Mein Zuhause gehört mir! Ich kann jetzt ganz einfach sehen, wenn in meinem Haus etwas vor sich geht, und ich kann mir alle Videos ansehen, die dank der Bewegungserkennung aufgezeichnet wurden. Und das Wichtigste: Ich weiß, dass niemand sonst darauf zugreifen kann.