Introducción
En este laboratorio, aprenderá a utilizar un módulo escáner auxiliar dentro del Metasploit Framework para realizar la enumeración de versiones de SSH (Secure Shell). Metasploit es una potente herramienta de pruebas de penetración que contiene una vasta colección de exploits, payloads y módulos auxiliares.
Los módulos auxiliares no se utilizan para la explotación directa, sino para otros propósitos como escaneo, fuzzing y recopilación de información. La enumeración de SSH es una parte clave de la fase de reconocimiento de una evaluación de seguridad. Al identificar la versión específica de un servidor SSH, un atacante puede buscar vulnerabilidades conocidas asociadas con esa versión.
Aprenderá a iniciar la consola de Metasploit, buscar el módulo apropiado, configurar sus opciones y ejecutarlo contra un objetivo para descubrir su versión de SSH.
Buscar el módulo auxiliar ssh_version
En este paso, iniciará la consola del Metasploit Framework y buscará un módulo capaz de escanear versiones de SSH.
Primero, abra una terminal. La consola de Metasploit es una interfaz de línea de comandos del framework. Puede iniciarla escribiendo msfconsole. Utilizaremos la bandera -q para un inicio "silencioso" (quiet), que suprime el banner de inicio.
Ejecute el siguiente comando para iniciar la consola de Metasploit:
msfconsole -q
Una vez que la consola se cargue, verá el prompt de Metasploit, que se ve así: msf6 >. Ahora, puede usar el comando search para encontrar módulos. Estamos buscando un módulo relacionado con el escaneo de versiones de SSH.
Escriba el siguiente comando en la consola de Metasploit y presione Enter:
search ssh_version
Metasploit buscará en su base de datos de módulos y mostrará todas las coincidencias. La salida mostrará el módulo auxiliary/scanner/ssh/ssh_version, que es exactamente lo que necesitamos.
msf6 > search ssh_version
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/ssh/ssh_version normal No Detect SSH Version
Interact with a module by name or index. For example info 0, use 0 or use auxiliary/scanner/ssh/ssh_version
msf6 >
Seleccionar el módulo ssh_version
En este paso, seleccionará el módulo ssh_version que encontró y verá sus opciones disponibles.
Ahora que ha identificado el módulo correcto, necesita cargarlo en el contexto del framework. Esto se hace utilizando el comando use seguido del nombre completo del módulo.
En el prompt de msfconsole, escriba el siguiente comando:
use auxiliary/scanner/ssh/ssh_version
Después de ejecutar el comando, notará que el prompt cambia. Ahora incluye el nombre del módulo activo, lo que indica que está listo para ser configurado. El nuevo prompt se verá así: msf6 auxiliary(scanner/ssh/ssh_version) >.
Para ver qué parámetros puede configurar para este módulo, use el comando show options:
show options
Este comando mostrará una tabla de todas las opciones para el módulo ssh_version, incluyendo su configuración actual, si son requeridas y una breve descripción. Preste mucha atención a las opciones RHOSTS y THREADS, ya que las configuraremos en los siguientes pasos.
msf6 auxiliary(scanner/ssh/ssh_version) > show options
Module options (auxiliary/scanner/ssh/ssh_version):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 22 yes The target port (TCP)
THREADS 1 yes The number of concurrent threads (max one per host)
TIMEOUT 30 yes Timeout for the SSH probe
...
Establecer la opción RHOSTS a una subred de destino
En este paso, configurará el destino de su escaneo. La opción RHOSTS especifica el host o hosts remotos que Metasploit escaneará.
Para este laboratorio, escanearemos la propia máquina local, ya que el script de configuración ha instalado e iniciado un servidor SSH en ella. La dirección IP de la máquina local es siempre 127.0.0.1.
Puede establecer opciones de módulo utilizando el comando set, seguido del nombre de la opción y el valor que desea asignar.
Para establecer el destino en su máquina local, ejecute el siguiente comando en su prompt de msfconsole:
set RHOSTS 127.0.0.1
Metasploit confirmará el cambio imprimiendo la opción y su nuevo valor.
RHOSTS => 127.0.0.1
Ahora le ha indicado al escáner qué máquina debe tener como objetivo. Si estuviera escaneando una red, podría proporcionar un rango de direcciones IP aquí (por ejemplo, 192.168.1.0/24).
Establecer el número de hilos concurrentes
En este paso, ajustará el número de hilos concurrentes para el escáner. Esta opción controla cuántos hosts se escanean simultáneamente.
Aunque escanear un solo host como estamos haciendo ahora no se beneficia mucho de múltiples hilos, es una configuración crucial para escanear redes grandes para acelerar el proceso. Es una buena práctica aprender a configurarla.
El valor predeterminado es 1. Aumentémoslo a 10. Usaremos el comando set nuevamente.
En su prompt de msfconsole, escriba el siguiente comando:
set THREADS 10
Metasploit confirmará que la configuración se ha actualizado.
THREADS => 10
Ahora el escáner está configurado para usar hasta 10 hilos, lo que lo haría significativamente más rápido al escanear un rango de direcciones IP.
Ejecutar el módulo y revisar las versiones de SSH descubiertas
En este paso, con todas las opciones configuradas, ejecutará el módulo escáner y analizará la salida.
El comando run (o su alias, exploit) ejecuta el módulo cargado actualmente con su configuración.
Para iniciar el escaneo, simplemente escriba run en su prompt de msfconsole y presione Enter:
run
El módulo intentará conectarse al puerto 22 en 127.0.0.1. Si encuentra un servicio SSH activo, obtendrá el banner de la versión y lo mostrará. La salida debería ser similar a la siguiente:
[*] 127.0.0.1:22 - Scanned 1 of 1 hosts (100%)
[+] 127.0.0.1:22 - SSH server detected: SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.6
[*] Auxiliary module execution completed
El símbolo [+] indica éxito. La salida muestra que se detectó un servidor SSH en 127.0.0.1 en el puerto 22, y reporta la versión como OpenSSH_8.9p1 en un sistema Ubuntu. Esta información es valiosa para los siguientes pasos en una prueba de penetración, como la búsqueda de vulnerabilidades específicas para esta versión.
Resumen
En este laboratorio, ha utilizado con éxito un escáner auxiliar de Metasploit para realizar la enumeración de versiones SSH.
Ha aprendido a:
- Iniciar la consola del Metasploit Framework.
- Buscar un módulo específico utilizando el comando
search. - Seleccionar y cargar un módulo con el comando
use. - Configurar opciones del módulo como
RHOSTSyTHREADSutilizando el comandoset. - Ejecutar el módulo con el comando
run. - Interpretar los resultados para identificar la versión del servidor SSH en un objetivo.
Este proceso es una habilidad fundamental para la recopilación de información y el reconocimiento en el campo de la ciberseguridad y las pruebas de penetración.


