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

# Upload

## Reconocimiento

Como siempre iniciamos haciendo un reconocimiento de puertos para ver que hay en esta maquina

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

Nos encontramos con el puerto 80 lo que nos indicia que hay una pagina web corriendo por este puerto, vamos a entrar en la web para ver que nos encontramos y ver que vulnerabilidades podemos explotar

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

Nos encontramos con un upload el cual es posible que sea vulnerable a **Remote Code Execution (RCE)** así que rápidamente tiro un gobuster para ver que directorios ocultos podemos encontrar

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

Me encuentro con una ruta la cual es **/uploads** que muy probablemente sea ahí donde se guarden los archivos que subamos, así que subiere un archivo .txt para ver si es cierta mi teoría

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

## Explotación

Vemos que si y ademas podemos ver el contenido del archivo, rápidamente procedo a subir un archivo malicioso para ejecutar comandos desde la web

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

Intentare un comando para ver si funciona

<figure><img src="/files/81Tn2CWBmcRMga94JuK4" alt=""><figcaption></figcaption></figure>

Y vemos que tenemos éxito, ahora rápidamente empiezo a buscar información para obtener una revershell, procedo a ejecutar un **sudo -l** y veo que hay algo que nos puede servidor para obtener una revershell como usuario root

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

```bash
/usr/bin/env
```

Con este binario puedo enviarme una shell como usuario root, ya que permite ejecutar comandos bash como si fuera root, lo cual seria de la siguiente manera

## Intrusión

Subo el archivo llamado **revershell.sh** el cual contiene lo siguiente

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

Una vez este arriba mi archivo malicioso este se guardara en la ruta **/var/www/html/uploads/**, asi que simplemente debemos ejecutar el siguiente comando y debemos de estar en escucha por el puerto 4444 con **netcat**&#x20;

```bash
nc -lvnp 4444
```

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

Y después de eso ejecutamos el comando&#x20;

```bash
sudo /usr/bin/env/ bash /var/www/html/uploads/revershell.sh
```

<figure><img src="/files/8DaMK2h0AbYzqIwoYn20" alt=""><figcaption></figcaption></figure>

## Root

La pagina quedara cargando mientras que nosotros ya tendremos una conexión como usuario root

<figure><img src="/files/1OVe05TviuO6YxF0UjXn" alt=""><figcaption></figcaption></figure>
