romabri@home:~$

Picadilly - DockerLabs

OS Dificultad Creator
Linux Fácil kaikoperez

Reconocimiento Inicial

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

imagen

Accedimos a la IP a través del puerto 80 y encontramos lo siguiente:

imagen

Al abrir la página, observamos el siguiente contenido:

imagen

Encontramos el usuario mateo y una contraseña cifrada con el cifrado de César. Vamos a buscar en internet un desencriptador para este método, lo que nos proporciona varias posibles contraseñas.

imagen

Exploración del Puerto 443

Ahora avanzaremos con el puerto 443. En el escaneo de Nmap, vemos que hay un dominio asociado, picadilly.lab. Vamos a añadir este dominio al archivo /etc/hosts.

imagen

Al acceder al sitio web, observamos una página con una sección para subir archivos. Antes de realizar cualquier subida, haremos un reconocimiento con Gobuster. En este caso, debemos añadir el parámetro -k para que ignore los errores de certificado SSL.

imagen

Encontramos el repositorio uploads, que es donde se almacenarán los archivos que subamos.

Subida de Reverse Shell

Intentaremos subir un archivo reverse-shell.php para verificar si permite la subida de este tipo de archivos.

imagen

Vemos que nos permite subir el archivo PHP. Vamos a ejecutar la reverse shell haciendo clic sobre el archivo subido y nos ponemos en escucha con Netcat por el puerto que hayamos especificado en el archivo, en mi caso, el puerto 443.

imagen

imagen

Escalada de Privilegios

Una vez dentro de la máquina, vemos que en el directorio home existe el usuario mateo. Podemos probar las contraseñas que desciframos previamente. La primera opción es easycrxazy, pero nos da error. Eliminamos la x, dejando la contraseña como easycrazy, y obtenemos acceso.

imagen

Ahora que somos el usuario mateo, ejecutamos sudo -l y vemos que podemos usar el binario php como cualquier usuario.

imagen

Consultamos GTFObins para ver cómo podemos escalar privilegios usando el binario php.

imagen

En lugar de usar el comando CMD=... para declarar la variable cmd, escribimos directamente /bin/sh dentro de system para que se genere una terminal.

imagen

¡Ahora somos root!