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.
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
=============================================================== 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:
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:
Kopieren Sie den Exploit lokal, ändern Sie die IP und den Port und beginnen Sie mit dem Abhören des gewählten Ports.
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
Privilegieneskalation
Systeminfo, um einen Überblick zu erhalten
Schauen wir uns die technischen Daten des Geräts an:
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
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:
... 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.
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:
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] 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.
0 Kommentare