Nicht ohne Grund haben wir bei der Privilege-Escalation auch nach Netzwerkinformationen Ausschau gehalten: IT-Infrastrukturen sind häufig in verschiedene Netzwerksegmente aufgeteilt. Unter diesen findet sich oftmals ein DMZ-Netz (demilitarized zone), in dem IT-Systeme und ihre Dienste für die Außenwelt freigeschaltet werden. Kritische Systeme sind für uns als Angreifer allerdings meist verborgen. Um tiefer in ein Netzwerk einzudringen, werden wir uns unter Umständen über bereits kompromittierte IT-Systeme „hangeln“ müssen. Beispielsweise könnten wir ein von uns kompromittiertes IT-System als Proxy konfigurieren und interne Dienste über diesen zu uns zu tunneln.

Die secure shell (ssh) ermöglicht nicht nur den direkten Zugriff auf ein IT-System, sondern unterstützt auch das Tunneln von Paketen. Hierbei können wir von drei Varianten Gebrauch machen: dem local port forwarding, dem remote port forwarding und dem dynamic port forwarding. Mittels jeder dieser Techniken können wir grundsätzlich einen für uns unzugänglichen Dienst über einen zwischengeschalteten Host (Pivot) ansprechen, sofern dieser mit dem Dienst kommunizieren darf.

Nehmen wir beispielsweise das folgende Szenario an: Wir haben die vollständige Kontrolle über den Blog von Dubius Payment Ltd. errungen und bei der Prüfung dessen offener Netzwerkverbindungen festgestellt, dass Verbindungen zu einer entfernten Datenbank existieren. Diese befindet sich in einem internen Netz, welches wir aufgrund von Firewalleinstellungen zunächst nur über den Blog erreichen können. Um die Datenbank von unserer Angreifermaschine aus erreichen zu können, wollen wir mit ssh einen Tunnel über den Blog zur Datenbank aufbauen.

Beim local port forwarding verbinden wir uns mit dem SSH-Dienst auf unserem Pivot (blog.dubius-payment.com), welcher einen Tunnel zurück zu unserer Angreifermaschine auf dem angegebenen Port (4444) herstellt. Alle Anfragen, die wir dann an unseren lokalen Port senden, werden vom SSH-Dienst entgegengenommen und zu dem internen Dienst (MySQL) weitergeleitet:

Diese Technik setzt einen SSH-Benutzer auf dem Pivot voraus. Sofern dieser nicht gegeben ist, können wir das remote port forwarding anwenden. Hierfür müssen wir Befehle auf unserem Pivot ausführen können. Beim remote port forwarding verbinden wir uns entgegengesetzt zum local port forwarding von unserem Pivot (blog.dubius-payment.com) zu unserem eigenen SSH-Dienst auf unserer Angreifermaschine. Wie schon zuvor wird im weiteren Verlauf ein Tunnel erzeugt, über welchen wir die interne Datenbank (MySQL) ansprechen können:

Sowohl beim local port forwarding als auch beim remote port forwarding muss für jeden einzelnen Dienst ein Tunnel aufgebaut bzw. ein SSH-Befehl abgesetzt werden. Dies wird spätestens beim Scannen eines internen Netzes wie des privaten Netzwerks von Dubius Payment Ltd. unpraktikabel, womit das dynamic port forwarding zum geeigneten Werkzeug wird. Bei diesem Verfahren fungiert der Pivot (blog.dubius-payment.com) als SOCKS-Proxy über SSH:

In Kombination mit dem Tool proxychains können wir nun auf einfachem Wege die lokalen Tools auf unserer Angreifermaschine auch in einem uns zunächst unzugänglichen Bereich einsetzen, da alle Daten über den SOCKS-Proxy geleitet werden. Hierzu müssen wir nur unsere Angreifermaschine und den vorgenannten Port (127.0.0.1:4444) als SOCKS-Proxy in der Konfigurationsdatei von proxychains festlegen und vor jedem unserer Befehle proxychains ausführen, wie der nachfolgende Portscan zeigt:

proxychains nmap -Pn -sT db.dubius-payment.com

Sobald wir ein internes Netz identifiziert haben und über einen Pivot erreichen können, beginnt unser Spaß von vorne: eine „neue Welt“ von IT-Systemen, welches zu entdecken und kompromittieren gilt.

Letzte Änderung: 2022-12-15

Kursinformationen Penetrationstest

Über das Pentest Training

Entdecken Sie die Welt des Penetration Testing. Lernen Sie Netzwerke zu infiltrieren sowie erfolgreich Systeme und Anwendungen zu penetrieren. Eignen Sie sich das notwendige Hacking-Handwerkszeug an und setzen Sie es bei der Durchführung von profesionellen Penetrationstest ein. Werden Sie zum Penetrationstester. Hier finden Sie die öffentlichen und kostenlosen Unterlagen zum Pentest Training der binsec academy GmbH. Die binsec academy GmbH bietet die dazugehörigen virtuellen Labor-Umgebungen und Zertifizierungen an. Das vermittelte Wissen zu Hacking and Penetration Testing ist aber allgemeingültig.

Über binsec academy GmbH

Die binsec academy GmbH ist der europäische Anbieter für Online Security Trainings mit virtuellen Labor-Umgebungen. Kernbestandteil aller Security Trainings ist die Vermittlung von Praxis, Praxis und nochmals Praxis. Im Wiki finden Sie hier die öffentlichen und frei verfügbaren Kurs-Materialien. Die Theorie in die Praxis umsetzen, können sie auf binsec-academy.com.