romabri@home:~$

DockerLabs - DockerLabs

OS Dificultad Creator
Linux Fácil ElPinguinoDeMario

Reconocimiento

Escaneo Inicial

Realizamos un escaneo con nmap y observamos que el puerto 80 está abierto.

imagen

Acceso a la Web

Al acceder a la web a través del puerto 80, nos encontramos con la siguiente interfaz:

imagen

Reconocimiento con Gobuster

Para profundizar en el reconocimiento, ejecutamos gobuster para enumerar directorios y archivos ocultos en la web.

imagen

Resultados de Gobuster

Encontramos dos directorios interesantes: upload y uploads. Procedemos a investigarlos más a fondo.

Exploración de Repositorios

Directorio upload

Dentro del directorio upload, encontramos el archivo upload.php, pero no contiene nada útil. Sin embargo, en machine.php, detectamos la capacidad de subir archivos. Vamos a intentar subir una reverse shell en PHP para obtener acceso.

Intento de Subida de Reverse Shell

Al intentar subir un archivo PHP, recibimos el siguiente error:

imagen

Bypass de Restricciones de Extensión PHP

Para sortear esta restricción, utilizamos diferentes extensiones de archivo PHP. Las extensiones disponibles son:

.php, .php2, .php3, .php4, .php5, .php6, .php7, .phps, .phps, .pht, .phtm, .phtml, .pgif, .shtml, .htaccess, .phar, .inc, .hphp, .ctp, .module

perl

Vamos a probar cada una de ellas para ver cuál nos permite subir el archivo.

Pruebas de extensiones PHP

Subida Exitosa

Finalmente, la extensión correcta es .phar. Ahora, vamos al directorio uploads y hacemos clic en el archivo que hemos subido: php-reverse.shell.phar.

imagen

Acceso a la Máquina

Hemos obtenido acceso a la máquina. Dentro de la carpeta OPT, encontramos una nota con el siguiente contenido:

imagen

imagen

Comprobación de Privilegios

Ejecutamos el comando sudo -l y obtenemos la siguiente salida:

imagen

Escalación de Privilegios

Buscamos el binario cut en GTFOBins y encontramos una vulnerabilidad explotable. Procedemos a ejecutarlo para ver qué sucede.

imagen

Lectura de Archivos

Hemos podido leer el archivo con éxito.

imagen

Acceso a Root

Utilizamos la contraseña encontrada para obtener acceso root.

imagen