BLACK HAT USA Konferenz. Wie ein Hollywood-Hacker Überwachungskameras einsetzt. Teil 2

BLACK HAT USA Konferenz. Wie ein Hollywood-Hacker Überwachungskameras einsetzt. Teil 1

Wir können diesen Fehler auch verwenden, um das verschlüsselte Administratorkennwort abzurufen oder zu ersetzen, das in / etc / privpasswd gespeichert ist.



Wir können den Inhalt aus dieser Datei ziehen. Wie Sie sehen können, enthält es den Root-Benutzernamen und das verschlüsselte Passwort.



Im Moment haben wir zwei Möglichkeiten: Sie können versuchen, das Passwort mit einem Tool wie John the Ripper zu entschlüsseln:



Wenn dies nicht funktioniert, zum Teufel damit - wir haben root und überschreiben diese Datei einfach. In jedem Fall erhalten wir Zugriff auf das „Admin-Panel“, und auf die gleiche Weise wie im Fall der vorherigen Kamera haben wir wieder die Rechte sowohl des Administrators als auch des Root-Benutzers.



Diese Sicherheitsanfälligkeiten treten bei den meisten IQ InVision-Kameras auf, einschließlich der Serien 3 und 7, Sentinel, Alliance-Pro, Alliance-MX und Alliance-Mini. Ich werde nicht alle Modelle auflisten, sonst werde ich für immer hier bleiben. Die gesamte Liste dieser Kameras ist im Internet in der Shodan Dork-Liste verfügbar. Das Traurige ist, dass, wie Sie wissen, die Kameras dieses Herstellers in Schulen, Polizeistationen, Banken, Casinos, Finanz- und Beratungsunternehmen, DHL-Diensten usw. weit verbreitet sind.

Ich habe gesehen, dass die teuerste Kamera heute die N5072 von 3SVision ist. Der Preis wird durch den Satz "Kontakt" angezeigt, sodass mir sofort klar wurde, dass ich es mir nicht leisten kann. Ich hatte einige Probleme mit dieser Kamera, da ich für alle anderen Kameras einfach auf die Website des Herstellers gehen, die Firmware herunterladen und den Code auf Schwachstellen analysieren konnte. Ich musste kein Gerät kaufen, zumindest um erste Tests durchzuführen.



Als ich jedoch auf die Website des Herstellers ging, um die Firmware für diese Kamera herunterzuladen, wurde ein JavaScript-Popup-Fenster vor mir angezeigt, in dem ich aufgefordert wurde, mein Passwort einzugeben. Ich habe sofort alle gängigen Passwörter ausprobiert: Liebe, Sex, Gott, aber es hat nicht funktioniert. Aber am Ende funktionierte die Registerkarte Passwort = 4. Und weißt du warum? Wenn Sie sich das JavaScript ansehen, das das Passwort an den Server zurücksendet, muss ich nicht einmal erklären, was Sie dort sehen (Gelächter), es ist einfach großartig.



Bis Sie das richtige Passwort erhalten, werden Sie einfach zur aktuellen URL mit dem kaufmännischen Und = 4 am Ende der Zeile umgeleitet. Da ich kompetent genug bin, um zu verstehen, was es ist, habe ich dieses Ding als Passwort eingegeben und bin zur Firmware-Download-Seite gegangen.

Ein solcher Ansatz ist kein gutes Zeichen für die Sicherheit ihres Systems. Die Tatsache, dass sie den benutzerdefinierten httpd-Webserver in der Firmware verwenden, sieht ziemlich harmlos aus. Wenn Sie sich jedoch die Zeilen in dieser Binärdatei ansehen, können Sie feststellen, dass sie alle in hohem Maße anpassbar sind.



Da es wirklich anpassbar aussieht, muss ich überlegen, wie der Webserver mit der Authentifizierung umgeht. Jetzt, da ich weiß, dass Kameras grundlegende HTTP-Geräte zur Authentifizierung verwenden, verwende ich base64 zum Entschlüsseln. Wenn Sie mit der Authentifizierung über http vertraut sind, wissen Sie, dass hier der Benutzername und das Kennwort kombiniert und dann in base64 codiert werden.



Also suchte ich im Code nach Querverweisen, die b64_decode erwähnen. Alles, was sie tun, wenn sie Ihr Passwort entschlüsseln, ist, es zur Überprüfung an b64_decode zu übergeben, und perfekt, das ist in Ordnung, sie haben Ihr Passwort entschlüsselt. Dann führen sie zwei Zeichenfolgenvergleiche durch: eine Zeichenfolge mit einem fest codierten Parameter 3sadmin und eine weitere fest codierte Zeichenfolge 27988303.

