> For the complete documentation index, see [llms.txt](https://propus.gitbook.io/hackbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://propus.gitbook.io/hackbook/writeups/dockerlabs/aguademayo.md).

# 🟩 AguaDeMayo

🧠Dificultad: Fácil | 🔓28/08/2025

## 🕵️ Reconocimiento

Comenzamos haciendo un escaneo de puertos con `nmap` :

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2Fqq21nVnpqEvVJVpdgBdW%2Fimage.png?alt=media&amp;token=e903f0f0-0ae9-4766-b9f1-d1e630013024" alt=""><figcaption></figcaption></figure>

Tenemos un servicio web corriendo en la máquina, además del SSH. Enumerando nos encontramos con un directorio llamado `images` donde hay habilitado un directory indexing. Observamos una imagen, `agua_ssh.jpg`.

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FL64S7YaN7VGKbqeRK7pq%2Fimage.png?alt=media&amp;token=a81ec7ee-946d-4f12-ae98-42d5b18be07a" alt=""><figcaption></figcaption></figure>

<div align="left"><figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FVysWko2gtGrNp2omvk1H%2Fimage.png?alt=media&amp;token=7e8c2337-df09-4fb5-bea7-8b7cc242ccb4" alt=""><figcaption></figcaption></figure></div>

## 🚪 Ganando acceso

Con el comando `strings` no hay nada que resalte, igualmente probando fuerza bruta con el usuario `agua` no conseguimos nada, tampoco buscando exploits con la versión de Apache conocida.

Mirando el código fuente de la página inicial de Apache, encuentro un comentario al final:

```html
<!--
++++++++++[>++++++++++>++++++++++>++++++++++>++++++++++>++++++++++>++++++++++>++++++++++++>++++++++++>+++++++++++>++++++++++++>++++++++++>++++++++++++>++++++++++>+++++++++++>+++++++++++>+>+<<<<<<<<<<<<<<<<<-]>--.>+.>--.>+.>---.>+++.>---.>---.>+++.>---.>+..>-----..>---.>.>+.>+++.>.
-->
```

Preguntándole a ChatGPT, descubro que es código Brainfuck. Con un intérprete online, decodifico la cadena:

<div align="left"><figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FteqMEOcFxAqpBi2Qz2hn%2Fimage.png?alt=media&amp;token=147de2d6-890f-4197-9f5b-8f94f8a18f3f" alt=""><figcaption></figcaption></figure></div>

Probando esta cadena como contraseña para el usuario `agua`, accedo a la máquina por SSH.

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2Fop53aJu2IMa77ehbIBb1%2Fimage.png?alt=media&amp;token=48cc5c39-a384-4054-bcc3-5996bdbe75f9" alt=""><figcaption></figcaption></figure>

## 💥 Escalando privilegios

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2Fmrtg26iuclyPL9K5diRl%2Fimage.png?alt=media&amp;token=f40a2cd3-0ed0-4909-b8d6-6112207aebb9" alt=""><figcaption></figcaption></figure>

Vemos que tenemos permisos para ejecutar el binario `bettercap` como `root` sin necesidad de introducir contraseña.&#x20;

Al ejecutar `bettercap`, vemos con el comando `help` que podemos ejecutar comandos de shell añadiendo al principio un `!`. Con esto, conseguimos ejecutar comandos como `root`.

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FfsoJ2etHo2cbLu7cbPzO%2Fimage.png?alt=media&amp;token=fef5e637-b214-4328-bcd0-2caa5d60e45a" alt=""><figcaption></figcaption></figure>

Adicionalmente, si ejecutamos el siguiente comando como `root`

```bash
chmod +s /bin/bash
```

podemos abrir una terminal como `root` con `/bin/bash -p`.
