Ich veröffentliche weiterhin Lösungen, die zur weiteren Verarbeitung von der HackTheBox- Site gesendet wurden .In diesem Artikel werden wir RCE in OpenNetAdmin ausnutzen, die Webserverkonfigurationen untersuchen, den Port mit SSH-Weiterleitung durchstoßen, das SSH-Schlüsselkennwort knacken und die GTFOBins-Technik verwenden, um die Berechtigungen zu erhöhen.Die Verbindung zum Labor erfolgt über VPN. Es wird empfohlen, keine Verbindung von einem Arbeitscomputer oder von einem Host aus herzustellen, auf dem die für Sie wichtigen Daten verfügbar sind, da Sie in einem privaten Netzwerk mit Personen landen, die sich mit Informationssicherheit auskennen :)Organisationsinformationen, ,
Telegram . , ,
.
. , - , .
Aufklärung
Dieser Computer hat eine IP-Adresse 10.10.10.171, die ich zu / etc / hosts hinzufüge.10.10.10.171 openadmin.htb
Zuerst scannen wir offene Ports. Da das Scannen aller Ports mit nmap sehr lange dauert, werde ich dies zunächst mit masscan tun. Wir scannen alle TCP- und UDP-Ports von der tun0-Schnittstelle mit einer Geschwindigkeit von 500 Paketen pro Sekunde.masscan -e tun0 -p1-65535,U:1-65535 10.10.10.171 --rate=500
Für detailliertere Informationen zu den Diensten, die an Ports ausgeführt werden, führen wir nun einen Scan mit der Option -A durch.nmap openadmin.htb -p22,80
Daher führt der Dienst SSH und den Apache-Webserver aus. Schauen Sie sich an, was sich auf der Website befindet.
Wir treffen die Hauptseite von Apache. In solchen Fällen befinden sich Websites möglicherweise nicht im Home-Verzeichnis des Dienstes. Um sie zu finden, müssen Sie die Verzeichnisse sortieren. Verwenden Sie dazu das Gobuster-Programm (angeblich den schnellsten Scanner). Wir wählen den Verzeichnis-Scan-Modus (dir), das Wörterbuch (-w), die Anzahl der Streams (-t), die Seitenerweiterungen (-x) sowie die erweiterte Ausgabe der Seiten (-e) und der URL (-u).gobuster dir -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt -t 120 -x php,html,conf,txt -e -u http://openadmin.htb
In der Ausgabe gibt es zu viele Antworten mit dem Code 403, um sie zu filtern. Wir geben die Antwortcodes (-s) an, die wir benötigen.gobuster dir -w /usr/share/seclists/Discovery/Web-Content/raft-large-words.txt -t 120 -x php,html,conf,txt -e -u http://openadmin.htb -s “200,204,301,302,307,401”
Und wir finden mehrere Verzeichnisse. Jetzt gehen wir alles durch, um herauszufinden, was sich dort befindet.

