🟢MoneyBox

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

Estrenamos plataforma de CTF en Securiters, en este caso Proving Grounds, plataforma de Offensive Security. En este CTF enumeraremos un sitio Web para encontrar una clave que utilizaremos para extraer información oculta con técnicas de esteganografía en una imagen guardada en un servidor FTP con acceso Anonymous habilitado. En dicha imagen encontraremos un nombre de usuario que nos será útil más adelante con una contraseña que encontraremos mediante el uso de fuerza bruta para conectarnos mediante SSH a la máquina objetivo. De aquí pivotaremos a otro usuario haciendo uso de una clave rsa que encontramos en el directorio de este usuario. De aquí elevaremos a privilegios máximos mediante la ejecución como sudo de un script perl.

Enumeración

NMAP

Comenzamos realizando un escaneo rápido de los puertos que tiene abiertos la máquina víctima.

nmap -p- --open -vvv -Pn -n --min-rate 2000 192.168.164.230

Están abiertos los puertos 21, 22 y 80 TCP en la máquina objetivo. El siguiente paso es realizar un escaneo más profundo únicamente de los servicios abiertos.

nmap -p21,22,80 -sVC -vv -Pn -n 192.168.164.230

Tres servicios abiertos:

  • Puerto 21 -> vsftpd 3.0.3

  • Puerto 22 -> OpenSSH 7.9p1 Debian 10+deb10u2

  • Puerto 80 -> Apache httpd 2.4.38

Enumeración web

Tenemos disponible un servidor Web en el puerto 80. Vamos a ver el contenido en el navegador.

El siguiente paso, realizar una enumeración de directorios. Para ello, vamos a utilizar la herramienta dirsearch.

dirsearch -u "http://192.168.164.230/ -i200,301 -r

Tenemos un directorio /blogs que puede ser interesante. Vamos a abrirlo en el navegador.

Podemos hacer varias cosas. Vamos a analizar el código fuente, que después de completar el eJPT, se que puede haber información interesante.

Al final del código fuente, encontramos esto .

Vamos a abrir este directorio en el navegador.

Volvemos a analizar el código fuente de esta Web. Y volvemos a obtener una posible clave secreta que nos puede ser útil más adelante.

Puerto 21: FTP

Tenemos disponible la autenticación FTP anónima.

El servidor FTP contiene una imagen, vamos a descargarla.

Abrimos la imagen descaragada.

Cuando tenemos una imagen, una cosa interesante que podemos hacer es ver si contiene información oculta mediante la técnica de esteganografía. Para ello, utilizamos la herramienta steghide.

steghide extract --sf trytofind.jpg

Nos pide una password. Vamos a utilizar la password que nos encontramos anteriormente en el código fuente del sitio Web.

Tenemos el nombre de un posible usuario y a su vez, que este usuario tiene una contraseña débil.

Elevación de privilegios como usuario "renu"

Recordamos que teniamos un servicio SSH disponible en el puerto 22. Vamos a realizar un pequeño ataque de fuerza bruta utilizando la herramienta hydra.

hydra -l renu -P rockyou.txt 192.168.164.230 22
hydra -l renu -P rockyou.txt ssh://192.168.164.230

Realizamos la conexión a la máquina víctima mediante SSH. Tras esto buscamos la flag de usuario.

Escalada de privilegios

En la máquina tenemos dos usuarios. Vamos a ver el contenido del dirctorio "lily"

Hay una carpeta .ssh que puede ser interesante. Vamos a ver su contenido.

Vamos a utilizar esta clave para autenticarnos como usuario "lily"

ssh lily@localhost -i .ssh/id_rsa

Ahora ejecutamos el comando sudo -l para determinar posibles formas de elevación de contenido.

Podemos ver que el usuario puede ejecutar scripts perl como cualquier usuario, lo que significa que podemos ejecutar perl como root sin necesidad de password.

Una referencia útil para elevar privilegios es GTFOBins.

El siguiente comando nos será útil para elevar a privilegios máximos.

sudo perl -e 'exec "/bin/sh";'

Y ya tendriamos privilegios máximos.

Buscamos la flag root (proof.txt) y acabamos de resolver este CTF.

Tambíen podemos ver la flag .root.txt

Last updated