Write-ups

Resolución del CTF HIDDEN DOCKER

Escaneo de puertos

Realizamos un escaneo de todos los puertos para saber cuáles están activos.

Los parámetros utilizados son:

  • -p- : Escaneo de todos los puertos. (65535)
  • -sS : Realiza un TCP SYN Scan para escanear de manera rápida que puertos están abiertos.
  • -sC : Realiz una escaneo con los scripts basicos de reconocimiento
  • -sV : Realiza un escaneo en buqueda de los servicios
  • –min-rate 5000: Especificamos que el escaneo de puertos no vaya más lento que 5000 paquetes por segundo, el parámetro anterior y este hacen que el escaneo se demore menos.
  • -n: No realiza resolución de DNS, evitamos que el escaneo dure más tiempo del necesario.
  • -Pn: Deshabilitamos el descubrimiento de host mediante ping.

En el puerto 5000 nos encontramos un aplicativo web con un panel de registro.

Si intentamos realizar una operación aritmética vemos que funciona puesto que tiene una vulnerabilidad Server Side Template Injection(SSTI).

Si que vamos a coger un payload de PayloadsAllTheThing para entablar una reverse shell.

Una vez hemos reicibido la conexión vemos que hay otra red (docker).

Así que con chisel nos vamos a traer ese contenedor para obtener acceso.

Establecemos en la maquina victima el chisel en modo cliente.

Y ajustamos proxychains en el puerto 1080.

Una vez dentro podemos ver una web parecida a la de dockerlabs.es, muy grande Mario ;).

Al ver que la web esta hecha en php vamos a fuzzear por archivos con extensión php y nos encuentra el directorio «uploads» y el endpoint «machine.php».

Al visitar el endpoint «machine.php» vemos que podemos subir una archivo.

Al saber que funciona con php, vamos a crear una reverse shell de pentest monkey en php.

Pero al intentar subirlo vemos que solo acepta formatos «.zip».

Así que probando varios archivos vamos a utilizar la extensión «phar«.

Nos indica que se a subido correctamente.

Y nos vamos a ruta que encontramos de «upload» «y vemos nuestro archivo.

Nos ponemos en escucha no nc clickeamos sobre nuestra archivo subido.

Vamos que a nivel de sudoers podemos ejecutar los binarios cut grep sin proporcionar contraseña.

Una vez dentro ya estamos en el docker, en el cual nos encontramos una nota.txt que nos indica que la clave de root esta en la ruta «/root/clave.txt«. Así que vamos a leer ese archivo con grep.

Una vez obtenemos la contraseña podemos acceder por ssh y conseguir ser root en la maquina principal.

Especial agradecimiento al compañero ElPingüinoDeMario por la creación y el conocimiento aportado en esta máquina.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *