# MoneyBox

<figure><img src="/files/eQEgaUSYW9RKfKwRwez2" alt=""><figcaption></figcaption></figure>

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.&#x20;

### Enumeración

#### NMAP

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

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

<figure><img src="/files/QhA5Ayz9vcGr4UFlm9GL" alt=""><figcaption></figcaption></figure>

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.&#x20;

```
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.&#x20;

<figure><img src="/files/nFCW9Gsj3H9ie2juthqv" alt=""><figcaption></figcaption></figure>

El siguiente paso, realizar una enumeración de directorios. Para ello, vamos a utilizar la herramienta [dirsearch](https://github.com/maurosoria/dirsearch).&#x20;

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

<figure><img src="/files/yLqglHHkjOnuTLFmqG8O" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/4d10BYa1RosyA7SykjGd" alt=""><figcaption></figcaption></figure>

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.&#x20;

Al final del código fuente, encontramos esto .

<figure><img src="/files/XP7t4fKW13lD0R36nuaZ" alt=""><figcaption></figcaption></figure>

Vamos a abrir este directorio en el navegador.&#x20;

<figure><img src="/files/kza4bQaQJ4BaoajVH9IU" alt=""><figcaption></figcaption></figure>

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.&#x20;

<figure><img src="/files/ZaVJv9IB82c1LQxqgIDe" alt=""><figcaption><p>Clave secreta: 3xtr4ctd4t4</p></figcaption></figure>

#### Puerto 21: FTP

<figure><img src="/files/e1nMtXEY93xXh01cWnnh" alt=""><figcaption></figcaption></figure>

Tenemos disponible la autenticación FTP anónima.&#x20;

<figure><img src="/files/dsMYBhzCAMPaeXuRvGGd" alt=""><figcaption></figcaption></figure>

El servidor FTP contiene una imagen, vamos a descargarla.&#x20;

<figure><img src="/files/76ERK6QfaDosYQvgAHQx" alt=""><figcaption></figcaption></figure>

Abrimos la imagen descaragada.&#x20;

<figure><img src="/files/0cYEdQbvBCtNbLitYZul" alt=""><figcaption></figcaption></figure>

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.&#x20;

```
steghide extract --sf trytofind.jpg
```

<figure><img src="/files/ywpnFiKmXbaD3yLQYp1z" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/8b3kjYX2DDVShjH3aEvG" alt=""><figcaption></figcaption></figure>

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

### 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
```

<figure><img src="/files/NtXFonxAYqD5cTiHS30t" alt=""><figcaption><p>Password SSH: 987654321</p></figcaption></figure>

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

<figure><img src="/files/s2ZaOfpe530Z5t9tTcb0" alt=""><figcaption><p>Flag usuario: eafb5dabf504c468161c859fa05b2dc9</p></figcaption></figure>

### Escalada de privilegios

<figure><img src="/files/Wwxac3UH3BBSBwfWqbSe" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/WXMYKVtkl1Tj50etpgXX" alt=""><figcaption></figcaption></figure>

Hay una carpeta .ssh que puede ser interesante. Vamos a ver su contenido.&#x20;

<figure><img src="/files/bUAjNZga1eeOxeQk4r4b" alt=""><figcaption></figcaption></figure>

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

```
ssh lily@localhost -i .ssh/id_rsa
```

<figure><img src="/files/5kkOMJ7Dkammd0D6fY5y" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/M6r9Z3onTXQkERUXMTHQ" alt=""><figcaption></figcaption></figure>

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.&#x20;

Una referencia útil para elevar privilegios es [GTFOBins.](https://gtfobins.github.io/gtfobins/perl/#sudo)

El siguiente comando nos será útil para elevar a privilegios máximos.&#x20;

<pre><code><strong>sudo perl -e 'exec "/bin/sh";'
</strong></code></pre>

Y ya tendriamos privilegios máximos.&#x20;

<figure><img src="/files/kLPWyq0rAw1FKWMD2Inf" alt=""><figcaption></figcaption></figure>

Buscamos la flag root (proof.txt) y acabamos de resolver este CTF.&#x20;

<figure><img src="/files/gprqJiusqm0faAdKRsk0" alt=""><figcaption></figcaption></figure>

Tambíen podemos ver la flag .root.txt

<figure><img src="/files/pbepJljx0ZJVHIUqZVi0" alt=""><figcaption></figcaption></figure>

{% embed url="<https://www.youtube.com/watch?v=nL5dazPUjXk>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.securiters.com/securiters-wiki/write-ups/proving-grounds/moneybox.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
