Introducción
En este laboratorio, aprenderá a realizar la enumeración de Server Message Block (SMB) utilizando Metasploit Framework. SMB es un protocolo de red utilizado para proporcionar acceso compartido a archivos, impresoras y puertos serie entre nodos en una red. Enumerar la versión de SMB es un primer paso crucial en las pruebas de penetración, ya que ayuda a identificar el software y la versión específicos que se ejecutan en un objetivo, lo que luego se puede cotejar con vulnerabilidades conocidas.
Utilizaremos uno de los módulos de escaneo auxiliar de Metasploit, específicamente auxiliary/scanner/smb/smb_version, para escanear un objetivo y determinar su versión de SMB. Metasploit es un potente framework de pruebas de penetración que facilita la búsqueda, explotación y validación de vulnerabilidades.
Al final de este laboratorio, estará familiarizado con el lanzamiento de Metasploit, la búsqueda de módulos, la configuración de opciones de módulos y la ejecución de un escáner para recopilar información sobre un sistema objetivo.
Buscar el módulo auxiliar smb_version
En este paso, iniciaremos la consola de Metasploit Framework y buscaremos el módulo apropiado para realizar el escaneo de la versión de SMB. msfconsole es la interfaz principal para interactuar con Metasploit.
Primero, abra una terminal e inicie la consola de Metasploit ejecutando el siguiente comando. Puede tardar un momento en inicializarse.
msfconsole -q
La bandera -q hace que el banner de inicio sea silencioso. Una vez cargado, verá el prompt de Metasploit, que se ve así: msf6 >.
Ahora, busquemos el módulo de escaneo de versión de SMB. Podemos usar el comando search para buscar módulos relacionados con smb_version.
search smb_version
Verá una lista de módulos coincidentes. El que nos interesa es un escáner auxiliar. La salida debería ser similar a esta:
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/smb/smb_version normal No SMB Version Detection
1 exploit/windows/smb/smb_doublepulsar_eternalblue 2017-04-14 extraordinary Yes SMBv1/SMBv2 DoublePulsar/EternalBlue Unauthenticated RCE
De la salida, podemos ver que auxiliary/scanner/smb/smb_version es el módulo que necesitamos.
Seleccionar el módulo smb_version
En este paso, seleccionará el módulo que encontró en el paso anterior. Después de identificar el módulo correcto, debe cargarlo en el contexto del framework utilizando el comando use.
En su prompt de msfconsole, escriba el siguiente comando para seleccionar el escáner smb_version:
use auxiliary/scanner/smb/smb_version
Notará que su prompt cambia para reflejar el módulo actualmente cargado:
msf6 auxiliary(scanner/smb/smb_version) >
Esto indica que el módulo está ahora activo. Para ver qué opciones podemos configurar para este módulo, use el comando show options:
show options
Esto mostrará una tabla de parámetros que puede configurar para el módulo.
Module options (auxiliary/scanner/smb/smb_version):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
THREADS 1 yes The number of concurrent threads (max one per host)
Preste mucha atención a las opciones RHOSTS y THREADS, ya que las configuraremos en los siguientes pasos. La columna Required muestra que RHOSTS debe establecerse antes de que podamos ejecutar el escáner.
Establecer la opción RHOSTS al rango de IP del objetivo
En este paso, configuraremos el objetivo para nuestro escaneo. La opción RHOSTS (Remote Hosts) le indica a Metasploit qué máquina(s) escanear. Para este laboratorio, hemos instalado un servidor Samba en la máquina local para que sirva como nuestro objetivo. Por lo tanto, estableceremos RHOSTS a la dirección IP de loopback, 127.0.0.1.
Use el comando set para asignar un valor a RHOSTS:
set RHOSTS 127.0.0.1
Metasploit confirmará el cambio:
RHOSTS => 127.0.0.1
Puede verificar que la opción se ha establecido correctamente ejecutando show options nuevamente. Verá que 127.0.0.1 ahora aparece como el Current Setting para RHOSTS. Este es un paso obligatorio, ya que el escáner necesita conocer su objetivo.
Establecer la opción THREADS para un escaneo más rápido
En este paso, ajustaremos la opción THREADS. Esta opción controla cuántos hilos de escaneo concurrentes utilizará Metasploit. Aumentar el número de hilos puede acelerar significativamente el escaneo cuando se apunta a un gran número de hosts.
Aunque escanear un solo host (127.0.0.1) no verá un beneficio de rendimiento con múltiples hilos, es una buena práctica aprender a configurar esta opción. Establezcamos el número de hilos en 50.
Use el comando set nuevamente para cambiar el valor de THREADS:
set THREADS 50
Metasploit confirmará la configuración:
THREADS => 50
Ahora el escáner está configurado para usar hasta 50 hilos, lo que sería muy efectivo para escanear un rango de red como 192.168.1.0/24.
Ejecutar el escáner y analizar la salida
En este paso, con todas las opciones configuradas, estamos listos para ejecutar el escáner. El comando run (o su alias, exploit) iniciará el módulo contra el objetivo especificado.
En su prompt de msfconsole, ejecute el escáner:
run
El módulo intentará ahora conectarse al puerto 445 en 127.0.0.1 y determinar la versión de SMB. La salida se verá similar a la siguiente:
[*] 127.0.0.1:445 - Sending SMBv1 request
[+] 127.0.0.1:445 - Host is running Samba 4.15.13-Ubuntu (Samba 4.15.13-Ubuntu)
[*] 127.0.0.1:445 - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
Analicemos la salida:
- El símbolo
[+]indica un resultado exitoso. - La línea
Host is running Samba 4.15.13-Ubuntunos dice la versión exacta del software del servidor SMB. Esta información es extremadamente valiosa para un pentester, quien ahora puede buscar vulnerabilidades específicas para esta versión. - Las líneas finales confirman que el escaneo está completo.
Ha enumerado con éxito la versión de SMB en el objetivo. Para salir de la consola de Metasploit, simplemente escriba exit.
exit
Resumen
En este laboratorio, ha utilizado con éxito un escáner auxiliar de Metasploit para realizar la enumeración de SMB. Ha aprendido el flujo de trabajo fundamental para usar módulos dentro del Metasploit Framework.
Ha practicado las siguientes habilidades clave:
- Lanzar la consola de Metasploit (
msfconsole). - Buscar módulos con el comando
search. - Seleccionar y cargar un módulo con el comando
use. - Ver y configurar opciones de módulos como
RHOSTSyTHREADSconshow optionsyset. - Ejecutar un módulo con el comando
run. - Analizar la salida para recopilar información crítica sobre un objetivo.
Este proceso de recopilación de información es un elemento fundamental de cualquier evaluación de seguridad o prueba de penetración. ¡Felicitaciones por completar el laboratorio!


