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

# 🟩 Pntopntobarra

🧠Dificultad: Fácil | 🔓13/10/2025

## 🕵️ Reconocimiento

Hacemos un escaneo de puertos con `nmap`:

```bash
nmap -sC -sV -Pn $IPTARGET | tee nmap
```

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FPRRJBKv4nKwz6k5n6YED%2FPasted%20image%2020251013183000.png?alt=media&amp;token=8b4319ae-2201-4d68-80ac-0ba058bfcd5e" alt=""><figcaption></figcaption></figure>

Al entrar a la página web, encontramos lo siguiente:

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FI2rUw82kBVNUebusvr3T%2FPasted%20image%2020251013183654.png?alt=media&amp;token=cc26f10b-546e-40bf-9e00-884999dc3725" alt=""><figcaption></figcaption></figure>

Si le damos clic al primer botón, se borra todo el sistema y tendrás que reiniciar la máquina (no preguntéis por qué lo sé). El segundo botón nos redirecciona al siguiente directorio:

```url
http://172.17.0.2/ejemplos.php?images=./ejemplo1.png
```

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FXPNS5eT3sVILDym13Rpr%2FPasted%20image%2020251013183902.png?alt=media&amp;token=4ec7ead5-6e5b-46e1-9021-ee65d299b111" alt=""><figcaption></figcaption></figure>

Probamos a meter una entrada para ver si el parámetro es vulnerable a `LFI` y ver el fichero `/etc/passwd`:

```url
http://172.17.0.2/ejemplos.php?images=../../../../etc/passwd
```

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2F1qphrivlwIDuKoX8oKVa%2FPasted%20image%2020251013184121.png?alt=media&amp;token=f4a46cfc-1917-4fef-b7f8-5ea19d6d6433" alt=""><figcaption></figcaption></figure>

El parámetro `images` es vulnerable a un `LFI`.

## 🚪 Ganando acceso

Como vemos en el fichero, existe un usuario llamado `nico` con una terminal interactiva. Podemos probar a obtener su clave privada RSA y conectarnos a la máquina por `ssh`:

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FwgX7otElFu8xQLMnRZIn%2FPasted%20image%2020251013185640.png?alt=media&amp;token=05853aa4-0e2d-43d9-91fa-37fd0cf3d95a" alt=""><figcaption></figcaption></figure>

Copiamos este fichero a nuestra máquina, lo movemos a nuestra carpeta `/home/usuario/.ssh` y le damos permisos con `sudo chmod 600 /home/usuario/.ssh/id_rsa`. Una vez hecho esto, podemos acceder a la máquina:

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2FCu7dvWCZE2Bj2miqPYg3%2FPasted%20image%2020251013185525.png?alt=media&amp;token=46175941-6567-4685-8517-dad76742a195" alt=""><figcaption></figcaption></figure>

## 💥 Escalada de privilegios

Una vez dentro, vemos que tenemos permiso para ejecutar el binario `env` con `sudo` como cualquier usuario sin necesidad de contraseña. Con `env` podemos montar un entorno ejecutando `sh` como `root`, dándonos acceso así a una terminal con privilegios de administrador:

```bash
sudo env /bin/sh
```

<figure><img src="https://3832202623-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhaHYQaFsZAHOyVtSUS1x%2Fuploads%2F9JN69RaNAtl5Qdj6moH3%2FPasted%20image%2020251013190021.png?alt=media&amp;token=adf5a6e8-e73e-4662-939a-fd20bf95ab24" alt=""><figcaption></figcaption></figure>
