Recopilación de información y módulos auxiliares

CiberseguridadBeginner
Practicar Ahora

Introducción

¡Bienvenido al laboratorio de Recopilación de información y módulos auxiliares!

Cuando la mayoría de las personas piensan en Metasploit Framework, inmediatamente piensan en la explotación: lanzar cargas útiles (payloads) para comprometer sistemas vulnerables. Sin embargo, Metasploit es también una herramienta poderosa para las fases de reconocimiento y recopilación de información en una prueba de penetración.

Metasploit cuenta con una categoría de módulos conocidos como módulos auxiliares (Auxiliary modules). A diferencia de los módulos de explotación, los módulos auxiliares no ejecutan una carga útil en el sistema objetivo. En su lugar, están diseñados para realizar tareas como escaneo de puertos, identificación de servicios, fuzzing y escaneo de vulnerabilidades.

Esta distinción es importante porque refuerza la idea de que la explotación es solo una etapa de un compromiso. Un buen trabajo ofensivo también depende de un reconocimiento, enumeración y validación estructurados.

En este laboratorio, aprenderá a navegar por la consola de Metasploit, buscar módulos auxiliares específicos, configurar sus parámetros, ejecutar escaneos de red contra un objetivo local y ver los resultados almacenados automáticamente en la base de datos de Metasploit.

Buscar módulos auxiliares

En este paso, iniciará la consola de Metasploit Framework y aprenderá a buscar módulos auxiliares.

Metasploit contiene miles de módulos. Para encontrar lo que necesita, puede utilizar el comando integrado search. El comando de búsqueda le permite filtrar por tipo de módulo, nombre, plataforma y más.

Primero, abra su terminal e inicie la consola de Metasploit. Utilizaremos el indicador -q para iniciarlo en modo "silencioso" (quiet), lo que omite el gran banner de arte ASCII e inicia la consola más rápido.

Saber buscar correctamente es una habilidad práctica en Metasploit. El framework es demasiado grande para explorarlo manualmente cada vez, por lo que aprender a reducir el conjunto de módulos es parte de utilizarlo de manera efectiva.

Escriba el siguiente comando en su terminal:

msfconsole -q

Verá aparecer el prompt de Metasploit, que se ve como msf6 >. Esto indica que ahora se encuentra dentro del shell interactivo de Metasploit. Si es la primera vez que inicia Metasploit en el entorno actual, es posible que le pregunte brevemente si desea configurar una nueva base de datos. Responda yes y espere a que finalice la inicialización.

A continuación, busquemos un módulo que pueda realizar un escaneo básico de puertos TCP. Una búsqueda simple por palabras clave es más confiable en todas las versiones de Metasploit que el uso de múltiples filtros de búsqueda.

Ejecute el siguiente comando dentro de la consola de Metasploit:

search portscan

Debería ver una salida similar a esta:

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

   ##  Name                                              Disclosure Date  Rank    Check  Description
   -  ----                                              ---------------  ----    -----  -----------
   0  auxiliary/scanner/portscan/ack                                     normal  No     TCP ACK Firewall Scanner
   1  auxiliary/scanner/portscan/ftpbounce                               normal  No     FTP Bounce Port Scanner
   2  auxiliary/scanner/portscan/syn                                     normal  No     TCP SYN Port Scanner
   3  auxiliary/scanner/portscan/tcp                                     normal  No     TCP Port Scanner
   4  auxiliary/scanner/portscan/xmas                                    normal  No     TCP "XMas" Port Scanner

Los resultados de la búsqueda muestran una lista de módulos coincidentes. Cada módulo tiene una ruta específica (por ejemplo, auxiliary/scanner/portscan/tcp), un rango y una breve descripción. En el siguiente paso, seleccionaremos uno de estos módulos para usarlo.

Configurar los parámetros del objetivo (RHOSTS)

En este paso, seleccionará un módulo de escaneo de puertos específico y configurará sus ajustes.

Para indicarle a Metasploit con qué módulo desea trabajar, utilice el comando use seguido de la ruta del módulo. Utilizaremos el escáner de puertos TCP estándar.

Ejecute el siguiente comando en su consola de Metasploit:

use auxiliary/scanner/portscan/tcp

Observe que su prompt cambia a msf6 auxiliary(scanner/portscan/tcp) >. Esto indica que el módulo está ahora activo.

Antes de ejecutar un módulo, debe configurar sus parámetros. Puede ver todos los parámetros disponibles para el módulo actual utilizando el comando show options:

show options

La salida mostrará una tabla de opciones. Preste atención a la columna Required. Cualquier opción marcada como yes debe tener un valor antes de que el módulo pueda ejecutarse.

Module options (auxiliary/scanner/portscan/tcp):

   Name         Current Setting  Required  Description
   ----         ---------------  --------  -----------
   CONCURRENCY  10               yes       The number of concurrent ports to check per host
   DELAY        0                yes       The delay between connections, per thread, in milliseconds
   JITTER       0                yes       The delay jitter factor (maximum value by which to +/- DELAY) in milliseconds.
   PORTS        1-10000          yes       Ports to scan (e.g. 22-25,80,110-900)
   RHOSTS                        yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
   THREADS      1                yes       The number of concurrent threads (max one per host)
   TIMEOUT      1000             yes       The socket connect timeout in milliseconds

