KoTH Food CTF es una maquina de TryHackMe parte de las maquinas de King of the Hill se presentan algunas formas para obtener acceso y escalar privilegios.
Room
Titulo | KoTH Food CTF |
---|---|
Descripción | Practice Food KoTH alone, to get familiar with KoTH! |
Puntos | 0 |
Dificultad | Facil |
Maker |
NMAP
Escaneo de puertos tcp, nmap nos muestra el puerto http (15065), mysql (3306) y el puerto ssh (22) abiertos.
|
|
Primera Parte
A continuacion se muestran los dos caminos (partes) que se encontraron para obtener una shell y escalar privilegios, además el lugar donde se encuentran las flags.
MYSQL
Nos conecatmos en el puerto 3306 con las credenciales por default (root:), en donde encontramos una base de datos (users
) que contiene unas credenciales y una flag.
|
|
RAMEN - USER
Utilizamos las credenciales que encontramos en la base de datos en el servicio SSH, logramos obtener una shell.
PRIVILEGE ESCALATION
Hacemos una pequeña enumeracion en la maquina y encontramos un archivo SUID screen-4.5.0. Ejecutamos el exploit y obtenemos una shell como usuario root.
Obtenemos una flag en la carpeta principal de este usuario.
Buscamos la flag en el directorio /
y logramos encontrar una en /home/bread/flag
, /home/tryhackme/flag7
y /var/flag.txt
.
Encontramos otra dentro de la carpeta principal del usuario food (/home/food/.flag
).
Vemos los puertos abiertos y nos muestra el puerto 16109
, visitamos el puerto y vemos una imagen.
Descargamos la imagen y extraemos archivos ocultos con steghide
sin contraseña, donde encontramos las credenciales del usuario pasta.
root@upset:~/thm/kothfood# steghide extract -sf image.jpg
Enter passphrase:
wrote extracted data to "creds.txt".
root@upset:~/thm/kothfood# cat creds.txt
pasta:... snip ...
root@upset:~/thm/kothfood#
Segunda Parte
HTTP
Encontramos una pagina web en el puerto 15065.
GOBUSTER
Utilizamos gobuster para busqueda de directorios y archivos.
|
|
En la pagina monitor
en donde al pasarle una ip realiza un ping.
Le pasamos nuestra IP y logramos recibir los paquetes.
Revisamos el codigo fuente de la pagina y encontramos un archivo de javascript, que, en uno de los comentarios indica que el codigo está ofuscado. Encontramos una funcion que envia la IP a una API.
|
|
Enviamos un comando mediante el metodo POST utilizando CURL
y logramos obtener el resultado.
Ejecutamos una shel inversa y logramos obtener una shell inversa con el usuario BREAD.
Generamos claves SSH para el usuario bread.
Además agregamos nuestra clave en el archivo authorized_keys
.
Ingresamos por el servicio ssh y enumeramos la maquina para buscar archivos para escalar privilegios.
-rwsr-xr-x 1 root root 8.3K Jul 15 05:07 /tmp/rootshell
-rwsr-sr-x 1 daemon daemon 51K Feb 20 2018 /usr/bin/at
-rwsr-xr-x 1 root root 75K Mar 22 2019 /usr/bin/chfn
-rwsr-xr-x 1 root root 44K Mar 22 2019 /usr/bin/chsh
-rwsr-xr-x 1 root root 75K Mar 22 2019 /usr/bin/gpasswd
-rwsr-xr-x 1 root root 37K Mar 22 2019 /usr/bin/newgidmap
-rwsr-xr-x 1 root root 40K Mar 22 2019 /usr/bin/newgrp
-rwsr-xr-x 1 root root 37K Mar 22 2019 /usr/bin/newuidmap
-rwsr-xr-x 1 root root 59K Mar 22 2019 /usr/bin/passwd
-rwsr-xr-x 1 root root 22K Mar 27 2019 /usr/bin/pkexec
-rwsr-xr-x 1 root root 1.6M Mar 20 03:04 /usr/bin/screen-4.5.0
-rwsr-xr-x 1 root root 146K Jan 18 2018 /usr/bin/sudo
-rwsr-xr-x 1 root root 19K Jun 28 2019 /usr/bin/traceroute6.iputils
-rwsr-sr-x 1 root root 2.6M Jun 6 2019 /usr/bin/vim.basic
-rwsr-xr-- 1 root messagebus 42K Jun 10 2019 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
-rwsr-xr-x 1 root root 10K Mar 28 2017 /usr/lib/eject/dmcrypt-get-device
-rwsr-xr-x 1 root root 427K Mar 4 2019 /usr/lib/openssh/ssh-keysign
-rwsr-xr-x 1 root root 14K Mar 27 2019 /usr/lib/policykit-1/polkit-agent-helper-1
-rwsr-sr-x 1 root root 107K Oct 30 2019 /usr/lib/snapd/snap-confine
-rwsr-xr-- 1 root telnetd 11K Nov 7 2016 /usr/lib/telnetlogin
-rwsr-xr-x 1 root root 99K Nov 23 2018 /usr/lib/x86_64-linux-gnu/lxc/lxc-user-nic
Encontramos un binario que al ejecutarlo /tmp/rootshell
nos devuelve una shell como usuario root.