Para poder hacer uso de esta máquina primero debemos descargar los archivos y así desplegarlo con Docker.
Descargamos el archivo de la página dockerlabs.es/#
Al momento de descargar esta máquina y descomprimir el archivo, en este caso observamos 2 archivos.
Para desplegar el laboratorio ejecutamos de la siguiente manera, así también podemos ver que nos indica la dirección que tendremos, así también el que hacer cuando terminemos este.
Realizamos un escaneo y podemos observar que están habilitados los puertos 80 y 443.
Al dirigirnos al puerto 80 podemos observar que solo hay un archivo .txt.
Al abrirlo podemos observar que nos dice que el password es hdvbfuadcb
y Para resolverlo pensar en un antiguo emperador romano y su método simple para cambiar letras.
Para ello no tenemos que pensar mucho, ya es bastante conocido el cifrado cesar, de igual manera podemos observar un poco de que se trata.
Con esta pista buscamos un decodificador y en decode.fr hay uno. Ingresamos el texto y podemos ver que el texto sería easycrxazy
, ya que tiene más sentido que las otras.
En este momento, teniendo el usuario mateo
y el password easycrxazy
, sería lógico conectarse usando ssh, pero recordemos que no estaba presente en nuestro escaneo. Si nos dirigimos a la página web con el puerto 443 podemos observar que no podemos si lo hacemos de manera directa.
Para evitar ello, si leemos el texto debe HTTPS, lo ingresamos de manera manual https://172.17.0.2:443/ y somos redirigidos a la página principal y si observamos es una página donde podemos subir archivos.
Le damos en browse y podemos observar que no hay alguna restricción aparente de archivos.
Primero probamos subiendo un archivo cualquiera, damos en subir, pero no vemos a donde subió o algún mensaje de que se subió con éxito.
Para corroborar escanearemos esta direccion por si hay algun directorio a donde este subiendo el archivo. No podemos hacer uso de gobuster
ya que este no acepta las URL cuando son https. Para ello usamos dirb
y al ejecutarlo podemos observar que tenemos el directorio uploads..
dirb https://172.17.0.2/ /usr/share/seclists/Discovery/Web-Content/common.txt
Al dirigirnos a ese directorio podemos observar que sí se encuentra nuestro archivo.
Con conocimiento de ello subiremos una rvshell
, también puede ser un web shell, pero es más rápido la otra. Antes de revisar el archivo debemos iniciar nuestro listener con nc.
Una vez subido nuestro rvshell
, hacemos clic en nuestro archivo.
Apenas hagamos clic podemos observar que ya tenemos conexión.
Al momento de conectarnos tratamos de conectarnos, pero no podemos acceder con el password easycrxazy
probando otras no nos daba ninguna válida, si observamos bien el password notamos que hay una x
demás, si quitamos la x
tenemos easycrazy
, con la cual si podemos acceder como mateo.
Ya que accedimos y debemos escalar privilegios, hacemos sudo -l
para verificar los binarios que podemos ejecutar y tenemos PHP.
Como sabemos que es un binario buscamos en GTFOBins y observamos que tenemos que ejecutar para obtener el acceso como root. https://gtfobins.github.io/gtfobins/php/#sudo
Ingresamos los comandos en orden y ya tenemos acceso como root, de esta manera culminando la máquina con éxito.