El ajuste más importante es RHOSTS (Remote Hosts), que especifica la dirección IP o el rango de red del objetivo. Para este laboratorio, escanearemos nuestra propia máquina local, que aloja varios servicios.

Establezca la dirección IP del objetivo en 127.0.0.1 (localhost) usando el comando set:

set RHOSTS 127.0.0.1

De forma predeterminada, este módulo escanea los puertos del 1 al 10000. Para que nuestro escaneo finalice rápidamente, limitemos el escaneo a unos pocos puertos específicos donde sabemos que se espera que los servicios se estén ejecutando en esta configuración de laboratorio: FTP en 21, HTTP en 80 y PostgreSQL en 5432.

Establezca la opción PORTS para escanear solo estos puertos específicos:

set PORTS 21,80,5432

Puede ejecutar show options nuevamente para verificar que sus ajustes se hayan aplicado correctamente.

Ejecutar escaneos y almacenar resultados

En este paso, ejecutará el escaneo de puertos configurado.

Una vez que el escaneo se ejecuta en Metasploit, el valor no es solo la salida inmediata. El valor también radica en que los hallazgos se convierten en parte de la base de datos y pueden alimentar módulos y decisiones posteriores.

Una de las mayores ventajas de utilizar Metasploit para la recopilación de información es su integración de base de datos incorporada. Cuando hay una base de datos conectada, Metasploit almacena automáticamente los resultados de sus escaneos, manteniendo sus datos de reconocimiento organizados.

Primero, verifiquemos que Metasploit esté conectado a su base de datos PostgreSQL. Ejecute el siguiente comando:

db_status

Debería ver una salida confirmando la conexión, como:

[*] Connected to msf. Connection type: postgresql.

Ahora que hemos confirmado que la base de datos está activa y nuestras opciones de módulo están configuradas, es hora de lanzar el escaneo. Puede iniciar el módulo escribiendo run o exploit. Para los módulos auxiliares, run es la convención estándar.

Ejecute el escaneo:

run

Metasploit ahora intentará conectarse a los puertos especificados en la dirección IP del objetivo. Debido a que limitamos el escaneo a tres puertos, debería completarse casi al instante.

Verá una salida similar a la siguiente, indicando qué puertos están abiertos:

[+] 127.0.0.1             - 127.0.0.1:21 - TCP OPEN
[+] 127.0.0.1             - 127.0.0.1:80 - TCP OPEN
[+] 127.0.0.1             - 127.0.0.1:5432 - TCP OPEN
[*] 127.0.0.1:            - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

El símbolo [+] indica un hallazgo exitoso (un puerto abierto). Detrás de escena, Metasploit ha tomado esta información y la ha guardado directamente en su base de datos.

Ver hosts y servicios en la base de datos

En este paso final, aprenderá a recuperar y ver la información que Metasploit guardó automáticamente en su base de datos durante el escaneo.

Al gestionar una prueba de penetración grande, es posible que escanee docenas de redes y cientos de hosts. Recordar cada puerto abierto es imposible, por lo que los comandos de base de datos son increíblemente útiles.

Para ver una lista de todos los sistemas objetivo que Metasploit ha descubierto y guardado, utilice el comando hosts:

hosts

La salida mostrará una tabla de hosts conocidos. Debería ver la dirección IP de localhost que acabamos de escanear:

Hosts
=====

address    mac  name  os_name  os_flavor  os_sp  purpose  info  comments
-------    ---  ----  -------  ---------  -----  -------  ----  --------
127.0.0.1             Unknown                    device

Para ver los puertos abiertos y servicios específicos descubiertos en esos hosts, utilice el comando services:

services

Este comando consulta la base de datos y enumera todos los puertos abiertos que encontramos durante nuestro escaneo:

Services
========

host       port  proto  name  state  info  resource  parents
----       ----  -----  ----  -----  ----  --------  -------
127.0.0.1  21    tcp          open         {}
127.0.0.1  80    tcp          open         {}
127.0.0.1  5432  tcp          open         {}

En esta etapa, el escáner de puertos TCP básico registra que estos puertos están abiertos, pero es posible que no complete nombres de servicio detallados o información de versión. A medida que ejecute módulos auxiliares más avanzados más adelante, esta tabla podrá enriquecerse con detalles adicionales.

¡Ha completado con éxito los objetivos del laboratorio! Para salir de la consola de Metasploit y volver a su terminal de Linux estándar, escriba:

exit

Resumen

¡Felicidades! Ha completado con éxito el laboratorio de Recopilación de información y módulos auxiliares.

En este laboratorio, aprendió que Metasploit es un framework versátil que va mucho más allá de la explotación. Practicó la navegación por la consola de Metasploit, la búsqueda de módulos auxiliares específicos y la configuración de parámetros esenciales como RHOSTS y PORTS. Además, ejecutó un escaneo de puertos de red y utilizó la potente integración de base de datos de Metasploit para almacenar y revisar automáticamente sus datos de reconocimiento utilizando los comandos hosts y services.

Estas habilidades fundamentales son críticas para organizar su flujo de trabajo durante la fase de recopilación de información de cualquier evaluación de seguridad.