Hacking V: Tunnel-Techniken
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.
Pentest Training
Werfen Sie einen Blick auf die Kapitel vom Pentest Training und lernen Sie Pentesting:
- Vorwort
- Einführung
- Rechtliche Rahmenbedingungen
- Hacking vs. Penetration-Testing
- Klassifizierung
- Aussagekraft von Penetrationstest
- Penetration-Testing-Standards
- Der Hacking-Leitfaden
- Hacking I: Scannen von Netzwerken
- Hacking II: Passwortangriffe
- Hacking III: Webanwendungsangriffe
- Hacking IV: Privilegienausweitung
- Hacking V: Tunnel-Techniken
- Hacking VI: Vulnerability-Scanner und Penetration-Testing-Frameworks
- Vorführung eines Pentests
- Risikobewertung von identifizierten Schwachstellen
- Aufbau Dokumentation und Berichterstellung
- Plauderei aus dem Nähkästchen: Insights von Dubius Payment Ltd.
binsec academy GmbH - Online IT Security Training with Practical Focus
Die binsec academy GmbH ist ein Anbieter von praxisorientierten Online-Trainings im Bereich IT-Sicherheit. Das Schulungsangebot umfasst unter anderem Penetration Testing und sichere Softwareentwicklung. Die Teilnehmer lernen in realitätsnahen Laborumgebungen, die typische IT-Infrastrukturen und Anwendungen simulieren. Die Kurse beinhalten anerkannte Standards wie den OWASP Top 10 und PCI DSS und sind in mehreren Programmiersprachen verfügbar. Nach erfolgreichem Abschluss erhalten die Teilnehmenden Zertifikate wie den Binsec Academy Certified Pentest Professional (BACPP) oder den Binsec Academy Certified Secure Coding Professional (BACSCP), die ihre praktischen Fähigkeiten zur Erkennung und Behebung von Sicherheitslücken belegen.
Gehe zu binsec acadmy GmbH

binsec GmbH – Experten für Penetrationstests
Die binsec GmbH ist ein deutsches IT-Sicherheitsunternehmen mit Schwerpunkt auf professionellen Penetrationstests. Mit über 10 Jahren Erfahrung führt das Team tiefgehende Sicherheitsprüfungen von Netzwerken, Webanwendungen, APIs und mobilen Apps durch. Zertifizierte Experten identifizieren und dokumentieren systematisch Sicherheitslücken, um Unternehmen dabei zu unterstützen, ihre IT-Sicherheit zu verbessern und Compliance-Anforderungen zu erfüllen.
Gehe zu binsec GmbH