Unified | HTB Starting Point Writeup T2M04
In diesem Writeup geht es um die Starting Point Maschine "Unified" auf Hack The Box.
Wie immer, dass passende Video zum Beitrag hier: https://youtu.be/ttPqasC2WCM
- Welche sind die ersten vier offenen Ports?
22, 6789, 8080, 8443
Die Ports finden wir mit einem nmap
Scan heraus.
- Wie lautet der Titel der Software, die auf Port 8443 läuft?
Unifi Network
Den Namen der Software sehen wir im Browser.
- Welche Version der Software wird ausgeführt?
6.4.54
- Wie lautet die CVE für die identifizierte Schwachstelle?
CVE-2021-44228
Um die passende CVE zu finden, schauen wir zuerst in metasploit
, ob es dort einen passenden Exploit gibt.
Da hier auf anhieb nicht die zugehörige CVE steht, suchen wir einfach im Web.
- Welches Protokoll wird von JNDI bei der Injektion genutzt?
LDAP
Für die Antwort können wir uns den bereit oben entdeckten Artikel zu der Schwachstelle genauer durchlesen
- Mit welchem Tool können wir den Datenverkehr abfangen, der anzeigt, dass der Angriff erfolgreich war?
tcpdump
Bei dieser Frage könnte es eigentlich mehrere Antworten geben. Wenn wir nach “intercept traffic“ suchen, finden wir einige Tools. Die richtige Antwort bei der Frage ist in dem Fall tcpdump
Da wir für unseren AngriffMetasploit
benutzen, wir dertcpdump
Part hierbei automatisch von Metasploit für uns übernommen.
- Auf welchen Port müssen wir den abgefangenen Verkehr untersuchen?
389
Um zu prüfen ob ein Ziel anfällig für Log4j
ist manipulieren wir eine LDAP anfrage und münze diese auf unser System um. Dabei fangen wir den Verkehr auf Port 389
(ldap) ab um zu sehen, ob sich das Ziel meldet.
In unserem Fall erkennen wir das an den Exploit Optionen unseres Exploits.
- Auf welchem Port läuft der MongoDB-Dienst?
Für diese Frage müssen wir uns zunächst einmal einen Weg auf das System suchen. Wir müssen also als nächstes unseren gefundenen Exploit entsprechend Konfigurieren.
Mit dem Metasploit Befehl check
können wir nun überprüfen, ob das Ziel anfällig ist.
Anschließend nutzen wir den Befehl exploit
um das Ziel final anzugreifen.
In der Shell angekommen, können wir jetzt mit ps aux | grep mongo
prüfen auf welchem Port die MongoDB läuft.
- Wie lautet der Standard-Datenbankname für UniFi-Anwendungen?
ace
Die Antwort finden wir mit einem schnellen Googlen heraus.
- Wie lautet die Funktion, mit der wir in MongoDB die Benutzer in der Datenbank auflisten?
db.admin.find()
Die Benutzer können wir uns mit der folgenden Query ausgeben.
mongo --port 27117 ace --eval "db.admin.find().forEach(printjson)"
- Welche Funktion verwenden wir, um Benutzer innerhalb der Datenbank in MongoDB zu aktualisieren?
db.admin.update()
Wenn wir uns die Ausgabe von oben ansehen, fällt der Wert von x_shadow
auf. Dies ist das gehashte Passwort von dem User.
Wir können versuchen, ein neues Passwort zu generieren und dieses mit dem aktuellen auszutauschen.
mkpasswd -m sha-512 <password-here>
Nun können wir das User-Objekt mit dem neuen Passwort-Hash aktualieseren.
mongo --port 27117 ace --eval 'db.admin.update({"_id":ObjectId("61ce278f46e0fb0012d47ee4")},{$set:{"x_shadow":"NEW-HASH"}})'
Wenn wir die Abfrage von oben jetzt erneut ausführen, sollte der Administrator unseren neuen Hash haben.
- Wie lautet das Passwort für den Benutzer root?
NotACrackablePassword4U2022
Um jetzt das Passwort für den root User zu erhalten, loggen wir uns im Unifi Portal mit dem administrator
und unserem vergeben Passwort ein.
Jetzt navigieren wir zu Settings → SItes und scrollen zu “Device Authentication”. Dort können wir uns jetzt das root
Passwort anzeigen lassen.
Flags
Für die Flags loggen wir uns einfach per SSH mit dem root
Account ein.
User Flag
Die User Flag liegt im Home Verzeichnis von Michael /home/michael
Root Flag
Die root Flag liegt wie immer im /root
Verzeichnis