Früher dachte ich, dass Sie nicht so dumm sein können, fest codierte Dinge in Ihren HTTP-Server zu integrieren, da dies nicht vertrauenswürdig ist, aber weiterhin funktioniert.



So können Sie auf jede 3SVision-Kamera zugreifen und Administrator werden. Auf diese Weise erhalten Sie Zugang zu Videokassen, taiwanesischen Kontrollpunkten und Kellern russischer Industrieunternehmen.

Aber das ganze Video anzuschauen wird ziemlich schnell langweilig, also wollte ich mich an die Wurzel setzen. Glücklicherweise enthält der Code alle Arten von unsicheren Systemaufrufen, und der Angreifer öffnet das breiteste Feld für Angriffe, insbesondere wenn er sich als Administrator anmeldet. Das beste Beispiel hierfür ist der Video-Handler records.cgi.



Nicht alle, aber viele dieser Kameras unterstützen die lokale Speicherung. Sie können also beispielsweise Ihre SD-Speicherkarte in die Kamera einlegen und Videos selbst darauf speichern. Sie haben auch die Möglichkeit, einige grundlegende Dateien über die Administrationsoberfläche zu verwalten. Dies erfolgt über die Funktion do_records auf der CGI-Seite. Cgi ist keine physische Seite auf der Festplatte. Wenn der Webserver feststellt, dass Sie einen CGI-Datensatz angefordert haben, ruft er den Funktionshandler do_records auf, der überprüft, welche Aktion Sie ausführen. Wenn Sie beispielsweise eine Datei entfernen möchten, müssen Sie den Befehlswert aRemove gleich "remove" an sie übergeben.



Außerdem müssen Sie angeben, welche Datei Sie löschen möchten.



Dieser Dateiname wird in den RM-Befehl eingefügt, der an das System übergeben wird.



Ich denke, Sie haben bereits verstanden, wozu dies führen könnte. Anstelle eines Dateinamens können Sie einen Befehl einfügen, der einen Neustart des Systems usw. verursacht. In diesem Fall erhalten wir die volle Kontrolle über das System, wie dies beim Hacken früherer Kameras der Fall war.



Dies funktioniert auf fast der gesamten 3SVision-Produktlinie und betrifft nicht nur Kameras, sondern auch deren Videoserver, da sie denselben Webserver verwenden. Als ich meine Recherchen durchführte, entdeckte ich eine andere Firma namens A-Linking, die dieselbe Firmware in ihren Kameras verwendet. Aber sie haben die fest codierten Anmeldeinformationen in etwas anderes geändert. Sie haben also immer noch diese fest codierten Daten, aber jetzt unterscheiden sie sich von den Anmeldeinformationen, die in der Firmware der 3SVision-Kamera verwendet werden. Ich werde nicht alle Modelle solcher Kameras auflisten, ich stelle nur fest, dass sie alle in der Shodan Dork-Schwachstellenbewertung enthalten sind.



Aufgrund ihrer hohen Kosten im Vergleich zu Kameras anderer Hersteller ist dies besonders interessant. Wie Sie wissen, werden diese Kameras außerdem in ausländischen Militär-, Energie- und Industrieunternehmen eingesetzt. Wenn Sie sie in Shodan Dork gesehen haben, seien Sie vorsichtig beim Verkauf dieser Kameras im Ausland und beschuldigen Sie mich nicht, wenn das chinesische Militär für Sie kommt.

Also, was gibt es, worüber ich dir erzählt habe? Ich dringe in Ihr Netzwerk ein, sehe Sie und habe Root-Rechte. Dies ist eine großartige Gelegenheit für jeden Angreifer, da die meisten dieser Kameras auch mit dem internen Netzwerk verbunden sind. Sie können remote auf sie zugreifen, hineingehen, Root-Rechte erwerben, auf einen Linux-basierten Computer zugreifen und von dort aus mit dem lokalen Netzwerk tun, was Sie wollen.

Hier trat ich ein wenig zurück und sagte: "Ok, es ist alles großartig, aber was kann ich mit der Kamera selbst machen?" Ich habe Root-Zugriff auf die Kamera, das ist großartig, aber wenn Sie zum üblichen Administrator von Überwachungssystemen gehen und ihm sagen, dass Sie Root-Zugriff auf die Kamera haben, wird er nicht einmal verstehen, was dies bedeutet. Deshalb wollte ich etwas interessanteres machen, etwas, das wirklich alle Möglichkeiten demonstriert. Ich wollte einen Videostream abfangen, der so aussieht:



Und ersetzen Sie es durch etwas, das so aussieht:



Dies ist eine Art klassischer Hollywood-Hack, wenn Sie in ein mit Überwachungskameras gefülltes, bewachtes Objekt eindringen möchten und ein Hacker aus Ihrer Gruppe diese Kamera knacken muss, damit sie zeigt, dass niemand da ist, obwohl in Wirklichkeit jemand da ist. Um die Möglichkeit eines solchen Tricks zu beweisen, habe ich mich für die Überwachungskamera Trendnet TV-IP410WN entschieden.



Ich habe es aus mehreren Gründen gewählt. Erstens kann ich es mir leisten, es zu kaufen, was ein großes Plus ist. Zweitens hat es ein Backdoor-Konto:



So können Sie zu diesen Dateien gelangen:



Welche haben eine sehr weit verbreitete Sicherheitslücke, die das Einfügen von Befehlen ermöglicht:



Was wiederum sehr einfach verwendet werden kann, um die benötigten Pakete an die Kamera zu senden:





Hier gibt es die gleichen Hacking-Möglichkeiten, die ich zuvor erwähnt habe, nur in diesem Fall haben wir eine billigere Kamera.

Wie sich herausstellte, wurde dieser spezielle Fehler bereits 2011 bekannt. Das Problem war jedoch, dass weder ich noch sonst jemand diese Informationen verwenden konnte, da in der Beschreibung dieser Sicherheitsanfälligkeit weder eine Liste der Geräte vorhanden war, auf denen sie vorhanden waren, noch Hinweise auf eine bestimmte Firmware, sodass sie von allen ignoriert wurden Nachricht. Wenn Sie sich daher mit der Anfrage "Sicherheitsanfälligkeit für TV-IP410WN-Kameras" an Google wenden, werden Sie nichts finden.
Ein weiteres Problem bei der Nichtbereitstellung solcher Informationen besteht darin, dass diese Sicherheitsanfälligkeit nicht nur Personen, die mit Computersicherheit befasst sind, sondern auch Herstellern und Lieferanten von Produkten unbekannt bleibt. Dadurch können sie nicht bestimmen, welche Firmware und welche Kameramodelle repariert werden müssen. Daher werden diese Geräte immer noch überall mit demselben Fehler verkauft - Shodan Dork zeigt auf mehr als 28.000 solcher Kameras.

Angenommen, das vom Administrator beobachtete Bild des Videokanals wird hier angezeigt, was den Zielen unseres Experiments am besten entspricht. Wir gehen davon aus, dass der Administrator dieses Video über die Weboberfläche und nicht über einen Benutzerdienst, eine RTPID oder ähnliches anzeigt.



Wenn Sie das Bild von dieser bestimmten Kamera aufnehmen, die in einem Browser angezeigt wird, können Sie sehen, dass der Prozess mjpg.cgi für das Ansehen dieses Streaming-Videos verantwortlich ist.



Mit der Befehlsinjektion können wir sehen, welche Prozesse ausgeführt werden, und dann tatsächlich alle Prozesse "beenden" mjpg.cgi:



Dies führt dazu, dass das Bild des Videokanals des Administrators vorübergehend „eingefroren“ wird. Dies geschieht, weil der Browser das zuletzt empfangene Bild anzeigt und keine Bilder mehr von dieser Kamera empfängt. Dies wird jedoch nicht durchgeführt. Wenn der Administrator den Browser aktualisiert oder zu einer neuen Seite navigiert und dann zur Anzeige von der Kamera zurückkehrt, wird das Streaming des Videos fortgesetzt und das Bild in Echtzeit angezeigt.

Daher werden wir versuchen, die Datei mjpg.cgi zu ersetzen, was nicht schwierig sein sollte - zwei Zeilen des Bash-Skripts werden ausreichen.



Insbesondere müssen Sie diese CGI-Seite auf der Festplatte nur durch ein Skript ersetzen, das einige grundlegende Header an den Browser zurückgibt, und dann mit dem Befehl cat ein statisches JPEG-Bild des leeren Aufzugs in die Übertragung einfügen. Es könnte ein Ziegenbild sein, alles. In unserem Fall sieht der Administrator nun ständig einen leeren Aufzug, unabhängig davon, was dort tatsächlich passiert.



Tatsächlich sieht es im „Live“ -Video viel interessanter aus. Wenn also die Götter der Demonstration heute bei mir sind, wird es uns gut gehen. Wie auf dem Bildschirm zu sehen ist, bewacht meine Kamera meinen Schatz - eine Flasche Bier. Ich nehme es und die Kamera zeigt es an. Jetzt verwende ich einen Exploit in Form dieses Skripts, mit dem das Video in Echtzeit "beendet" und durch eine statische Bilddatei ersetzt wird, über die ich gerade gesprochen habe.

