Hack The Box. Walkthrough Scavenger. DNS, FTP und Spuren eines anderen Hacks

Bild

Ich veröffentliche weiterhin Lösungen, die zur weiteren Verarbeitung von der HackTheBox- Site gesendet wurden . Ich hoffe, dass dies zumindest jemandem hilft, sich im Bereich der Informationssicherheit zu entwickeln. In diesem Artikel werden wir viel mit FTP und DNS arbeiten, wir werden SQLi im whois-Dienst verwenden und wir werden auch den Spuren eines anderen Hacks folgen, nämlich eine Shell finden, einen Parameter auswählen und die Protokolle und den Verkehrsauszug analysieren.

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 ein privates Netzwerk mit Personen gelangen, die etwas auf dem Gebiet der Informationssicherheit wissen :)

Organisationsinformationen
, - , :

  • PWN;
  • (Crypto);
  • c (Network);
  • (Reverse Engineering);
  • (Stegano);
  • WEB-.

, , , .

, , Telegram . , , .

. , - , .

Aufklärung


Dieser Computer hat eine IP-Adresse 10.10.10.155, die ich zu / etc / hosts hinzufüge.

10.10.10.155	scavenger.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.155 --rate=500

Bild

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 -A scavenger.htb -p 21,22,25,43,53,80

Bild

In der Ausgabe von nmap können Sie feststellen, dass FTP-, SSH- und SMTP-Dienste auf dem Host (verfügbar unter der Domäne ib01.supersechosting.htb) ausgeführt werden. Außerdem wird der whois-Dienst mit MariaDB DBMS (ein anderer Domänenname wird hervorgehoben - www.supersechosting.htb ), der DNS-Dienst, ausgeführt und Apache Webserver.

Fügen Sie die gefundenen Domänen zu / etc / hosts hinzu.

10.10.10.155    scavenger.htb ib01.supersechosting.htb www.supersechosting.htb

Versuchen wir, weitere DNS-Namen zu finden. Versuchen wir, eine DNS-Zonenübertragung mit dig durchzuführen.

dig axfr supersechosting.htb @10.10.10.155

Bild

Fügen Sie die Eingabedaten zu / etc / hosts hinzu.

10.10.10.155	scavenger.htb ib01.supersechosting.htb www.supersechosting.htb supersechosting.htb ftp.supersechosting.htb mail1.supersechosting.htb ns1.supersechosting.htb whois.supersechosting.htb

Gehen Sie als Nächstes zum WHOIS-Dienst, dessen Hauptanwendung darin besteht, Registrierungsdaten über die Eigentümer von Domainnamen, IP-Adressen und autonomen Systemen abzurufen.

Bild

Da SQL-Datenbanken verwendet werden, senden wir eine Anfrage mit einem Angebot und stellen einen vom Service generierten Fehler fest.

Bild

Somit ist eine SQL-Injection vorhanden.

Bild

Zuerst berechnen wir die Anzahl der Spalten sowie die Spalte, die dem Benutzer angezeigt wird.

Bild

Wir erhalten also die Anzahl der Spalten - 2 und was zuerst angezeigt wird. Als nächstes finden wir die Tabellen und Spaltennamen heraus.

Bild

Und jetzt lesen wir alle Domänen, die der Dienst kennt.

Bild

Suchen Sie die neuen Namen, die wir zu / etc / hosts hinzufügen.

10.10.10.155	scavenger.htb ib01.supersechosting.htb www.supersechosting.htb supersechosting.htb ftp.supersechosting.htb mail1.supersechosting.htb ns1.supersechosting.htb whois.supersechosting.htb justanotherblog.htb pwnhats.htb rentahacker.htb

Jetzt übertragen wir die Zone mit dem gefundenen Namen.

Bild

Bild

Bild

Wenn wir also neue Namen finden, ergänzen wir die Datei / etc / hosts

10.10.10.155	scavenger.htb ib01.supersechosting.htb www.supersechosting.htb supersechosting.htb ftp.supersechosting.htb mail1.supersechosting.htb ns1.supersechosting.htb whois.supersechosting.htb justanotherblog.htb pwnhats.htb rentahacker.htb www.justanotherblog.htb www.pwnhats.htb www.rentahacker.htb sec03.rentahacker.htb 

