Módulos Auxiliares de Escaneo de Metasploit

LinuxBeginner
Practicar Ahora

Introducción

Metasploit Framework es una potente herramienta de código abierto utilizada para pruebas de penetración, evaluación de vulnerabilidades y desarrollo de exploits. Aunque es famoso por su vasta colección de exploits, también incluye un conjunto de módulos "auxiliares". Estos módulos realizan tareas que no implican explotación directa, como escaneo, fuzzing, sniffing y reconocimiento.

En este laboratorio, aprenderá a utilizar uno de los módulos auxiliares más fundamentales de Metasploit: el escáner de puertos TCP. Aprenderá a seleccionar un módulo, configurar sus opciones como hosts y puertos objetivo, y ejecutar el escaneo para descubrir puertos abiertos en una máquina objetivo.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 96%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Usar el Módulo de Escáner de Puertos con use auxiliary/scanner/portscan/tcp

En este paso, iniciará la consola de Metasploit Framework y seleccionará el módulo escáner de puertos TCP.

Primero, necesita iniciar la consola de Metasploit. Esta es la interfaz principal para interactuar con el framework. Abra su terminal y ejecute el siguiente comando:

msfconsole -q

La bandera -q significa "quiet" (silencioso), lo que suprime el banner de inicio para una interfaz más limpia. Una vez que se cargue, verá el prompt de comandos de Metasploit, que se ve como msf >.

A continuación, utilizará el comando use para seleccionar el módulo auxiliar para el escaneo de puertos TCP. Este comando carga el módulo especificado y lo prepara para su configuración.

Escriba el siguiente comando en el prompt de Metasploit:

use auxiliary/scanner/portscan/tcp

Después de ejecutar el comando, notará que su prompt cambia para reflejar el módulo cargado actualmente. Esto confirma que ahora está trabajando dentro del contexto del escáner de puertos TCP.

Su prompt debería verse ahora así:

msf auxiliary(scanner/portscan/tcp) >

Establecer el Rango de Escaneo con set RHOSTS 192.168.1.0/24

En este paso, configurará el objetivo (target) para su escaneo. En Metasploit, los hosts remotos se definen mediante la variable RHOSTS (Remote Hosts).

Antes de ejecutar un módulo, debe indicarle a dónde dirigir sus acciones. El comando set se utiliza para configurar las opciones del módulo. RHOSTS puede ser una única dirección IP, un nombre de host, un rango de IPs (ejemplo: 192.168.1.10-192.168.1.20), o un rango de red en notación CIDR (ejemplo: 192.168.1.0/24).

Para este laboratorio, escanearemos la máquina local para encontrar los servicios que fueron iniciados por el script de configuración. La dirección IP para la máquina local es 127.0.0.1.

Utilice el comando set para definir su objetivo:

set RHOSTS 127.0.0.1

Metasploit confirmará la configuración imprimiendo la variable y su nuevo valor:

RHOSTS => 127.0.0.1

Para ver todas las opciones disponibles para el módulo actual y verificar su configuración, puede usar el comando show options en cualquier momento.

Configurar Puertos con set PORTS 1-1000

En este paso, especificará qué puertos escanear en el host objetivo. Por defecto, el escáner podría verificar solo una pequeña lista de puertos comunes. Para realizar un escaneo más exhaustivo, necesita configurar la variable PORTS.

La opción PORTS acepta una lista de puertos separados por comas (ejemplo: 22,80,443) o un rango de puertos (ejemplo: 1-1024). El script de configuración para este laboratorio inició servicios en los puertos 999 y 8000. Para asegurar que nuestro escaneo los encuentre, escanearemos un amplio rango de puertos.

Establezcamos el rango de puertos del 1 al 10000. Use el comando set nuevamente:

set PORTS 1-10000

La consola confirmará el cambio:

PORTS => 1-10000

Ahora su escáner está configurado para verificar cada puerto del 1 al 10000 en el host objetivo 127.0.0.1.

Ejecutar Escaneo con el Comando run

En este paso, ejecutará el escaneo de puertos. Con el módulo seleccionado y todas las opciones necesarias (RHOSTS y PORTS) configuradas, está listo para lanzar el escáner.

El comando run (o su alias, exploit) le indica a Metasploit que ejecute el módulo cargado actualmente con la configuración que ha proporcionado.

Para iniciar el escaneo, simplemente escriba:

run

Metasploit comenzará el proceso de escaneo. Intentará conectarse a cada puerto dentro del rango especificado en el host objetivo. Cuando encuentre un puerto abierto, imprimirá un mensaje en la consola. Debería ver una salida que indique los puertos abiertos que configuramos anteriormente.

La salida se verá similar a esto:

[+] 127.0.0.1             - 127.0.0.1:22 - TCP OPEN
[+] 127.0.0.1             - 127.0.0.1:3002 - TCP OPEN
[+] 127.0.0.1             - 127.0.0.1:3001 - TCP OPEN
[+] 127.0.0.1             - 127.0.0.1:5433 - TCP OPEN
[*] 127.0.0.1             - Scanned 1 of 1 hosts (100% complete)

Esta salida confirma que el escáner identificó exitosamente los puertos abiertos en la máquina local.

Analizar Resultados del Escaneo con jobs -l

En este paso, aprenderá a gestionar las tareas de Metasploit como trabajos en segundo plano (background jobs). Aunque los resultados del escaneo se imprimieron directamente en su pantalla en el paso anterior, las tareas más largas a menudo se ejecutan en segundo plano para mantener la consola libre para otros comandos.

Para ejecutar un módulo como trabajo en segundo plano, puede añadir la bandera -j al comando run. Intentemos esto con nuestro escáner de puertos.

run -j

Esta vez, en lugar de esperar a que finalice el escaneo, recuperará inmediatamente el prompt. Metasploit le informará que el módulo se está ejecutando como un trabajo en segundo plano.

[*] Auxiliary module running as background job 1.

Presione Enter para continuar.

Para ver una lista de todos los trabajos en segundo plano en ejecución, puede usar el comando jobs. La bandera -l proporciona una lista más detallada.

jobs -l

La salida le mostrará el ID, el nombre y el estado del trabajo.

Jobs
====

  Id  Name                             Payload  Payload opts
  --  ----                             -------  ------------
  1   Auxiliary: scanner/portscan/tcp

El comando jobs es esencial para gestionar múltiples tareas, como ejecutar un escaneo largo mientras se configura otro exploit. Puede interactuar con los trabajos usando su ID, por ejemplo, para ver su salida o para detenerlos.

Resumen

¡Felicidades por completar el laboratorio! Ha utilizado con éxito un módulo auxiliar de Metasploit para realizar un escaneo de puertos de red.

En este laboratorio, aprendió a:

  • Iniciar la consola del Metasploit Framework (msfconsole).
  • Seleccionar un módulo auxiliar usando el comando use.
  • Configurar opciones del módulo como RHOSTS y PORTS con el comando set.
  • Ejecutar un módulo con el comando run.
  • Ejecutar módulos como tareas en segundo plano y gestionarlos con el comando jobs.

El escaneo de puertos es un primer paso crítico en cualquier prueba de penetración (penetration test), y Metasploit proporciona una forma potente y flexible de realizar esta tarea. Este es solo uno de los cientos de módulos auxiliares disponibles. Le animamos a explorar otros módulos para diferentes tipos de escaneo y reconocimiento (reconnaissance).