> 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/metasploit-framework-msf/recopilacion-y-enumeracion-de-informacion/enumeracion/enumeracion-ftp-21.md).

# Enumeración FTP (21)

## 📁 FTP

* **FTP (File Transfer Protocol)** es un protocolo que utiliza el **puerto TCP 21** y se emplea para facilitar el **intercambio de archivos** entre un servidor y uno o varios clientes.
* También se utiliza con frecuencia como un medio para **transferir archivos desde y hacia el directorio de un servidor web**.
* Podemos utilizar múltiples **módulos auxiliares** en Metasploit para **enumerar información** y también para realizar **ataques de fuerza bruta** contra objetivos que tengan un **servidor FTP** en ejecución.
* La **autenticación FTP** se basa en una **combinación de nombre de usuario y contraseña**, sin embargo, en algunos casos, un servidor FTP **mal configurado** puede permitir el **acceso anónimo** sin necesidad de autenticación.

***

## 🧪Laboratorio Práctico

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

<figure><img src="/files/HfkbOlBXIFMEZLrPFyFo" 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/wKmser573xIDUODK4x9U" alt=""><figcaption></figcaption></figure>

El objetivo es alcanzable.

**Paso 3:** Enumeración FTP con Metasploit.

Antes de poder comenzar, necesitaremos iniciar la consola de Metasploit Framework (msfconsole), esto se puede hacer ejecutando el siguiente comando:

**Dominio:**

```
msfconsole
```

Para empezar, necesitaremos identificar una versión de servicio del servidor FTP que se ejecuta en el objetivo, esto se puede hacer cargando el siguiente módulo:

**Dominio:**

```
use auxiliary/scanner/ftp/ftp_version
```

Ahora necesitaremos configurar las opciones del módulo, más específicamente la opción de destino, esto se puede hacer ejecutando el siguiente comando:

**Dominio:**

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

Ahora podemos ejecutar el módulo ejecutando el siguiente comando:

**Dominio:**

```
run
```

Como se muestra en la siguiente captura de pantalla, el módulo revela que el sistema de destino está ejecutando **ProFTPD 1.3.5a**

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

Podemos realizar un ataque de fuerza bruta en el servidor FTP para identificar credenciales legítimas que podamos usar para la autenticación, esto se puede hacer cargando el módulo **ftp\_login de la siguiente manera:**

**Dominio:**

```
use auxiliary/scanner/ftp/ftp_login
```

Ahora necesitaremos configurar las opciones del módulo, más específicamente la opción de destino, esto se puede hacer ejecutando el siguiente comando:

**Dominio:**

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

Dado que estamos realizando un ataque de fuerza bruta, también necesitaremos configurar las opciones **USER\_FILE** y **PASS\_FILE** .

**Comandos:**

```
set USER_FILE /usr/share/metasploit-framework/data/wordlists/common_users.txt

set PASS_FILE /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt
```

Ahora podemos ejecutar el módulo ejecutando el siguiente comando:

**Dominio:**

```
run
```

Como se muestra en la siguiente captura de pantalla, el ataque de fuerza bruta identifica las credenciales **sysadmin:654321**

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

También podemos verificar si se permiten inicios de sesión anónimos en el servidor FTP, esto se puede hacer utilizando los siguientes comandos:

**Comandos:**

```
use auxiliary/scanner/ftp/anonymous
set RHOSTS demo.ine.local
run
```

Como se muestra en la siguiente captura de pantalla, el módulo revela que los inicios de sesión FTP anónimos no están habilitados en el servidor FTP.

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

Ahora podemos iniciar sesión en el servidor FTP con las credenciales que obtuvimos de la fuerza bruta FTP, esto se puede hacer mediante el uso del cliente FTP en Kali Linux.

**Dominio:**

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

Como se muestra en la siguiente captura de pantalla, se le pedirá que proporcione un nombre de usuario y una contraseña, proporcione las credenciales que obtuvimos del ataque de fuerza bruta.

<figure><img src="/files/9YwI62SWhUwYuXQvgeti" alt=""><figcaption></figcaption></figure>

Como se muestra en la captura de pantalla anterior, la autenticación es exitosa y hemos iniciado sesión en el servidor FTP.

#### Conclusión

En este laboratorio, exploramos el proceso de realizar enumeración FTP con Metasploit Framework.
