Utilizar un Escáner Auxiliar para la Enumeración FTP en Metasploit

Kali LinuxBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderá los conceptos básicos del uso de Metasploit Framework para la recopilación de información. Específicamente, se centrará en la enumeración de FTP (File Transfer Protocol) utilizando un módulo auxiliar de escaneo.

Metasploit es un potente framework de pruebas de penetración que simplifica el hacking. Contiene una vasta colección de herramientas, exploits y módulos. Los módulos auxiliares son un componente clave, utilizados para tareas como escaneo, fuzzing y reconocimiento, que no implican explotación directa.

La enumeración de FTP es el proceso de recopilar información sobre un servicio FTP, como su versión, configuración y si permite el acceso anónimo. Esta información es crucial para identificar posibles vulnerabilidades. Utilizaremos el módulo auxiliar ftp_version para escanear un objetivo e identificar el software del servidor FTP en ejecución.

Al final de este laboratorio, estará familiarizado con el flujo de trabajo básico para encontrar, configurar y ejecutar un módulo de Metasploit.

Buscar el módulo auxiliar ftp_version

En este paso, iniciará la consola de Metasploit Framework y buscará un módulo adecuado para el escaneo de versiones de FTP. La consola de Metasploit es la interfaz principal para interactuar con el framework.

Primero, abra una terminal e inicie la consola de Metasploit. Usamos la bandera -q para un inicio "silencioso" (quiet), que suprime el banner para una interfaz más limpia.

msfconsole -q

Una vez que esté dentro del prompt de msfconsole, puede usar el comando search para encontrar módulos. Estamos buscando un módulo que pueda identificar la versión de un servidor FTP. Una buena palabra clave para buscar es ftp_version.

Escriba el siguiente comando en el prompt de msfconsole:

search ftp_version

Verá una lista de módulos coincidentes. El que nos interesa es un escáner auxiliar.

msf6 > search ftp_version

Matching Modules
================

   ##  Name                                 Disclosure Date  Rank    Check  Description
   -  ----                                 ---------------  ----    -----  -----------
   0  auxiliary/scanner/ftp/ftp_version                     normal  No     FTP Version Scanner
   1  exploit/windows/ftp/ftpshell_version_bof  2010-05-12       good    No     FTPShell 6.70 (Windows 7) Version Stack Buffer Overflow

La salida muestra el módulo auxiliary/scanner/ftp/ftp_version, que es exactamente lo que necesitamos para nuestra tarea.

Seleccionar el módulo ftp_version

En este paso, seleccionará el módulo que encontró en el paso anterior. Después de identificar un módulo adecuado con el comando search, necesita cargarlo en el contexto del framework para configurarlo y ejecutarlo.

El comando para seleccionar un módulo es use, seguido del nombre completo del módulo de los resultados de la búsqueda.

Basándose en la salida del paso anterior, use el siguiente comando para seleccionar el escáner de versiones de FTP:

use auxiliary/scanner/ftp/ftp_version

Después de ejecutar este comando, notará que el prompt de msfconsole cambia. Ahora incluye el nombre del módulo seleccionado, lo que indica que está trabajando dentro de su contexto.

msf6 > use auxiliary/scanner/ftp/ftp_version
msf6 auxiliary(scanner/ftp/ftp_version) >

Este nuevo prompt confirma que el módulo ftp_version está ahora activo y listo para su configuración.

Establecer la opción RHOSTS a la IP del objetivo

En este paso, configurará el módulo seleccionado. La mayoría de los módulos de Metasploit requieren que establezca opciones específicas antes de que puedan ejecutarse. Para los módulos de escaneo, la opción más común es RHOSTS, que significa "Remote Hosts" (Hosts Remotos). Esta opción le indica al módulo qué objetivo(s) escanear.

Nuestro entorno de laboratorio tiene un servidor FTP ejecutándose en la misma máquina (localhost). La dirección IP para localhost es 127.0.0.1.

Para establecer una opción en Metasploit, usa el comando set, seguido del nombre de la opción y su valor.

Establezca la opción RHOSTS a nuestra dirección IP de destino:

set RHOSTS 127.0.0.1

Metasploit confirmará el cambio devolviéndole la nueva configuración.

msf6 auxiliary(scanner/ftp/ftp_version) > set RHOSTS 127.0.0.1
RHOSTS => 127.0.0.1

Ahora el módulo sabe qué objetivo escanear.

Ver y entender las opciones del módulo con show options

En este paso, aprenderá cómo ver y verificar la configuración de un módulo. Antes de ejecutar un módulo, siempre es una buena práctica revisar todas sus opciones para asegurarse de que todo esté configurado correctamente.

El comando show options muestra todos los parámetros configurables para el módulo actualmente activo.

Ejecute el siguiente comando para ver las opciones del escáner ftp_version:

show options

Esto mostrará una tabla con detalles sobre cada opción.

msf6 auxiliary(scanner/ftp/ftp_version) > show options

Module options (auxiliary/scanner/ftp/ftp_version):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS   127.0.0.1        yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   RPORT    21               yes       The target port (TCP)
   THREADS  1                yes       The number of concurrent threads (max one per host)

Analicemos las columnas:

  • Name: El nombre de la opción (por ejemplo, RHOSTS).
  • Current Setting: El valor asignado actualmente a la opción. Puede ver que 127.0.0.1 está configurado para RHOSTS.
  • Required: Indica si la opción debe configurarse para que el módulo se ejecute (yes o no).
  • Description: Una breve explicación de lo que hace la opción.

Al revisar esta salida, puede confirmar que la opción requerida RHOSTS está configurada correctamente para nuestro objetivo. Las otras opciones requeridas, RPORT y THREADS, ya tienen valores predeterminados que son adecuados para nuestro escaneo.

Ejecutar el módulo con el comando run

En este paso, ejecutará el módulo para realizar el escaneo. Una vez que haya seleccionado un módulo y configurado todas las opciones requeridas, estará listo para lanzarlo.

El comando para ejecutar un módulo auxiliar es run. (Para módulos de exploit, puede usar run o exploit).

Ahora, ejecute el escáner:

run

El módulo se conectará al servidor FTP de destino en el puerto especificado e intentará recuperar su banner de versión. La salida mostrará los resultados del escaneo.

msf6 auxiliary(scanner/ftp/ftp_version) > run

[+] 127.0.0.1:21      - FTP Banner: 220 (vsFTPd 3.0.5)
[*] 127.0.0.1:21      - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

La salida [+] 127.0.0.1:21 - FTP Banner: 220 (vsFTPd 3.0.5) es la información clave. Confirma que un servidor FTP se está ejecutando en el objetivo y nos dice su software y versión: vsFTPd 3.0.5. Esta es una enumeración exitosa.

Resumen

En este laboratorio, ha realizado con éxito una enumeración FTP básica utilizando el Metasploit Framework. Ha aprendido el flujo de trabajo fundamental para usar un módulo auxiliar, que es una habilidad central para cualquier usuario de Metasploit.

Ha practicado los siguientes comandos y conceptos clave:

  • Inicio de la consola de Metasploit con msfconsole.
  • Búsqueda de módulos con el comando search.
  • Selección de un módulo para su uso con el comando use.
  • Configuración de opciones del módulo, como RHOSTS, con el comando set.
  • Verificación de la configuración del módulo con show options.
  • Ejecución del módulo para realizar su tarea con el comando run.

Este proceso de búsqueda, selección, configuración y ejecución es aplicable a miles de módulos dentro de Metasploit, lo que lo convierte en una técnica fundamental para las pruebas de penetración y el análisis de seguridad.