# Arroutada

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

## Fase de reconocimiento

### Nmap

Un escaneo de nmap muestra que tan solo el puerto 80 (HTTP) se encuentra abierto:

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

En el puerto 80 se encuentra una imagen, nos la descargamos y con exiftool tool podemos ver que en el titulo de la imagen esta incrustado un path, "/scout"

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

## Fase de intrusión

En el path que nos han dado como pista, vemos que nos esta sugiriendo que hagamos fuzzing para completar el path que nos dan:

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

### Fuzzing con wfuzz

Se encuentra el directorio rápidamente:

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

Es un directorio con muchos ficheros con este formato: "z1-999", solo hay uno con contenido en su interior, y nos dice que dejemos de buscar en ellos. Tambien aun un archivo con unas credenciales y un archivo libreoffice, lo intento abrir pero tiene contraseña.

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

<figure><img src="/files/48BlLeHMuAit0FzohPHt" alt=""><figcaption><p>Archivo shelllfile.ods</p></figcaption></figure>

### Libreoffice2john y john

Vamos a usar libreoffice2john para extraer el hash del archivo, y con johntheripper dar con la contraseña valida del archivo. Y podemos encontrar dentro del archivo "/thejabsshell.php":

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

Fuzzing a un parametro con wfuzz

El archivo quizas podría hacer algo interesante como ejecutar comandos, así que otra vez usamos wfuzz pero esta vez para hacer fuzzing a los parámetros. Podemos ver que el parámetro encontrado es "a", si probamos a ejecutar código con el nos pide otro parámetro más, el "b", así que voy a hacer fuzzing al parametro "b", ya que sino se guie dando el mismo mensaje de error:

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

Logramos dar con el parámetro que faltaba, ya podremos ejecutar comandos introduciendo el comando deseado en el parámetro "a" y con el "b" otorgándole la contraseña obtenida. Url encodeamos la reverseshell y la obtenemos con éxito, lo primero que hacemos con la shell obtenida es la [Depuración de tty](/burple/cheats/depuracion-de-tty.md)

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

### Chisel

He investigado un poco por el sistema pero no encuentra nada muy relevante, solo hay un usurio y su nombre es "drito". Si hacemos un "ss -ntul" podemos que en la maquina victima hay un puerto abierto, así que vamos a usar chisel para poder crear un puente entre la maquina victima y la del atacante. Aquí os dejo un pequeño esquema para que os hagáis una idea (Recordar hacer un chmod +x chisel para que pueda funcionar correctamente):

<figure><img src="/files/sb1jyBXvvrKPIBaGI63r" alt=""><figcaption><p>Esquema</p></figcaption></figure>

<figure><img src="/files/3LGYOogZEPD8ujLFzHFM" alt=""><figcaption></figcaption></figure>

En la pagina web encontramos un mensaje cifrado en brainfuck, si lo [decodificamos ](https://www.dcode.fr/brainfuck-language)nos da "all HackMyVM hackers!!", no tiene pinta de ser util... En cambio en el código fuente de la pagina web podremos encontrar una pista, nos dan un nombre de un archivo .php, "/priv.php":

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

En el código fuente del directorio encontrado, podemos ver como funciona el .php, al parecer si le damos un parametro "command".

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

## Fase de escalada de privilegios

Lo vamos a hacer con un petición post con curl y como siempre lo primero es la [Depuración de tty](/burple/cheats/depuracion-de-tty.md):

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

Ahora somo el usuario "druita", y podemos escalar facilmente a root debido a un permiso suid, esto significa que podemos ejecutar el archivo como queramos, entonces lo hacemos como root para obtener una shell como root:

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

¿Ya estaría no? Tenemos la flag de root y de user... Pues no, la de root no es la correcta y se debe a que esta codificada en base64, la decodificamos y aun así es la incorrecta:

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

Ahora lo pasamos decodificamos de rot13 y encontramos la flag real:

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

## Conclusión

Me ha gustado bastante está maquina de Rijaba, se han tocado muchos aspectos que a los principiantes les viene muy bien aprender. 100% Recomendada si estas empezando en el pentesting :)


---

# 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://burple.gitbook.io/burple/hackmyvm/facil/arroutada.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.