Unter Umgehung aller Websites haben wir nichts Bedeutendes außer einer Nachricht von www.rentahacker.htb , aus der wir schließen, dass der Dienst bereits gehackt wurde.

Bild

Und wenn wir zu sec03.rentahacker.htb gehen, sehen wir eine Bestätigung dafür.

Bild

Scannen Sie Verzeichnisse und Dateien mit Gobuster. Wir werden das Wörterbuch von dirb angeben, die Anzahl der Threads beträgt 120, die interessierenden Server-Antwortcodes sind ebenfalls interessant und die zulässige Antwortverzögerung beträgt 20 Sekunden.

gobuster dir -w /usr/share/wordlists/dirb/big.txt -t 120 -e -x php -u http://sec03.rentahacker.htb/ -s "200,204,301,302,307,401" --timeout 20s

Bild

Wir finden eine interessante Seite - shell.php, wenn darauf zugegriffen wird, passiert nichts. Dies geschieht höchstwahrscheinlich, da wir ohne Parameter auf die Seite zugreifen. Sortieren wir die Parameter mit wfuzz, geben eine Liste in den Parametern an und die Tatsache, dass die Anzahl der Wörter in der Antwort nicht 0 sein sollte.

wfuzz -c -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt --hw 0 http://sec03.rentahacker.htb/shell.php?FUZZ=id

Bild

Suchen Sie den Parameter und überprüfen Sie ihn.

Bild

Überprüfen Sie das Verzeichnis / home.

Bild

Schauen Sie sich nun im Home-Verzeichnis des Benutzers um.

Bild

Wir sehen uns die WordPress-Konfigurationen an und erhalten den Benutzernamen und das Passwort für die Verbindung zur Datenbank.

Bild

Dieses Passwort passte nicht zu SSH, ging aber an ftp und gab uns nichts. Der Host verfügt über einen Mail-Dienst. Daher ist es sinnvoll, die Nachrichten des Benutzers zu überprüfen.

Bild

Und wir finden noch einen Ausweis. Laden Sie alles herunter, was auf FTP läuft.

wget -m --no-passive ftp://ib01ftp:YhgRt56_Ta@ftp.supersechosting.htb

Bild

Wir gehen in das Verzeichnis, in das die Dateien heruntergeladen werden, und sehen, was wir haben. Es gibt eine Notiz, ein Protokoll und einen Verkehrsauszug.

Bild

Öffnen Sie Wireshark und sehen Sie, was da ist. Nach dem Protokoll zu urteilen, sind wir an der HTTP-Sitzung interessiert. Sehen wir uns alle HTTP-Objekte an: Datei -> Objekte exportieren -> HTTP.

Bild

Speichern Sie von allem, was präsentiert wurde, den root.c-Code.

Bild

Gehen Sie als Nächstes zum Wireshark-Hauptfenster und überprüfen Sie einige Anmeldeinformationen. Wir haben also drei POST-Anfragen, an die das Passwort übertragen wird.

Bild

Dieses Passwort ist für die FTP-Authentifizierung geeignet.

Bild

Es gibt auch ein seltsames Verzeichnis - "...". Darin lag die gesammelte root.ko.

Bild

Bild

Lassen Sie uns den Quellcode analysieren.

Bild

Von Anfang an wird klar, um welches Gerät es sich handelt. Überprüfen Sie, ob sich dieses Gerät im System befindet.

Bild

Das stimmt, es gibt ein Gerät. In dem Code interessiert uns eine Funktion, die nach Überprüfung der Eingabezeile im Namen des Benutzers Zugriff mit einer UID von 0, dh root, ermöglicht.

Bild

Öffnen Sie nun das Programm im Dekompiler und suchen Sie die Funktion root_write.

Bild

Der Code wurde leicht geändert und anstelle der Zeile g0tROot lautet die korrekte Zeile g3tPr1v. Kehren wir zur ursprünglichen Shell zurück, und nachdem wir die Root-Rechte erhalten haben, sehen wir uns das Ausgangsverzeichnis an.

Bild

Wir nehmen die Flagge.

Bild

Sie können sich uns per Telegramm anschließen . 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.

All Articles