> 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/buscalove.md).

# 🟩 BuscaLove

## 🕵️ Reconocimiento

Comenzamos con un escaneo de puertos con `nmap`:

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

Si nos vamos al navegador y ponemos la IP, nos muestra la página por defecto de Apache. Podemos ver directorios ocultos con `ffuf`:

```bash
ffuf -w /usr/share/wordlists/SecLists-2025.2/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt:FUZZ -u http://$IPTARGET/FUZZ
```

<figure><img src="/files/1fRehSAO35LXwnwBsOmt" alt=""><figcaption></figcaption></figure>

Vemos que existe un directorio llamado `/wordpress` con el siguiente contenido:

<div align="left"><figure><img src="/files/4wyzP9SmDC0nh5Hwf7gQ" alt=""><figcaption></figcaption></figure></div>

Es una página sencilla sin CSS ni ningún enlace externo. El código fuente de la página tampoco nos dice nada. Si realizamos otro fuzzing sobre el directorio wordpress:

```bash
ffuf -w /usr/share/wordlists/SecLists-2025.2/Discovery/Web-Content/directory-list-lowercase-2.3-big.txt:FUZZ -u http://$IPTARGET/wordpress/FUZZ -e .html,.php,.txt,.xml,.js
```

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

Vemos que solo está el index.php. Podemos probar a fuzzear parámetros para ver si la página es vulnerable a LFI.

```bash
ffuf -w /usr/share/wordlists/SecLists-2025.2/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt:FUZZ -u "http://$IPTARGET/wordpress/index.php?FUZZ=../../../../../../../etc/passwd" -fs 1048
```

<figure><img src="/files/JAFVImJ82FqO5Ky6e7pg" alt=""><figcaption><p>Llegar a esta parte de la solución no fue nada fácil para mi xd</p></figcaption></figure>

Existe un parámetro `love` que es vulnerable a `LFI`. Con él, podemos ver el archivo `/etc/passwd` del sistema.

```url
http://<IP-MAQUINA>/wordpress?love=../../../../../../../etc/passwd
```

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

## 🚪 Ganando acceso

El fichero nos muestra que hay dos usuarios que poseen un shell válido (`/bin/bash`). Probando fuerza bruta con `hydra`, obtenemos un acierto para el usuario `rosa` y la wordlist de `rockyou`.&#x20;

```bash
hydra -l rosa -P /usr/share/wordlists/rockyou.txt ssh://$IPTARGET -t 20 -I
```

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

## 💥 Escalada de privilegios

Una vez dentro del sistema, comprobamos los permisos que tenemos con `sudo -l`, lo que nos muestra que tenemos permisos como `root` (o cualquier usuario) para el binario `ls` y `cat`.

Hablando con un amigo, me comentó que su camino fue distinto, y es que en este momento tienes dos opciones:

1. Listar el directorio `/root` y seguir por ahí.
2. Alternativa: hacer `cat` al fichero `/etc/shadow` y crackear por fuerza bruta la contraseña de `root` o la de `pedro`.

A continuación mostraré la opción 1 que es la que seguí yo, pero la opción 2 también va bien encaminada para resolver la máquina.

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

El directorio `/root` contiene un fichero con un contenido en hexadecimal. Si decodificamos con `xxd`, obtenemos la cadena `NZXWCY3F0J2GC4TB0NXXG2IK`. Si pasamos esta cadena por [cyberchef](https://gchq.github.io/CyberChef/), nos muestra que está codificada en Base32.

<div align="left" data-full-width="false"><figure><img src="/files/Bwam0m2vErbn7VIL1oPI" alt="" width="221"><figcaption></figcaption></figure></div>

Probamos como contraseña para el usuario `pedro` anteriormente visto:

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

Una vez dentro, volvemos a consultar los permisos con `sudo` para este usuario:

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

Podemos ejecutar el binario `env` como `root`. Si buscamos algún exploit para este binario en [gtfobins](https://gtfobins.github.io/), vemos que ejecutando `sudo env /bin/sh` obtenemos una shell como `root`:

<div align="left"><figure><img src="/files/3noEE4Mc8VoxYmmCo6Ef" alt=""><figcaption></figcaption></figure></div>
