DockerLabs Domain

DockerLabs Domain

Esta es una máquina de DockerLabs de nivel medio

·

4 min read

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 el escaneo del servicio y podemos observar que tenemos 3 puertos abiertos.

Si nos dirigimos a la dirección web podemos observar que solo se puede observar la página default de apache2.

Realizamos un escaneo de directorios y podemos observar que no hay alguno.

Como tenemos un servicio smb procedemos a realizar la búsqueda en ese servicio. Para ello primero listaremos los servicios y podemos ver que no tenemos acceso a ninguno.

Para este paso entonces necesitamos algún nombre usuario. Así que buscaremos usuarios válidos para smb. Para este paso podemos usar enu4linux.

Tendríamos el siguiente resultado para los nombres que buscamos lo que por ahora nos interesaría con los del segundo grupo y para este caso tendremos en cuenta los nombres de james y bob.

Otra manera es empleando rcpclient, este nos permite ejecutar varios comandos administrativos en el servidor remoto, como enumerar usuarios, grupos, políticas de seguridad, etc. para nuestro caso usaremos enumdomusers que enumera los usuarios dentro del dominio. Como podemos observar también obtuvimos los usuarios jamesy bob.

Con conocimiento de ello ahora debemos extraer el password para los usuarios. Con ayuda de crackmapexec haremos un ataque de fuerza bruta.

Ejecutamos el comando y podemos observar que tenemos el password de bob, ya que no se pudo hallar para james.

bob:star

Nos conectamos a SMB usando las credenciales y podemos observar que tenemos acceso al directorio HTML.

smbclient \\\\172.17.0.2\\html -U bob

Una vez ingresamos al directorio compartido observamos un archivo index.html, descargamos el archivo, pero no observamos algo interesante dentro de este.

Probaremos subiendo algún archivo y veremos si es posible observarlo.

Para esto usamos el comando put para subir el archivo.

Nos dirigimos a la dirección web y podemos observar que el archivo se subió con éxito y se ejecutó.

Con conocimiento de esto podemos aprovecharnos y subir una rvshell que podemos obtener de pentestmonkey

Subimos la rvshell, pero antes de abrirlo iniciamos nuestro listener.

Una vez establecido el listener.

Abrimos el archivo donde está nuestra shell.

Apenas enviemos y si nuestra shell es correcta podemos observar que ya tenemos acceso.

Para facilitar las cosas en este punto migraremos la shell porque en este caso nos ocurre que no podemos hacer uso de las flechas o subir y bajar al comando anterior. Para ello primero hacemos:

script /dev/null -c bash

luego un ctrl+z, regresaremos a nuestra consola seguida de ello ingresaremos los siguientes comandos para recuperar la shell usamos stty

stty raw -echo; fg
                reset xterm

para obtener más características usamos

export TERM=xterm

para la variable de entorno

echo $SHELL

y para pasar a bash usamos

export SHELL=/bin/bash

para establecer el tamaño adecuado de la consola ingresamos

stty rows 59 cols 236

de esta manera ya nos podemos mover con más libertad en la consola.

Una vez establecida de una mejor manera, listamos la carpeta opt y tmp, pero no encontramos nada.

Desde la carpeta raíz buscamos permisos SUID y podemos observar que podemos usar el binario de nano, más información de ello encontramos en GFTOBins.

Ya que podemos modificar archivos con nano abrimos el archivo passwd.

Como podemos editar el archivo quitamos la x de root quedando así.

Guardamos el archivo y si ejecutamos el comando su root podemos observar que ya somos root sin necesidad de las credenciales. De esta manera dando por concluido la máquina.