[VULNHUB] Who Wants To Be King

Hoy vamos a hackear la maquina de Vulnhub llamada Who Wants To Be King. Podeis descargarla desde el siguiente enlace: Who Wants to be King

Video


Enumeration


Empezamos con un nmap para ver que puertos tiene abiertos.

> nmap -A -p- 192.168.1.15                                                                                                                              
Starting Nmap 7.70 ( https://nmap.org ) at 2020-12-09 12:22 CET
Nmap scan report for osboxes.home (192.168.1.15)
Host is up (0.00083s latency).
Not shown: 65533 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.41
| http-ls: Volume /
| SIZE  TIME              FILENAME
| 31K   2020-12-01 11:23  skeylogger
|_
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Index of /
Service Info: Host: 127.0.1.1; OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 13.45 seconds
Vemos que tiene abiertos los puerto de SSH y HTTP. Vemos que en el server Apache tiene un fichero, asi que nos lo descargamos.

> wget http://192.168.1.15/skeylogger                                                                                                                           
--2020-12-09 12:24:19--  http://192.168.1.15/skeylogger
Conectando con 192.168.1.15:80... conectado.
Peticion HTTP enviada, esperando respuesta... 200 OK
Longitud: 31416 (31K)
Grabando a: “skeyloggerâ€

skeylogger                                100%[===================================================================================>]  30,68K  --.-KB/s    en 0s      

2020-12-09 12:24:19 (479 MB/s) - “skeylogger†guardado [31416/31416]
Usamos el comando "strings" para ver si vemos algo que nos llame la atencion.

> strings skeylogger 
---SNIP---
/lib64/ld-linux-x86-64.so.2
exit
ZHJhY2FyeXMK
Usage: skeylogger [OPTION]
Logs pressed keys
  -h, --help		Displays this help message
  -v, --version		Displays version information
  -l, --logfile		Path to the logfile
  -d, --device		Path to device file (/dev/input/eventX)
Simple Key Logger version 0.0.1
grep -E 'Handlers|EV' /proc/bus/input/d
---SNIP---
Entre todas las cadenas de texto, hay una que llama la atencion, y que al hacer el decode de base64 nos da como resultado dracarys...

> echo ZHJhY2FyeXMK | base64 -d
dracarys
Sabemos que la maquina trata de la serie de Juego de Tronos asi que tras buscar quien usaba el termino dracarys, vemos que es daenerys. Sabiendo esto, nos logueamos como daenerys usando dracarys como password.

Low Shell



> ssh daenerys@192.168.1.15
The authenticity of host '192.168.1.15 (192.168.1.15)' can't be established.
ECDSA key fingerprint is SHA256:3Zk3wVHq8e0RHINUnUuy9baXoUNWWVybz6ynzdcJgYY.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.15' (ECDSA) to the list of known hosts.
daenerys@192.168.1.15's password: 
Last login: Tue Dec  1 11:38:40 2020 from 192.168.0.105
daenerys@osboxes:~$
Una vez dentro del sistema, le echamos un vistazo en profundida para ver que puede haber escondido...

daenerys@osboxes:~$ cd .local
daenerys@osboxes:~/.local$ ls
drwxr-xr-x  6 daenerys daenerys 4096 Dec  1 11:42 share
daenerys@osboxes:~/.local$ cd share
daenerys@osboxes:~/.local/share$ ls 
-rw-rw-r-- 1 daenerys daenerys  200 Dec  1 11:13 daenerys.zip
drwx------ 7 daenerys daenerys 4096 Dec  1 11:02 evolution
drwx------ 3 daenerys daenerys 4096 Dec  1 11:02 flatpak
drwxr-xr-x 2 daenerys daenerys 4096 Dec  1 10:58 gnote
drwx------ 2 daenerys daenerys 4096 Dec  1 11:12 nano
Encontramos el fichero daenerys.zip, lo descomprimimos.

daenerys@osboxes:~/.local/share$ unzip daenerys.zip 
Archive:  daenerys.zip
 extracting: djkdsnkjdsn             
Miramos el contenido.

daenerys@osboxes:~/.local/share$ cat djkdsnkjdsn 
/usr/share/sounds/note.txt
Nos indica una ruta de una "note.txt" asi que miramos el contenido de ese fichero.

root@osboxes:~# cat /usr/share/sounds/note.txt
I'm khal.....
El contenido del fichero parece indicar que es el inicio del nombre de uno de los personajes, en este caso se trata de khaldrogo. Usamos ese nombre como la password de root.

Privilege Escalation



daenerys@osboxes:~/.local/share$ su root
Password:khaldrogo 

root.txt



root@osboxes:/home/daenerys/.local/share# cd /root
root@osboxes:~# ls
nice.txt
root@osboxes:~# cat nice.txt 
¡Congratulation!
You have a good day!
aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1nTjhZRjBZZmJFawo=

End


Y con esto ya seriamos root de la maquina.