🟢DC-2

Write-up de la máquina DC-2 de Proving Grounds #writeup #walkthrough

Enumeración

Servicios abiertos

Comenzamos realizando un escaneo rápido de los servicios que tiene abiertos está máquina.

nmap -p- --open --min-rate 5000 -Pn -n -vvv 192.168.113.194

2 puertos abiertos. Vamos a realizar el escaneo profundo de estos servicios.

nmap -p80,7744 -sVC -Pn -n -vvv 192.168.113.194

Puertos abiertos

  • Puerto 80 -> HTTP -> Apache httpd 2.4.10

  • Puerto 7744 -> SSH -> OpenSSH 6.7

Interesante, indica que esta IP nos redireccionaa http://dc-2/. Vamos a añadir la IP y dominio de acceso a nuestro archivo /etc/hosts.

Enumeración Web

Dado que está el puerto 80 abierto en la máquina objetivo, vamos a explorar el dominio en el navegador.

En el servidor Web hay instalado un CMS de WordPress.

Vamos a realizar una enumeración de directorios para ver si existe alguno con información o puntos de accesos interesantes.

dirsearch -u "http://dc-2/" -i200,301 -t 30

Vemos varios archivos y directorios que pueden ser interesantes.

Mientras se realiza el escaneo de directorios, inspeccionamos el sitio Web y encontramos un directorio interesante, Flag.

Nos dan una una pista para continuar. Vamos a continuar realizando un escaneo del sitio Web con la herramienta "wp-scan".

wpscan --url dc-2 --enumerate p --enumerate t --enumerate u

Después de un momento, nos devuelve el nombre de tres usuarios del sistema.

También, como nos indicaba la pista, vamos a crear una lista de passwords a partir de palabras existentes en el sitio Web.

cewl dc-2 > password

Ahora tenemos un diccionario con posibles contraseñas generada con la herramienta "cewl" y una lista con los tres usuarios devueltos por la herramienta "wpscan".

¿Qué podemos hacer con estas listas?

Explotación

Con la herramienta "wpscan", vamos a buscar pares de usuario y contraseña válidos, de la siguiente manera:

wpscan --url dc-2 -U users -P password

Después de un momento de ejecución, tenemos credenciales.

  • jerry:adipiscing

  • tom:parturient

Vamos a tratar de iniciar sesión en el sitio Web utilizando uno de los pares de credenciales que hemos encontrado.

Podemos iniciar sesión con las credenciales del usuario "jerry".

Una vez tenemos acceso al panel de administración del CMS, si nos dirigimos al apartado de páginas creadas, vemos una con un nombre que puede ser interesante.

Son pistas para vulnerar la máquina. Indica que no será posible explotar alguna vulnerabilidad en el CMS y que el punto de entrada es otro. Recordamos que hay un servicio SSH disponible y tenemos credenciales. Vamos a tratar de iniciar sesión a través de SSH.

Y tenemos acceso a la máquina víctima con las credenciales del usuario "tom" pero, tenemos una shell limitada. Vamos a tratar de escapar de ella.

Podemos ejecutar esos 4 comandos. Entre la diversas formas de escapar de una "rbash", existe una que implica el editor vi, que además tenemos disponible.

Ejecutamos vi y escribimos

Clicamos enter y escribimos

Entonces escaparemos de la "rbash" pero quedará un último detalle.

export PATH=/bin:/usr/bin:$PATH
export SHELL=/bin/bash:$SHELL

Y ya tendremos una terminal útil.

Y podremos buscar la flag local.txt

Elevación de privilegios

En el archivo flag3.txt tenemos otra pista

Según la sugerencia, ahora necesitamos cambiar de usuario "tom" a "jerry"

Comenzamos a enumerar formas de elevar privilegios. La primera, sudo -l.

Tenemos una posibilidad de elevación de privilegios con "git". Vamos a GTFOBins para ver si existe forma de elevar privilegios.

Ya tendremos privilegios máximos en la máquina DC-2. Buscamos la flag proof.txt

Last updated