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

# 🟩 Upload

## 🕵️ Reconocimiento

Comenzamos con un escaneo de puertos usando `nmap`:

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

<figure><img src="/files/5Z0S4Aepd9vRiszkiA0A" alt=""><figcaption></figcaption></figure>

Solo está abierto el puerto del servicio HTTP. Realizamos un escaneo de directorios en el servicio web.

```bash
ffuf -w /usr/share/wordlists/SecLists-2025.2/Discovery/Web-Content/directory-list-2.3-medium.txt:FUZZ -u "http://$IPTARGET/FUZZ" -e .html,.php,.txt,.xml,.js
```

<figure><img src="/files/kwD6sJQyHl5PuNbCmLbh" alt=""><figcaption></figcaption></figure>

Si entramos a la página, encontramos un menú muy simple donde podemos subir nuestros archivos. Probamos a subir un archivo `.php` de prueba para ver si lo filtra.

<figure><img src="/files/DfOlGijAIJdTDVa845OJ" alt=""><figcaption></figcaption></figure>

Se ha subido correctamente, por lo que este puede ser nuestro vector de ataque.

## 🚪 Ganando acceso

Subimos una reverse shell en PHP al servidor. En mi caso utilizaré la reverse shell de pentestmonkey.

<figure><img src="/files/87g1pjqNRPnJU44HUgXs" alt=""><figcaption></figcaption></figure>

Nos ponemos a la escucha con netcat en nuestra máquina y ejecutamos el fichero PHP que hemos subido al servidor.

<figure><img src="/files/KHeBKTY8a4Zu673Zsb4T" alt=""><figcaption></figcaption></figure>

## 💥 Escalada de privilegios

Una vez metidos en la máquina, verificamos los privilegios que tenemos con `sudo`:

<figure><img src="/files/lfKq46gU9x8wh09krEOR" alt=""><figcaption></figcaption></figure>

Podemos ejecutar el binario `/usr/bin/env` como `root` sin necesidad de contraseña. Esto nos otorga una shell directa como `root`.

<figure><img src="/files/oo1TWgfXkTiLVUbZzPlX" alt=""><figcaption></figcaption></figure>
