Lösungen der Challenges
Konntest du die Challenges aus der betreffenden Lektion lösen? Vergleiche hier deine Lösung!
Wir melden uns am Windows-System 10.10.0.5 via RDP mit der Kennung admin/admin an und wechseln in das Verzeichnis c:\fgdump. Dort befindet sich bereits ein Dump mit dem Namen 127.0.0.1.pwdump, der die SAM-Daten enthält. Wenn du möchtest, kannst du erneut fgdump in einer als Administrator geöffneten Eingabeaufforderung ausführen, aber das ist nicht erforderlich. (Echtzeitschutz in den Einstellungen zu Viren- und Bedrohungsschutz vorher deaktivieren)
Nun müssen wir diese Daten bzw. diese Datei auf das Kali Linux-System bringen. Eine Möglichkeit ist via scp, der Befehl wird in der Eingabeaufforderung von Windows eingegeben und lautet folgendermaßen:
scp c:\fgdump\127.0.0.1.pwdump kali@10.10.0.4:/home/kali
Anschließend steht diese Datei im Homeverzeichnis des Users kali auf dem Kali-System bereit. Jetzt können wir mit John the Ripper und der Passwortliste rockyou.txt (ggf. vorher entpacken) die Hashes knacken. Das Format erkennt john automatisch.
Wir erhalten die Daten des users Thorsten und können uns am Windows-System als Thorsten anmelden. Dort finden wir auf dem Desktop eine einzelne Datei namens flag.txt. Leider ist dort nur ein verschlüsselter Hinweis auf die Flag enthalten.
Einige Teile des Pfads zur Flag sind verschlüsselt, oder besser: gehasht. Um welche Art von Hash es sich handelt, zeigt uns z.B. das Programm hash-identifier auf Kali Linux. Wir erhalten das Ergebnis, dass es sich vermutlich um MD5 handelt:
Damit können wir uns eine passende Datei erstellen, die die beiden Hashwerte und eine Klartext-Zuordnung enthält, um sie zu identifizieren. Da John diese Hashes nicht automatisch erkennt, müssen wir ein passendes Format angeben. Hier funktioniert raw-md5. Im Ergebnis erhalten wir dann den Pfad: c:\windows\system32\cowboy.
Auf dem Windows-System erhalten wir damit die gesuchte Flag:
Wir starten die msfconsole. Zunächst suchen wir mit dem Befehl search tomcat type:auxiliary nach einem Modul, das den Namen tomcat enthält und aus der Kategorie auxiliary ist. Das Modul mit dem Namen tomcat_mgr_login ist vielversprechend, was wir auch anhand der Beschreibung erkennen. Wir laden es mit use.
Der Befehl info zeigt die Beschreibung: „This module simply attempts to login to a Tomcat Application Manager instance using a specific user/pass.“ Das klingt genau nach dem, was wir suchen. Mit options sehen wir, dass es eine ganze Reihe von Optionen gibt, die wir setzen können. Wichtig ist RHOSTS und RPORT korrekt zu setzen, das PASS_FILE passt, wie vorgegeben. Mit run starten wir das Modul. Im Ergebnis findet das Modul durch einen Dictionary-Angriff die korrekten Zugangsdaten, da der Admin hier wieder geschlafen hat und ein sehr schwaches Passwort verwendet.
Nun benötigen wir ein passendes Exploit-Modul, das wir mit search tomcat type:exploit suchen. Es geht um Code Execution und wir wollen die Upload-Funktion nutzen, also wählen wir das Modul mit dem Namen tomcat_mgr_upload.
Wir laden das Modul und setzen die Optionen HttpPassword und HttpUsername, sowie RHOSTS und RPORT entsprechend. Die Payload muss nicht geändert werden. Über run oder exploit führen wir das Modul aus und erhalten eine Meterpreter-Shell. ls zeigt uns das aktuelle Verzeichnis auf dem Opfersystem. Das gesuchte Unterverzeichnis heißt work.