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 de la dirección IP y podemos observar que tenemos 4 puertos identificados.
Como podemos acceder al servicio de FTP usando la credencial de anonymous
podemos observar un archivo que descargamos.
Abrimos el archivo y podemos observar que tenemos un texto interesante.
Ya que no tenemos donde más buscar, esta vez buscaremos dentro del servicio smb
. Usamos rpcclient
y listamos los usuarios donde podemos observar que tenemos a macarena
que también es el nombre que vimos en el archivo FTP.
Probamos a identificar algún password y observamos que el password era donald
el cual también estaba en el archivo txt
.
macarena:donald
Listamos los directorios y podemos observar que tenemos el de macarena
.
Ya que tenemos credenciales probamos acceder al archivo de smb
y podemos observar que accedimos con éxito.
Listamos los archivos y podemos observar que tenemos varios y uno llamado user.txt
descargamos el archivo y al leerlo observamos un texto encriptado al parecer.
Volvemos a escanear el servicio de smb
, pero esta vez con smbmap
y podemos observar que podemos escribir en el subdirectorio.
Podemos subir una revshell, pero no tenemos como explotarlo, así que la otra opción es probar subir una llave SSH. Para crear el archivo usamos puttygen
para crear una clave SSH de 2048 bits en formato OpenSSH y se guardará en el archivo gm4tsy
.
Le damos permisos 600 al archivo que generemos.
Luego usamos el siguiente comando para extraer la clave pública del archivo de clave privada gm4tsy
y sobrescribir el archivo authorized_keys
con esta clave pública
/usr/bin/puttygen gm4tsy -o authorized_keys -O public-openssh
Para que todo nos vaya bien debemos crear un directorio llamado .ssh
donde subiremos el archivo authorized_keys
.
Luego de subir el archivo iniciamos sesión usando la clave generada y podemos observar que tuvimos éxito.
Realizamos un sudo -l
y podemos observar que no podemos porque no tenemos el password.
Regresamos a la carpeta home para ver qué usuarios tenemos y podemos observar uno que es ftp
y es la misma información que ya obtuvimos, en secret
tenemos un hash que parece estar en base 64.
La llevamos a cyberchef y podemos observar un texto que indica ser un password.
supersecurepassword
Volvemos a realizar un sudo -l
y observamos que podemos escalar haciendo uso del binario file.
Vamos a la página de GTFOBins donde encontramos la manera de usar ese binario y es donde podemos leer archivos como root.
Tratamos de leer el archivo id_rsa de root, pero no es posible. Buscamos entre los archivos temporales y observamos que en opt
tenemos un archivo llamado password y pertenece a root.
Leemos el archivo observando el password de este usuario.
root:rooteable2
Usamos las credenciales para loguearnos y podemos observar que obtuvimos root culminando esta máquina.