romabri@home:~$

PingPong - DockerLabs

OS Dificultad Creator
Linux Medio ElPinguinoDeMario

Reconocimiento Inicial

Durante el reconocimiento inicial, encontramos los puertos 80, 443 y 5000 abiertos.

imagen

Accedemos al puerto 80 y encontramos la página por defecto de Apache2. Utilizamos Gobuster para buscar directorios y archivos ocultos.

imagen

Gobuster nos revela la existencia de machine.php. Vamos a explorar este directorio.

imagen

En el directorio machine.php, no encontramos nada interesante. Pasamos a explorar el puerto 443.

imagen

Al acceder al puerto 443, encontramos otra página por defecto de Apache2. Realizamos otro reconocimiento con Gobuster.

imagen

Los resultados de Gobuster son los mismos que en el puerto 80.

imagen

Finalmente, exploramos el puerto 5000.

imagen

Parece que podemos introducir una IP y hacer ping. Probamos enviando un ping a nuestra IP.

imagen

Capturamos el tráfico con Gobuster para realizar pruebas adicionales.

imagen

Al hacer un ping a nuestro equipo, confirmamos la conexión. Probamos con localhost para ver si reconoce letras o solo permite números.

imagen

Vemos que el ping a localhost es exitoso, por lo que podemos inyectar código usando && y el comando que deseemos. Listamos el contenido de /etc/passwd.

imagen

Como podemos inyectar código, procedemos a enviarnos una reverse shell de la siguiente forma.

imagen

imagen

Escalada de Privilegios

Ahora estamos dentro del sistema. Ejecutamos sudo -l y vemos que podemos usar el binario dpkg como el usuario bobby. Consultamos GTFObins para ver cómo escalar privilegios.

imagen

Usamos el siguiente comando para escalar privilegios:

sudo -u bobby /usr/bin/dpkg -l

Se abrirá un manual. Escribimos !/bin/sh para obtener una shell como bobby.

imagen

Ejecutamos nuevamente sudo -l y vemos que con el usuario gladys podemos usar el binario php.

imagen

Ejecutamos el siguiente comando para escalar privilegios:

CMD="/bin/sh"
sudo -u gladys php -r "system('$CMD');"

Ahora podemos ejecutar el comando cut. Buscamos algún archivo en una carpeta que podamos visualizar, ya que este comando no proporciona escalada directamente.

imagen

En la carpeta opt, encontramos la contraseña de chocolatito. Usamos el comando cut para leer este archivo.

imagen

Obtenemos la contraseña de chocolatito y hacemos su chocolatito con esa contraseña.

imagen

Desde este usuario, podemos escalar a theboss usando el binario awk. Consultamos GTFObins para ver cómo hacerlo.

imagen

sudo -u theboss awk 'BEGIN {system("/bin/sh")}'

Finalmente, podemos escalar a root usando el binario sed con el siguiente comando:

imagen

sudo sed -n '1e exec sh 1>&0' /etc/hosts

imagen

¡Ya somos ROOT!