DockerLabs Winterfell

DockerLabs Winterfell

Esta es una máquina de DockerLabs de nivel fácil

·

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.

Realizando un escaneo de la dirección IP podemos observar que tenemos 4 puertos habilitados donde al parecer los dos últimos pertenecen a un servicio smb.

Ingresamos a la dirección IP desde nuestro navegador, solo observamos la página de inicio que indica diario de Jon y los botones del navbar son no funcionales.

Como en el escaneo de nmap observamos que se tiene de título Juego de trono realizamos un escaneo de directorios y podemos ver que encontramos uno que se llama /dragon.

Agregamos el directorio a la dirección web y vemos un archivo llamado EpisodioT1, el cual contiene los títulos de la primera temporada.

Como tenemos un servicio smb procedemos a realizar la búsqueda en ese servicio. Para ello primero listaremos el servicio 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 enum4linux.

Y tendríamos el siguiente resultado para los nombres que buscamos lo que por ahora nos interesaría son loso del segundo grupo, en este caso tener en cuenta el nombre de jon.

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 y luego enumdomusers que enumera los usuarios dentro del dominio. Como podemos observar, también obtuvimos el usuario jon.

rpcclient -U '%' 172.17.0.2

Con conocimiento de ello ahora debemos extraer el password para este usuario. Para ello, ya que la máquina trata de `GOT` suponemos que el password podría ser alguno de los títulos que encontramos, para ello creamos una lista.

Con ayuda de crackmapexec haremos un ataque de fuerza bruta. Ejecutamos el comando y podemos observar que tenemos el password correspondiente. jon:seacercaelinvierno.

Nos conectamos a SMB usando las credenciales y podemos observar que tenemos acceso a un directorio llamado proteccion_del_reino.

smbclient \\\\172.17.0.2\\shared -U jon

Extraemos el archivo proteccion_del_reino en nuestra máquina local.

Podemos observar que el texto contiene un password, que a primera vista podemos ver que se trata de base 64.

Decodificamos el mensaje y podemos observar que el password es hijodelanister

Nos conectamos por SSH con las credenciales y podemos observar que ya tenemos acceso como jon.

Una vez dentro hacemos un ls y encontramos un archivo que contiene un mensaje sobre una herramienta, si hacemos un sudo -l podemos observar que podemos elevar privilegios como aria usando python3 y un archivo en Python que está oculto.

Listamos los archivos ocultos y si podemos observar el archivo.mensaje.py, al abrir el mensaje podemos ver que es un script que no nos ayudara mucho.

De primera podemos imaginar que editamos el archivo, pero si observamos los permisos no podemos realizar eso, ya que no contamos con los permisos, lo que podemos realizar es eliminar el archivo y de esta manera crear uno nuevo con el mismo nombre el cual contendría un comando para que nos genere una nueva shell. De esta manera podemos escalar privilegios como aria.

Una vez ingresamos como aria realizamos un sudo -l y observamos que podemos escalar como daenerys.

Lo que los binarios nos permiten es poder leer y listar archivos de propiedad de daenerys. Así que no estaría mal suponer que debemos leer algún archivo dentro del directorio home de ella. Primero listamos el directorio y podemos observar que tenemos un archivo llamado mensajeParajon.

Leyendo el mensaje podemos observar que nos indica el password, y si suponemos bien el password debería ser drakaris.

Ingresamos las credenciales para este usuario y podemos comprobar que si es correcto y ya somos daenerys.

Una vez como este usuario buscamos como elevar privilegios y volvemos a realizar un sudo -l y podemos observar que podemos emplear bash y un archivo oculto.

Primero leemos el archivo y podemos ver que es una bash que establece conexión con otra dirección IP, pero si observamos los permisos esto lo tenemos nosotros, así que para elevar privilegios solo debemos editarlo.

Para obtener el root solo modificamos el archivo de la siguiente manera y luego ejecutamos el archivo. De esta manera obtendríamos la shell con permisos de root. Culminando de manera exitosa la máquina.