[CVE-2020-26097] Hard-Coded Credentials in Netzwerk Videorekorder Planet NVR-915/NVR-1615

15. November 2020

Das Advisory befindet sich am Ende dieser Seite – klicken Sie hier um dorthin zu springen.
If you are looking for the advisory regarding PLANET NVR-915/NVR-1615, please click here.

Videoüberwachung und das Internet

Ungeschützte live Feeds von Überwachungskameras findet man vermehrt im Internet. Meistens werden die Videos nicht nur gestreamt, sondern auch Aufgezeichnet. Die Aufzeichnungsgeräte haben oft einen Netzwerkanschluss und lassen bei Fehlkonfiguration Zugriffe auch aus dem Internet zu . Wir haben in einer Lösung zur Videoaufzeichnung hardgecodete Zugangsdaten vorgefunden. Der Hersteller hatte rasch auf unsere Meldung reagiert und ein Update zur Verfügung gestellt.

Einleitung

Im Rahmen eines Assessments sind wir auf den Netzwerkvideorecorder NVR-915 der Firma PLANET gestoßen. Bei der Analyse des Geräts sind wir auf hardgecodete Zugangsdaten in der Firmware gestoßen. Dadurch war ein root Login auf das Gerät via Telnet möglich. Somit war ein Vollzugriff auf das Gerät und in Folge dessen Zugriff auf das interne Netzwerk möglich. Da die Geräte NVR-915 und NVR-1615 eine ähnliche Firmware haben, betrifft die Lücke auch das NVR-1615 Modell.

Der Hersteller PLANET hatte innerhalb eines Tages auf unsere Meldung reagiert.

Erste Rückmeldung vom Hersteller innerhalb eines Tages

Innerhalb von 3 Wochen wurde uns vom Hersteller vorläufig das Update zugeschickt. Obwohl laut PLANET das Gerät schon End of Life (EOL) erreicht hat wurde die Lücke behoben und das entsprechende Update bereitgstellt. Im Rahmen des Updates wurde der Telnet Zugang vom Gerät deaktiviert.

Seitens MITRE wurde für diese Lücke die CVE Nummer CVE-2020-26097 zugewiesen.

Unserer Recherche nach gibt es zumindest 2 NVR-915 Geräte die offen im Internet erreichbar sind via telnet:

public NVR-915 in shodan

Die Entsprechenden Internet Service Provider (ISP) wurden informiert und gebeten die Information Ihren Kunden weiterzugeben.

Wir konnten keine NVR-1615 Geräte im Netz finden die via Telnet erreichbar waren.

PLANET NVR-915/NVR-1615

Bei diesem Gerät handelt es sich um einen Videorekorder mit Netzwerkanschluss. Es läuft auf einer Embedded Plattform mit einem ARMv7 Prozessor und einem angepassten Linux namens HiLinux. HiLinux wird mittels BusyBox ausgeliefert, dadurch ist die Shell mit einem limitierter Befehlssatz ausgestattet. Programme lassen sich auch nicht einfach via Packetmanager installieren sondern müssen manuell für diese Plattform gebaut werden.

Der Hersteller stellt Firmware Updates als ZIP Dateien auf seiner Webpage zum Download zur Verfügung. Die ZIP Datei beinhaltet eine .pck Datei. Mittels des Tools binwalk haben wir aus dem Firmware Image ein YAFFS Dateisystem extrahiert. YAFFS steht für Yet Another Flash File System und ist speziell für Embedded Systeme entwickelt worden.

Bei der Analyse des Images konnten wir eine passwd Datei lokalisieren in der ein schwaches mittels DES verschlüsseltes Passwort vorgefunden wurde.

Der Inhalt der passwd Datei

Nachdem wir auch die Zugangsdaten extrahiert haben, ist unser Cracking Rig gestartet worden um das verschlüsselte Passwort mit Hilfe von hashcat zu knacken.

Das Password mittels hashcat geknackt

Nachdem das Passwort relativ schnell geknackt worden ist, haben wir es verifiziert in dem wir uns erfolgreich am Gerät via Telnet einloggen konnten:

Verifikation mittels Login als root

