> For the complete documentation index, see [llms.txt](https://4lec4st.gitbook.io/4lec4st/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://4lec4st.gitbook.io/4lec4st/ejpt-notes/pruebas-de-penetracion-de-host-y-red/explotacion/linux/targeting-vsftpd.md).

# Targeting vsFTPd

## 🧪 Laboratorio Práctico

**Paso 1:** Abra el enlace del laboratorio para acceder a la máquina Kali.

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

**Paso 2:** Verifique si la máquina de destino es accesible:

**Dominio:**

```
ping -c 4 demo.ine.local
```

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

El objetivo es alcanzable.

**Paso 3:** Escaneo de puertos con Nmap

En este laboratorio, apuntaremos al puerto FTP, por lo que podemos limitar nuestro escaneo de Nmap al puerto 21.

Podemos identificar vulnerabilidades o configuraciones incorrectas en el puerto FTP realizando un análisis de scripts de Nmap con la opción predeterminada. Esto se puede hacer ejecutando el siguiente comando:

**Dominio:**

```
nmap -sV -sC -p 21 demo.ine.local
```

Como se muestra en la siguiente captura de pantalla, el script Nmap predeterminado revela que **vsftpd 2.3.4** es la versión exacta de FTP que se ejecuta en el puerto 21, además de decirnos que los inicios de sesión anónimos están habilitados en el servidor FTP.

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

**Paso 4:** Inicio de sesión FTP anónimo

Ahora que hemos identificado los inicios de sesión FTP anónimos habilitados en el servidor FTP, podemos intentar autenticarnos con el servidor FTP usando las credenciales **anonymous/anonymous** .

**Dominio:**

```
ftp demo.ine.local 21
```

Como se muestra en la siguiente captura de pantalla, la autenticación anónima es exitosa y se nos proporciona un mensaje de FTP que podemos usar para interactuar con el directorio FTP en el sistema de destino.

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

Navegar por el directorio FTP revela que el directorio FTP está vacío y no tenemos los permisos necesarios para navegar a otros directorios dentro del sistema de archivos del destino Linux.

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

**Paso 5:** Búsqueda de exploits con Searchsploit

Dado que hemos identificado la versión exacta de **vsftpd** que se ejecuta en el sistema de destino, podemos utilizar una herramienta como Searchsploit para encontrar exploits que afecten a la versión específica de vsftpd que se ejecuta en el sistema de destino.

Esto se puede hacer ejecutando el siguiente comando:

**Dominio:**

```
searchsploit vsftpd
```

Como se muestra en la siguiente captura de pantalla, Searchsploit revela que hay un módulo de explotación de Metasploit que afecta **a vsftpd 2.3.4** .

<figure><img src="/files/36RUC82XnhD7BOcdBMFt" alt=""><figcaption></figcaption></figure>

Para usar el módulo de exploits, necesitamos iniciar la consola de Metasploit Framework (msfconsole). Esto se puede hacer ejecutando el siguiente comando:

**Dominio:**

```
msfconsole
```

Después de iniciar **msfconsole** , podemos cargar el módulo ejecutando el siguiente comando:

**Dominio:**

```
use exploit/unix/ftp/vsftpd_234_backdoor
```

Después de cargar el módulo, necesitaremos configurar la opción de dirección de destino ejecutando el siguiente comando:

**Dominio:**

```
set RHOSTS demo.ine.local
```

Ahora podemos ejecutar el módulo de explotación ejecutando el siguiente comando:

**Dominio:**

```
run
```

<figure><img src="/files/2fkC7DnhH1gK7XigY3RR" alt=""><figcaption></figcaption></figure>

Como se muestra en la siguiente captura de pantalla, el módulo de explotación se ejecuta pero no tiene éxito y, como resultado, no podemos obtener acceso al sistema de destino.

En este caso, parece que la vulnerabilidad ha sido corregida en el sistema, por lo que este exploit es ineficaz. Tendremos que encontrar otra forma de acceder.

**Paso 6:** Fuerza bruta de FTP

La siguiente técnica de explotación que podemos utilizar es realizar un ataque de fuerza bruta en el servidor FTP para identificar credenciales legítimas con las que podamos autenticarnos en el servidor objetivo.

Podemos usar la herramienta Hydra para realizar un ataque FTP de fuerza bruta. Esto se puede hacer ejecutando el siguiente comando:

**Dominio:**

```
hydra -L /usr/share/metasploit-framework/data/wordlists/unix_users.txt -P /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt demo.ine.local ftp
```

Como se muestra en la siguiente captura de pantalla, el ataque de fuerza bruta es exitoso y podemos identificar una cuenta de usuario llamada servicio con la contraseña servicio.

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

Ahora podemos autenticarnos en el servidor FTP con las credenciales obtenidas mediante el ataque de fuerza bruta. Esto se puede hacer ejecutando el siguiente comando:

**Dominio:**

```
ftp demo.ine.local 21
```

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

Como se muestra en la siguiente captura de pantalla, la autenticación es exitosa y se nos proporciona acceso al directorio de inicio de la cuenta de servicio.

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

Un atacante podría potencialmente usar este acceso para cargar una carga útil de shell inversa para obtener acceso al sistema de destino.

#### Conclusión

En este laboratorio, exploramos el proceso de explotación de un servidor FTP verificando inicios de sesión FTP anónimos y realizando un ataque de fuerza bruta FTP.
