Picadilly - DockerLabs
| OS | Dificultad | Creator |
|---|---|---|
| Linux | Fácil | kaikoperez |
Reconocimiento Inicial
Durante el reconocimiento inicial, encontramos los puertos 80 y 443 abiertos.
Accedimos a la IP a través del puerto 80 y encontramos lo siguiente:
Al abrir la página, observamos el siguiente contenido:
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.
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.
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.
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.
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.
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.
Ahora que somos el usuario mateo, ejecutamos sudo -l y vemos que podemos usar el binario php como cualquier usuario.
Consultamos GTFObins para ver cómo podemos escalar privilegios usando el binario php.
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.
¡Ahora somos root!