Am Gerät konnten wir nicht nur alle Daten einsehen sondern auch eine limitierte Meterpreter Version zum Laufen bekommen und eine Reverseshell starten.

Exkurs: Hardcoded Credentials

Hardcoded Credentials werden heutzutage noch immer in manchen Produkten vorgefunden.

Hard-coded credentials typically create a significant hole that allows an attacker to bypass the authentication that has been configured by the software administrator. This hole might be difficult for the system administrator to detect. Even if detected, it can be difficult to fix, so the administrator may be forced into disabling the product entirely. There are two main variations:
Inbound: the software contains an authentication mechanism that checks the input credentials against a hard-coded set of credentials.
Outbound: the software connects to another system or component, and it contains hard-coded credentials for connecting to that component.

Auszug aus DER Common Weakness Enumeration (CWE) CWE-798: Use of Hard-coded Credentials Definition

Fazit

Streamende Kameras als auch aufzeichnendende Geräte müssen besser geschützt werden. Insbesondere sollte die Exponiertheit im Internet deutlich beschränkt werden. Sollten Sie die hier genannten Geräte verwenden, lesen Sie bitte das nachfolgende Advisory.

Der Hersteller hat vorbildlich reagiert und die Lücke trotz EOL des Geräts geschlossen. Wir wünschen uns das alle Hersteller so vorbildlich reagieren auf Meldungen von Sicherheitslücken.

Ausblick – weitere Forschung

Wir werden weitere Forschung in diesem Bereich betreiben. Aufgrund der hohen Verwantwortung gilt hier selbstverständlich das Responsible Disclosure Prinzip, das bedeutet, wir werden keine Schwachstellen veröffentlichen bevor diese behoben wurden bzw. eine entsprechende Frist vergangen ist.

Verlauf Disclosure PLANET – NVR-915

  • 24.09.2020, 13:14: Anfordern einer CVE Nummer bei MITRE
  • 24.09.2020, 13:37: Meldung der Lücke an den Hersteller PLANET über das Kontaktformular der Webseite
  • 24.09.2020, 18:22: Antwort von MITRE mit Zuweisung von CVE-2020-26097
  • 25.09.2020, 11:34: PLANET antwortet auf unsere Meldung und prüfen die gemeldete Lücke
  • 19.10.2020, 12:29: Update von PLANET: Telnet Zugang wurde deaktiviert und die geupdatete Firmware wurde an uns gesendet. Update Release auf Produktseite wird vorbereitet.
  • 04.11.2020, 10:48: Nachfrage bei PLANET bzgl. Bereitstellung des Updates auf der Produktseite
  • 05.11.2020, 04:36: PLANET informiert uns, dass das Update bereit steht auf der Download Seite
  • 05.11.2020: Wir melden den beiden Internet Service Providern das ein Update für die verwundbaren Geräte in deren Netzwerk existieren

Advisory – Deutsch

Wir konnten zumindest zwei NVR-915 Geräte im Internet ausfindig machen, die verwundbar waren.
Auswirkung/Impact: Es ist ein Root Zugriff via Telnet auf das Gerät mittels hardgecodeten Zugangsdaten möglich. Insbesondere ist es möglich, mit Hilfe des Zugangs eigenen Code am Gerät auszuführen als auch Daten aus dem internen Netzwerk zu exfiltrieren.

Wenn Sie den Videorekorder NVR-915 bzw. NVR-1615 von PLANET in Ihrem Netzwerk oder Ihrer Organisation verwenden, stellen Sie folgendes sicher:

  • Updates einspielen: Spielen Sie umgehend das bereitgestellten Update vom Hersteller ein!
  • Telnet limitieren: Limitieren Sie den Zugriff auf den Telnet Port des Geräts.

Advisory – English

We have identified at least two NVR-915 appliances on the internet that were vulnerable.
Impact: It is possible to gain full root access on the device. In case of logon with hardcoded credentials ,it might be further possible run own code on the device and exfiltrate data from the internal network.

If you are running this appliance in your organisation, try the following to identify if you are affected:

  • Update your appliance: Update your videorecorder. PLANET released a firmware update
  • Limit the telnet access: Limit the access to the telnet port of the appliance.

Das Coverbild stammt von Pixabay, Benutzer vjkombajn