Und nur auf einer dieser Websites gibt es eine Anmeldefunktion. Wenn Sie dies versuchen, gehen wir zur OpenNetAdmin-Seite.
In diesem Fall wird, wie Sie sehen, Version 18.1.1 verwendet.Einstiegspunkt
Lassen Sie uns nach Exploits für diese Version suchen.
Und für diese Version gibt es einen RCE-Exploit. Der Code befindet sich bereits in der lokalen Datenbank. Schauen wir uns das an.
Das Skript akzeptiert also einen Parameter - dies ist die URL. (Beim Start hatte ich Fehler, so dass Sie die Datei über mcedit öffnen und ^ M Zeichen entfernen können).
USER1
Wir sind im Home-Verzeichnis.
Und wir sind von einer großen Anzahl von Dateien umgeben.
Einige von ihnen können Anmeldeinformationen enthalten. Schauen wir uns alle Dateien rekursiv an.
Und es gibt keine Ergebnisse. Bei der Suche nach dem Wort „bestanden“ werden jedoch viele Ergebnisse erzielt.
Schauen Sie sich nun die gesamte Konfiguration an.
Dies ist das Kennwort für die Verbindung zur Datenbank. Versuchen wir es für Benutzer. Und wir melden uns erfolgreich als User Jimmy an.
USER2
Führen Sie zunächst das LinEnum-Basisaufzählungsskript aus .
Die Schlussfolgerung muss sehr sorgfältig analysiert werden, jede Zeile !!! Und das einzige, woran Sie sich in der Ausgabe des Skripts festhalten können, ist die Gruppenmitgliedschaft.
Jimmy und Joanna sind in derselben internen Gruppe. Sehen wir uns die Dateien an, die zu dieser Gruppe gehören.
Nach dem Standort zu urteilen - das ist der Ort. Wir analysieren Dateien. Der erste, der zu sehen ist, ist main.
Wenn wir autorisiert sind, zeigen sie uns den privaten SSH-Schlüssel des Benutzers joanna. Aus der Indexdatei folgt, dass wir nach erfolgreicher Autorisierung zu main wechseln. Es enthält auch einen SHA512-Passwort-Hash.
Der Hash bricht mit Hilfe dieser Seite leicht .
Es bleibt zu lernen, wie man zur Seite kommt. Die Ports für den Zugriff auf jede Site befinden sich in der entsprechenden Konfigurationsdatei für jede Site im Verzeichnis / etc / apache2 / sites-available für Apache.
Wie Sie sehen, gibt es eine internal.conf, die uns interessiert. Leiten Sie nun den SSH-Port weiter.
Aus der Konfiguration geht hervor, dass wir vom lokalen Computer auf Port 52846 unter der Domäne internal.openadmin.htb auf die Site zugreifen können. Lassen Sie uns den Port zum Laufen bringen - das heißt, lassen Sie unseren lokalen Port 52846 zum Remote-Port 52846 umleiten. Diese Technik wird als SSH-Portweiterleitung bezeichnet.
Nehmen Sie nun auf dem lokalen Computer einen Eintrag in der Datei / etc / hosts vor.127.0.0.1 internal.openadmin.htb
Und wir werden über den Browser an die Adresse internal.openadmin.htb : 52846 / index.php adressieren.
Melden Sie sich mit bekannten Anmeldeinformationen an und erhalten Sie einen privaten SSH-Schlüssel.
Wir speichern in einer Datei und weisen Rechte zu.
Beim Verbindungsversuch werden wir jedoch nach dem Kennwort für den Schlüssel gefragt, da dieser verschlüsselt ist.
Wir können durch die Taste scrollen. Dazu bringen wir es in das John'a-Format und geben dann die Datei mit dem Schlüssel, der bereits in das Format konvertiert wurde, zum Brute.
Und finden Sie erfolgreich das Passwort. Wir sind bereits mit dem Schlüssel und dem Passwort verbunden.
WURZEL
Zu überprüfen sind unter anderem die Sudo-Einstellungen zum Ausführen von Befehlen ohne Kennwort.
Die Zeile NOPASSWD besagt, dass wir diesen Befehl unter sudo ohne Passwort ausführen können. In diesem Fall wird der Befehl nano aufgerufen. Es gibt eine Technik wie GTFOBins, mit der verschiedene Dienstprogramme zum Lesen, Schreiben von Dateien oder Ausführen ganzer Befehle verwendet werden können. Eine vollständige Liste der Dienstprogramme und ihrer Funktionen finden Sie hier . Werfen wir einen Blick darauf, wie man mit Nano Shell bekommt.
Führen Sie unseren Befehl mit sudo aus.
Wählen Sie nun in der Reihenfolge der Befehle die Option zum Lesen der Datei aus.
Jetzt die Möglichkeit, Befehle auszuführen.
Und geben Sie die letzte Zeile der Anweisung ein.
Und wir bekommen die Shell im Namen der Wurzel.
Sie können sich uns per Telegramm anschließen. Dort finden Sie interessante Materialien, zusammengeführte Kurse sowie Software. Stellen wir eine Community zusammen, in der es Menschen gibt, die sich in vielen Bereichen der IT auskennen. Dann können wir uns in Fragen der IT und der Informationssicherheit immer gegenseitig helfen.