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.
Realizando un escaneo de la dirección IP podemos observar que tenemos 2 puertos habilitados.
Si ingresamos a la web de la dirección IP podemos observar que se trata de la página de inicio de un apache modificado
Realizamos un escaneo, pero no observamos nada.
Ya que no tenemos otra pista o donde buscar, realizaremos un escaneo más profundo y podemos observar 2 index uno .php y otro .html.
Revisando los index, el index.php es el que nos da un archivo interesante.
JIFGHDS87GYDFIGD
Con ello podemos suponer que es un password. Por lo que usaremos hydra, pero esta vez para buscar un nombre de usuario, ejecutamos y podemos observar que el nombre del usuario es Carlos.
Nos conectamos usando SSH y ya tenemos acceso a la máquina, una vez dentro, si hacemos un sudo -l
, observamos que tenemos capacidad de ejecutar el binario de Python junto con un script para obtener root.
Hacemos un ls -la
para observar los permisos y el contenido del archivo y podemos observar que no podemos modificar o eliminar el archivo.
Ahora, si realizamos un cat
del archivo, podemos ver que este archivo código copia un archivo de la ruta /opt/
script.py
a la ruta /tmp/script_
backup.py
y muestra un mensaje indicando que el archivo ha sido copiado exitosamente. También debemos tener en cuenta que al archivo shutil.py
que es el que se encarga de copiar el archivo de la ruta origen a destino
Con esto en mente y observando que para invocar al archivo shutil.py
no usa una ruta específica. Simplemente, podemos crear un archivo con el mismo nombre donde se encuentra el archivo script.py, de esta manera carga nuestro archivo y no el correcto. Esto se llama Path Hijacking
. Para ello en la carpeta /opt
creamos el archivo shutil.py y agregamos el comando para que nos genere una nueva shell pero con permisos root. Luego de crear el archivo, ejecutamos el script y obtenemos acceso como root. Terminando de manera exitosa esta máquina.