> For the complete documentation index, see [llms.txt](https://hacking-3.gitbook.io/barre/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-3.gitbook.io/barre/write-up/dockerlabs/facil/agua-de-mayo.md).

# Agua de Mayo

## **Maquina**

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

## **Reconocimiento**

### Nmap

```bash
sudo nmap -p- --open -sS -sC -sV --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oN nmap.txt
```

```
PORT   STATE SERVICE REASON         VERSION
22/tcp open  ssh     syn-ack ttl 64 OpenSSH 9.2p1 Debian 2+deb12u2 (protocol 2.0)
| ssh-hostkey: 
|   256 75:ec:4d:36:12:93:58:82:7b:62:e3:52:91:70:83:70 (ECDSA)
| ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMRaeMl5HzP0PMKd1yfAOHuPCmNExZI/4DB9HSC9ziglgySQKRqzfbEbqD00WXMvvvDpN/94jzGTgYk8w7TNN4Q=
|   256 8f:d8:0f:2c:4b:3e:2b:d7:3c:a2:83:d3:6d:3f:76:aa (ED25519)
|_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOyI2THRG4Km6KNuoxG54FJksK4r+Dz2kw0+rBZcYhkC
80/tcp open  http    syn-ack ttl 64 Apache httpd 2.4.59 ((Debian))
| http-methods: 
|_  Supported Methods: GET POST OPTIONS HEAD
|_http-server-header: Apache/2.4.59 (Debian)
|_http-title: Apache2 Debian Default Page: It works
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
```

### Gobuster

```bash
sudo gobuster dir -u 172.17.0.2 -w /usr/share/wordlists/rockyou.txt | tee gob.txt
```

```
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://172.17.0.2
[+] Method:                  GET
[+] Threads:                 10
[+] Wordlist:                /usr/share/wordlists/dirbuster/directory-list-1.0.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.6
[+] Timeout:                 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================

[2K/images               (Status: 301) [Size: 309] [--> http://172.17.0.2/images/]

===============================================================
Finished
===============================================================
```

### **Web**

A plana vista si entramos en la web no se ve mas que una configuración

de Apache por defecto, pero si nos metemos en el código podemos encontrar lo que son unos caracteres que no deberían de estar ahí:

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

Si se los pasamos a Chat GPT nos dirá algo como:

```
 Este es un programa escrito en Brainfuck, un lenguaje de programación esotérico 
 diseñado para ser extremadamente minimalista. 
 Brainfuck solo tiene ocho comandos (+, -, >, <, [, ], . y ,),y manipula una serie 
 de celdas de memoria (generalmente representadas como un array de bytes) 
 mediante un puntero.
```

Si lo pasamos a ASCII nos da: `bebeaguaqueessano`.

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

Gracias a Gobuster sabemos que hay otro directorio, este lo único que contiene es una imagen.

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

Si nos fijamos bien podemos darnos cuenta que el nombre de la imagen es `agua_ssh.jpg`

## **Acceso**

Sabiendo que el puerto 22 esta abierto y que antes hemos sacado lo que parece ser una contraseña, podemos intentar una conexión ssh con el usuario: `agua` y la password: `bebeaguaqueessano`.

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

El archivo .tar.gz no es importante, contiene configuraciones del contenedor, si lo descomprimes veras que con archivos de configuración irrelevantes, se descomprime con `tar -xvzf archivo.tar.gz` es necesario tener permisos de root.

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

## **Escalado de privilegios**

Una vez dentro de la maquina, comprobamos los privilegios de sudo que tiene el usuario agua, estos se miran con el comando `sudo -l`.

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

No fijamos en que podemos ejecutar como root el binario `/usr/bin/bettercap`

Ejecutamos el binario y escribimos el comando `help` para ver las opciones.

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

Si nos fijamos bien podemos darnos cuenta de que si en la shell de bettercap escribimos cualquier comando poniendo antes `!` se ejecutara como root.

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

Sabiendo esto podemos cambiar los permisos suid de la bash.

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

SI ahora salimos y ejecutamos `bash -p` seremos root.

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

## **Conclusión**

Es una maquina muy fácil que no requiere de conocimientos avanzados, simple mente es necesario fijarse bien en los detalles, siendo esta la única dificultad real a la hora de su explotación.