Er gibt mir auch Administratorrechte zur Steuerung der Kamera und zum Einrichten einer geheimen URL, damit ich das Originalvideo weiterhin ansehen kann, während der Administrationskanal das eingefrorene Video weiterhin sendet. Auf dem Bildschirm sehen Sie, wie dieser Exploit gesendet wird.



Also ging alles gut, er gab mir die Benutzeranmeldeinformationen zurück - Administrator-Login und SecureCam1234-Passwort.



Er sagt mir auch, dass die URL so konfiguriert ist, dass ich den echten Videokanal sehen kann. Wenn ich jetzt zu meinem Hacker-Browser gehe und meine Anmeldeinformationen eingebe, kann ich sehen, was passiert.



Wenn also jemand die Flasche aufhebt, werde ich es herausfinden:



Aber der Administrator - nein, seine Flasche bleibt auf dem Tisch.



Also ein paar abschließende Gedanken zu diesem Thema, auf die ich näher eingehen möchte. Ich habe Ihnen eine alles andere als umfassende Liste anfälliger Kameras vorgelegt, da meine Forschung nicht von dieser Art war. In Wirklichkeit gibt es viel mehr solcher Kameras, und die meisten von ihnen sind sehr leicht zu knacken.

Fast jede Kamera zeigt die Modellnummer auf der Anmeldeseite oder der Eingabeseite für Anmeldeinformationen an, auch wenn Sie sich nicht authentifiziert haben, je nachdem, wie diese Authentifizierung überprüft wird. Wenn der Angreifer die Modellnummer kennt, ohne mehr über diese Kamera zu wissen, kann er zu Google gehen, die Website des Herstellers suchen und die Firmware herunterladen.

Möglicherweise müssen Sie auch herausfinden, dass tab = 4 ist. Nach Erhalt der Firmware können Sie jedoch nach Schwachstellen in dieser Kamera suchen, ohne sie zu kaufen.

Genau das habe ich mit all diesen Kameras gemacht - alles wurde mit Hilfe der Firmware-Analyse gemacht, alle Exploits wurden auf ihrer Basis erstellt und ich habe keine einzige Kamera gekauft. Dann genügte es, Binwalk zum Analysieren und Auspacken der Firmware und IDA und Qemu zum Zerlegen und Emulieren zu verwenden, woraufhin ein Sieg auf mich wartete.
Und jetzt werde ich Ihre Fragen beantworten. In Bezug auf die Sicherheit der Kameras sage ich Folgendes: Für ein paar Stunden konnte ich alle Kameras beschreiben, deren Sicherheit ich untersucht habe, aber unter ihnen gab es keine einzige Kamera, die perfekt geschützt wäre. Mittlerweile gibt es Hersteller, deren Produkte ich einfach nicht kennenlernen konnte, weil es kein Geld gab, um eine solche Kamera zu kaufen, da sie nicht die Möglichkeit bieten, die Firmware kostenlos herunterzuladen. Daher wage ich nicht zu behaupten, dass es überhaupt keine zuverlässigen Überwachungskameras gibt.

Sie fragen mich, ob es möglich ist, ein statisches Bild durch Hacken durch etwas Dynamisches zu ersetzen. Der einfachste Weg wäre, so etwas wie eine animation.gif-Datei einzufügen, es wäre eine reine Hacker-Lösung. Ich denke jedoch, dass es durchaus möglich ist, ein eigenes CGI zu schreiben, mit dem Sie Videos in Echtzeit anzeigen können. Dafür bin ich trotz meiner Demo zu faul. Wenn Sie jedoch das Konzept dieser Geräte kennen, können Sie mit ihnen alles tun, was Sie wollen.


Vielen Dank für Ihren Aufenthalt bei uns. Gefällt dir unser Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder Ihren Freunden empfehlen, einen Rabatt von 30% für Habr-Benutzer auf ein einzigartiges Analogon von Einstiegsservern, das wir für Sie erfunden haben: Die ganze Wahrheit über VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s von $ 20 oder wie teilt man den Server? (Optionen sind mit RAID1 und RAID10, bis zu 24 Kernen und bis zu 40 GB DDR4 verfügbar).

VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s bis Dezember kostenlos, wenn Sie für einen Zeitraum von sechs Monaten bezahlen, können Sie hier bestellen.

Dell R730xd 2 mal günstiger? Nur wir haben 2 x Intel Dodeca-Core Xeon E5-2650v4 128 GB DDR4 6 x 480 GB SSD 1 Gbit / s 100 TV von 249 US-Dollar in den Niederlanden und den USA! Lesen Sie mehr über den Aufbau eines Infrastrukturgebäudes. Klasse mit Dell R730xd E5-2650 v4 Servern für 9.000 Euro für einen Cent?

Source: https://habr.com/ru/post/de427369/


All Articles