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

# AguaDeMayo

## Identificación

### Escaneo de puertos

Empezamos escaneando los puertos abiertos del servidor con el comando `nmap`

```bash
sudo nmap -p- -sS -sV -sC --open --min-rate=5000 -n -Pn 172.17.0.2
```

Con el comando `nmap` es el comando de escaneo de redes.\
El parámetro `-p-` indica que se escaneen todos los puertos disponibles.\
El parámetro `-sS` hace que sea un escaneo más sigiloso para no ser detectado.\
El parámetro `-sV` hace que se determine la versión del servicio de cada puerto.\
El parámetro `-sC` hace que nmap ejecute scripts para la recolección de información.\
El parámetro `--open` muestra todos los puertos que estén abiertos.\
El parámetro `--min-rate=5000` establece la tasa mínima de paquetes enviados por segundo, por lo que hace un escaneo más rápido.\
El parámetro `-n` indica que no realice la resolución de nombres DNS, sirve para acelerar el escaneo.\
El parámetro `-Pn` hace que no haga ping antes de escanear.

Da el siguiente resultado:

```
PORT   STATE SERVICE VERSION
22/tcp open  ssh     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)
|_  256 8f:d8:0f:2c:4b:3e:2b:d7:3c:a2:83:d3:6d:3f:76:aa (ED25519)
80/tcp open  http    Apache httpd 2.4.59 ((Debian))
|_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
```

Como podemos observar hay dos puertos abiertos:

* Puerto **22**: servicio **SSH** de **OpenSSH 9.2p1** *no parece haber algúna vulnerabilidad*
* Puerto **80**: servicio **HTTP** de **Apache httpd 2.4.59**

Vamos a proceder a inspeccionar la web.

### Inspeccionando el servidor web

Inspeccionando la web podemos ver a siemple vista que parece ser la web por defecto que biene en Apache2 de **Debian**.

<figure><img src="/files/Of7T8AFjXLFbjLcA08Jq" alt=""><figcaption><p>Captura de web por defecto de Apache2 en Debian</p></figcaption></figure>

### Gobuster

Para descubrir directorios ocultos ejecuto la herramienta **gobuster** con una lista de direcciones para comprovar.

```bash
sudo gobuster dir -w directory_list_lowercase_2.3_small.txt -u "http://172.17.0.2/" -x .php,sh,.html,.txt,.py,.xml
```

En ese comando usamos el **modo directorios** con `dir`, después seleccionamos la **wordlist** con el parámetro `-w` , y con parámetro `-u`establezco la **url**, yo también añadí que me escaneara las **extensiones de archivos** con el parámetro `-x`.

Dió el siguiente resultado:

<figure><img src="/files/nqm5BHbLfZwnZtPSpcWl" alt=""><figcaption><p><code>Resultado de Gobustar</code></p></figcaption></figure>

Podemos observar que encontramos a parte del `index.html` un directorio llamado `images`, por lo que vamos a ver en el **navegador web** que nos encontramos:

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

Al parecer nos encontramos un **Index of** del directorio en el que podemos observar que hay como una imagen con el nombre de **agua\_ssh.jpg**.

<figure><img src="/files/QRZgAVFonKBTUEPDjzyK" alt=""><figcaption><p>agua_ssh.jpg</p></figcaption></figure>

### Ver imagen

Ahí la imagen parece algo curiosa por el nombre ya que contiene **ssh**.\
Por lo que voy a descargar la imagen en mi entorno con **wget**.

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

Después con la herramienta **exiftool** podemos ver los metadatos a ver si esconde algo a simple vista.

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

También podemos buscar si hay algún **archivo oculto** en la imagen, para eso se puede ejecutar la herramienta de **steghide.**

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

Pero no dió ningún resultado

### Revisando codigo fuente

Ya que la imagen no hay nada interesante, ahora podemos ver de nuevo el **codigo fuente de la página web** para ver si hay algo que nos pueda ser útil.

Al final del código encontramos un comentario algo extraño, por lo que investigamos por internet y lo desciframos:

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

Y en la web de **decode.fr/brainfuck-language** podemos descifrar, que descifrado nos da `bebeaguaqueessano`.

## Accediendo via SSH

Al saber una **posible contraseña** podriamos provar a acceder con el usuario **agua** y esa contraseña.

Y así podemos acceder por ssh.

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

#### Elevación de privilegios

Para la **elevación de privilegios** podemos provar con el comando `sudo -l` para ver los permisos **sudo** que tiene el usuario, y podemos observar dalguno:

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

Como podemos ver, existe un comando llamado **bettercap**, por lo que podemos ejecutarlo con **sudo**, y así podemos ver dentro con el comando **help** lo que podemos hacer con ese software, y vemos que se pueden ejecutar comandos como muestra en el menú de alluda: \`! COMMAND : Execute a shell command and print its output.\`

Entonces **podemos añadir al archivo /bin/bash permisos ssuid**.

Ahora si salimos con **exit** y ponemos **bash -p** podemos elevar los privilegios y ser usuario **root**.

<figure><img src="/files/ku87ohOwHpphNVnfsO8j" alt=""><figcaption><p>Accediendo a <strong>root</strong></p></figcaption></figure>

## Final

En esta máquina hemos **practicado** a descubrir pistas y desencriptar un texto ilegible a través de una web, y así la elevación de privilegios a través de **bettercap**.
