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

# BaluFood

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

### 🔍 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%2FmV0kyGR3nWeZjZQr8isA%2Fimage.png?alt=media&amp;token=f9a24138-cb61-4323-b3db-e4f45c57a72c" 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%2F9kZzgVeoMju1vS68j7zU%2Fimage.png?alt=media&amp;token=aa28031f-793a-4c6b-9dd9-e87069f12639" alt=""><figcaption></figcaption></figure>

Como podemos observar durante el escaneo, el **puerto 22** correspondiente al servicio **SSH** y el **puerto 5000**, comúnmente utilizado por **aplicaciones web en desarrollo**, se encuentran abiertos, por lo que a continuación se indagará más sobre ambos servicios, intentando establecer una conexión remota vía SSH y acceder mediante el navegador al servicio web en el puerto 5000 para identificar posibles vectores de ataque.

### 🔎 **EXPLORACIÓN**

Se utiliza el comando:

```bash
sudo nmap -sCV -p22,5000 -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%2FzU5aqU6dYGYjPhjVYzVD%2Fimage.png?alt=media&amp;token=4373d35c-7adf-4c7e-b852-80d7caccf9de" alt=""><figcaption></figcaption></figure>

Revisamos el puerto 5000.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FwtNwXgDlCHUXJ2BxmOZh%2Fimage.png?alt=media&amp;token=7866a52d-99c6-4e61-8cfb-262b86c23c32" alt=""><figcaption></figcaption></figure>

### 🚀 **EXPLOTACIÓN**

Es una página web de un restaurante e indagando un poco vemos que tenemos un panel de login y además nos podemos loguear con credenciales por defecto (admin:admin).

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F85nAP061gWSl5esKzx1y%2Fimage.png?alt=media&amp;token=bd11a75b-f96a-4dd6-a92c-f3db22997275" alt=""><figcaption></figcaption></figure>

Viendo el código fuente nos encontramos unas credenciales por lo que nos conectamos por **SSH**.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F44lddfugGGgA9xqPcFnu%2Fimage.png?alt=media&amp;token=6937067a-2b01-452d-941c-60a8ec3f8c0d" alt=""><figcaption></figcaption></figure>

```bash
ssh sysadmin@172.17.0.2
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FJUrkv7Wz9Q5muuswVqpr%2Fimage.png?alt=media&amp;token=a0bf6b43-53c1-45f7-9206-3545a1bc002b" alt=""><figcaption></figcaption></figure>

### 🔐 **PRIVILEGIOS**

Al estar dentro y ejecutar:

```bash
whoami
```

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

```bash
sudo -l
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FX1lMontJ1TIAHYx45h83%2Fimage.png?alt=media&amp;token=07e08b49-bcaa-4352-8a4b-c9f52e7e7471" alt=""><figcaption></figcaption></figure>

No tenemos permisos sudo pero en su directorio principal si listamos y mostramos el contenido del archivo **app.py** vemos una contraseña.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FzTl8L2b40GCRhoNab8Rz%2Fimage.png?alt=media&amp;token=b62e2ff4-e304-4ae6-bc14-290ef1530d45" alt=""><figcaption></figcaption></figure>

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F2hiCTjxSkTiymxRobxiF%2Fimage.png?alt=media&amp;token=ea092725-1a97-4b04-9286-8551626d585b" alt=""><figcaption></figcaption></figure>

Nos cambiamos al otro usuario con esa contraseña encontrada.

```bash
su balulero
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FsikY94mXQXnHXpmXxAHM%2Fimage.png?alt=media&amp;token=fc051d8b-c8fa-4ec3-8548-937419f4f422" alt=""><figcaption></figcaption></figure>

Revisando el historial nos encontramos que ha cambiado un fichero por lo que revisamos.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FXqMk5fvvi2tL4AL8N1es%2Fimage.png?alt=media&amp;token=0352bf9f-1a6f-461f-8385-f69ebf12fb46" alt=""><figcaption></figcaption></figure>

Hemos encontrado al parecer la contraseña de root por lo que nos logueamos.

```bash
su root
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FzEnAwojNZ59672RmQxzA%2Fimage.png?alt=media&amp;token=04f6fa6c-7423-4f22-9693-a623aa51325c" alt=""><figcaption></figcaption></figure>
