> 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="https://549277147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJjQv0x9pFU3Lh6w8XLe8%2Fuploads%2F2jc9eXerpoBnmy0MKMN4%2FPasted%20image%2020241215095141.png?alt=media&amp;token=2213d917-6172-4225-a0e4-c056bd06efe9" 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="https://549277147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJjQv0x9pFU3Lh6w8XLe8%2Fuploads%2FTdTLmc4CkS61pJYa7JO1%2FPasted%20image%2020241217163622.png?alt=media&amp;token=e5b5393a-6deb-407b-b532-b1c8dd57d42e" 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="https://549277147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJjQv0x9pFU3Lh6w8XLe8%2Fuploads%2Fo83V4JjSNu7MlI7Ykj2U%2FPasted%20image%2020241215095316.png?alt=media&amp;token=b6da979b-28b0-4c89-ba0d-7ba3f0aa853f" 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="https://549277147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJjQv0x9pFU3Lh6w8XLe8%2Fuploads%2FqRnCUBcgek9Ks7i2GuQu%2FPasted%20image%2020241215095459.png?alt=media&amp;token=4d9427f3-ec83-4111-a23e-049368e504d0" 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="https://549277147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJjQv0x9pFU3Lh6w8XLe8%2Fuploads%2FOHF2x14KWirzIO0iUyCL%2FPasted%20image%2020241215100047.png?alt=media&amp;token=560d8289-9ade-4b45-9b26-44c143c2d9f2" alt=""><figcaption></figcaption></figure>

Intentare un comando para ver si funciona

<figure><img src="https://549277147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJjQv0x9pFU3Lh6w8XLe8%2Fuploads%2FpCgIts14OkNeO0dpeLFU%2FPasted%20image%2020241215100101.png?alt=media&amp;token=8d59f0dd-d5ad-4f12-9bad-0aea1472f628" 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="https://549277147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJjQv0x9pFU3Lh6w8XLe8%2Fuploads%2FqXrgQ6DTfpRX6X3FAHUU%2FPasted%20image%2020241215101059.png?alt=media&amp;token=8e107a19-acad-468c-a813-f6984b7af129" 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="https://549277147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJjQv0x9pFU3Lh6w8XLe8%2Fuploads%2Fw6SyGNa1DDEvcBFST96t%2FPasted%20image%2020241215101224.png?alt=media&amp;token=cf36ee2f-bd91-4674-bd1e-a7a9f7062330" 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="https://549277147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJjQv0x9pFU3Lh6w8XLe8%2Fuploads%2Fam4GZ42UuGrAKQyCDIfu%2FPasted%20image%2020241215101347.png?alt=media&amp;token=5471f79e-a92f-4d45-bef4-d4afb04c96cc" 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="https://549277147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJjQv0x9pFU3Lh6w8XLe8%2Fuploads%2FDjT5O206DSNLHH9qODe1%2FPasted%20image%2020241215101425.png?alt=media&amp;token=3ece8904-0de9-4553-8814-9bdccf453e30" alt=""><figcaption></figcaption></figure>

## Root

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

<figure><img src="https://549277147-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJjQv0x9pFU3Lh6w8XLe8%2Fuploads%2FG414Df60X4FjQhj45ygO%2FPasted%20image%2020241215101451.png?alt=media&amp;token=af93a095-3e0d-4cf1-9f10-6025efe418f4" alt=""><figcaption></figcaption></figure>
