Zusammenfassung

In diesem Video-Walkthrough haben wir gezeigt, wie man Root-Zugriff auf einen Docker-Container erhält, auf dem ein Webserver mit einer SQL-Datenbank läuft. Wir begannen damit, eine reflektierte XSS-Schwachstelle auf der Website auszunutzen, auf der ein E-Commerce-Marktplatz läuft. Dadurch konnten wir fortfahren und administrativen Zugriff auf das Administratorkonto erhalten, wo wir eine SQL-Injection entdeckten, die es uns ermöglichte, noch weiter zu gehen und die Datenbankeinträge offenzulegen. Wir nutzten die Einträge, um uns als SSH anzumelden und eine Rechteausweitung durchzuführen, indem wir den Platzhalter im Archivierungstool Tar ausnutzten, was uns schließlich in einen Docker-Container führte. Indem wir das Root-Dateisystem in einen Container unserer Wahl einhängten, konnten wir das Root-Flag extrahieren.

Dieser Beitrag enthält die Antworten für Der Markt Raum in TryHackMe.

Was ist Containerisierung

In der Computersprache ist Containerisierung der Prozess, bei dem eine Anwendung und die erforderlichen Ressourcen (wie Bibliotheken und Pakete) in einem Paket, einem sogenannten Container, verpackt werden. Durch das Verpacken von Anwendungen werden diese wesentlich portierbarer und können problemlos ausgeführt werden.

Moderne Anwendungen sind oft komplex und hängen normalerweise davon ab, dass Frameworks und Bibliotheken auf einem Gerät installiert werden, bevor die Anwendung ausgeführt werden kann. Diese Abhängigkeiten können:

  • Die Installation kann je nach Umgebung, in der die Anwendung ausgeführt wird, schwierig sein (einige Betriebssysteme unterstützen sie möglicherweise nicht einmal!)
  • Erschweren Sie Entwicklern die Diagnose und Reproduktion von Fehlern, da das Problem möglicherweise in der Anwendungsumgebung liegt – nicht bei der Anwendung selbst.
  • Können oft miteinander in Konflikt geraten. Beispielsweise ist es für den Benutzer mühsam, mehrere Python-Versionen zum Ausführen verschiedener Anwendungen zu haben, und eine Anwendung funktioniert möglicherweise mit einer Python-Version und nicht mit einer anderen.

Holen Sie sich Hinweise zum OSCP-Zertifikat

Was sind Docker-Container?

Docker ist eine relativ unkomplizierte, umfangreiche und Open-Source-Containerplattform. Das Docker-Ökosystem ermöglicht die einfache Bereitstellung, Verwaltung und Freigabe von Anwendungen (Images – darauf kommen wir später noch zu sprechen).

Arbeiten an Linux, Windows und MacOS, Docker ist eine intelligente Wahl zum Ausführen von Anwendungen. Anwendungen können als „Images“ veröffentlicht und mit anderen geteilt werden. Alles, was erforderlich ist, ist das Abbild abzurufen (herunterzuladen) und es mit Docker auszuführen.

Docker verwendet dieselbe Technologie wie die Containerisierung, um Anwendungen in Containern, der sogenannten Docker Engine, zu isolieren. Die Docker Engine ist im Wesentlichen eine API, die auf dem Host-Betriebssystem ausgeführt wird und zwischen dem Betriebssystem und den Containern kommuniziert, um auf die Hardware des Systems (wie CPU, RAM, Netzwerk und Festplatte) zuzugreifen.

Aus diesem Grund ist die Docker-Engine umfangreich und ermöglicht Ihnen beispielsweise Folgendes:

  1. Verbinden Sie Container miteinander (beispielsweise einen Container, in dem eine Webanwendung ausgeführt wird, und einen anderen Container, in dem eine Datenbank ausgeführt wird).
  2. Anwendungen (Bilder) exportieren und importieren
  3. Übertragen Sie Dateien zwischen Betriebssystem und Container

Docker verwendet die Programmiersyntax YAML um Entwicklern zu ermöglichen, anzugeben, wie ein Container erstellt und was ausgeführt werden soll. Dies ist ein wichtiger Grund, warum Docker so portabel und einfach zu debuggen ist. Geben Sie die Anweisungen weiter, und es wird auf jedem Gerät, das die Docker Engine unterstützt, gleich erstellt und ausgeführt.

Herausforderungen Antworten

Was ist Flagge 1?

Was ist Flag 2? (User.txt)

Was ist Flagge 3? (Root.txt)

Video-Anleitung

Über den Autor

Ich erstelle Notizen zur Cybersicherheit, Notizen zum digitalen Marketing und Online-Kurse. Ich biete auch Beratung zum digitalen Marketing an, einschließlich, aber nicht beschränkt auf SEO, Google- und Meta-Anzeigen und CRM-Verwaltung.

Artikel anzeigen