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.
Acceso a la Web
Al acceder a la web a través del puerto 80, nos encontramos con la siguiente interfaz:
Reconocimiento con Gobuster
Para profundizar en el reconocimiento, ejecutamos gobuster para enumerar directorios y archivos ocultos en la web.
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:
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.

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.
Acceso a la Máquina
Hemos obtenido acceso a la máquina. Dentro de la carpeta OPT, encontramos una nota con el siguiente contenido:
Comprobación de Privilegios
Ejecutamos el comando sudo -l y obtenemos la siguiente salida:
Escalación de Privilegios
Buscamos el binario cut en GTFOBins y encontramos una vulnerabilidad explotable. Procedemos a ejecutarlo para ver qué sucede.
Lectura de Archivos
Hemos podido leer el archivo con éxito.
Acceso a Root
Utilizamos la contraseña encontrada para obtener acceso root.