DockerLabs Escolares

DockerLabs Escolares

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

·

5 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.

Escaneamos la dirección IP y podemos observar que solo identifico 2 puertos.

Vamos al navegador y buscamos la dirección web y podemos ver que se trata de una página de una universidad.

Revisando si la página tiene alguna información interesante en la página de contacto parece que podríamos usar el formulario, pero este no es válido. Pero revisando el código del formulario de contacto podemos observar que está comentado el nombre del directorio profesores.

Si nos dirigimos a ese directorio podemos observar que podemos observar una lista de profesores y el número 3 que indica admin WordPress algo que nos es muy interesante.

Como no tenemos más información para proceder con esta información lo que hacemos es escanear en busca de algún directorio o archivo que no podemos observar.

Si vamos al directorio de WordPress podemos observar otra página.

Tratamos de ingresar a los botones, pero al hacer clic nos redirige a una página, pero no podemos acceder debido a que tiene un dominio.

Para poder acceder al dominio lo agregaremos en nuestro archivo hosts.

Ahora si actualizamos podemos observar que tenemos acceso.

También debemos notar que el autor es Luisillo y ya tenemos nombre de un usuario para WordPress.

Si vamos al login de WordPress e ingresamos el usuario Luisillo y cualquier password observamos que nos indica que el password es incorrecto para ese usuario dando a entender que el usuario sí existe.

Como ya tenemos el usuario procedemos a buscar el password, esto podemos buscar usando wpscan

wpscan --password-attack xmlrpc -t 20 -U luisillo -P /usr/share/wordlists/rockyou.txt --url http://escolares.dl/wordpress/

Probamos durante varios minutos, pero no encuentra nada.

Para poder Obtener un password podemos generarla, ya que debemos recordar que durante el escaneo pudimos hallar un archivo con información del personal como se puede ver tenemos la siguiente información de Luis.

Para esta sección, si bien podemos generar passwords con crunch username-anarchy El más práctico sería usar cupp porque nos pide en su mayoría gran parte de la información que tenemos. Al ejecutar usamos el comando

cupp -i

Una vez ejecutado podemos hacer un ls en nuestro directorio y podemos observar que tenemos un diccionario llamado luis.txt en nuestro caso.

Con este diccionario volvemos a ejecutar wpscan.

wpscan --password-attack xmlrpc -t 20 -U luisillo -P  luis.txt --url http://escolares.dl/wordpress/

Esperamos unos segundos y podemos ver que tenemos el password Luis1981.

Probamos las credenciales y podemos observar que ya estamos dentro.

Revisando podemos observar que contamos con WP File Manager.

Abrimos la pestaña y podemos observar que tenemos en themes los archivos twenty.

Hacemos un clic derecho y podemos ver que podemos subir archivos.

Subimos un archivo de prueba test.php y podemos observar que es posible ejecutar un PHP.

Si vamos a la dirección donde se encuentra nuestro archivo podemos ver que sí se ejecuta.

http://escolares.dl/wordpress/wp-content/themes/twentytwentytwo/test.php

Ahora que sabemos que podemos subir archivos subiremos una revershell. Como la que podemos encontrar en pentestMonkey antes de subir el archivo primero iniciamos nuestro listener con el puerto que asignamos en nuestro revshell.

Una vez subida la rvshell ingresamos la dirección web y podemos observar que ya tenemos acceso.

http://escolares.dl/wordpress/wp-content/themes/twentytwentytwo/rvshell.php

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

Una vez echo esto. Ya tenemos mayor movilidad. Podemos observar que somos www-data así que no debemos tener muchos permisos así que iremos a home a ver si podemos acceder a algún directorio sin necesidad de al gun password y podemos observar en home que aparte de los usuarios tenemos un archivo llamado secret.txt que contiene el password de Luisillo.

Iniciamos sesión como Luisillo.

Como ya estamos como un usuario. Primero vamos a su carpeta y listamos, pero no observamos nada, realizando un sudo -l podemos observar que tenemos la capacidad de elevar privilegios por medio del binario awk.

Vamos a la página GFTOBins observamos el comando para poder elevar privilegios abusando de este binario.

Ejecutamos el binario y podemos observar que pudimos obtener el root. Pudiendo dar por terminada esta máquina de forma exitosa.