Introducción
Metasploit Framework es una potente herramienta utilizada por profesionales de la seguridad para pruebas de penetración y evaluación de vulnerabilidades. Contiene una vasta base de datos de módulos, incluyendo exploits, escáneres auxiliares, payloads y más. Con miles de módulos disponibles, saber cómo buscar eficientemente el correcto es una habilidad crítica.
En este laboratorio, aprenderá las técnicas fundamentales para buscar módulos en Metasploit. Comenzaremos con búsquedas básicas por palabras clave y luego exploraremos cómo refinar esas búsquedas utilizando filtros por tipo de módulo e identificadores CVE específicos. Finalmente, aprenderá a inspeccionar los detalles de un módulo y seleccionarlo para su uso.
Usa el comando search con un nombre de servicio como ssh
En este paso, comenzará iniciando la consola Metasploit y realizando una búsqueda básica de módulos relacionados con un servicio específico. El comando search es su herramienta principal para navegar por la extensa biblioteca de módulos de Metasploit.
Primero, abra su terminal e inicie la consola Metasploit Framework ejecutando el comando msfconsole. Esto puede tardar un momento en cargarse.
msfconsole
Verá un banner y el prompt del comando Metasploit, que se ve como msf6 >.
Ahora, busquemos todos los módulos relacionados con el servicio SSH (Secure Shell). Escriba el siguiente comando en la consola Metasploit y presione Enter:
search ssh
Metasploit mostrará una lista de todos los módulos que tienen "ssh" en su nombre o descripción. La salida será una tabla con varias columnas:
- #: El número de índice del módulo en los resultados de la búsqueda.
- Name: La ruta completa y el nombre del módulo.
- Disclosure Date: La fecha en que la vulnerabilidad fue divulgada públicamente.
- Rank: La calificación de fiabilidad del módulo (por ejemplo,
excellent,great,good). - Check: Indica si el módulo tiene un método de verificación para ver si un objetivo es vulnerable sin explotarlo.
- Description: Un breve resumen de lo que hace el módulo.
Su salida se parecerá a esto (la lista puede ser más larga y las versiones pueden diferir):
msf6 > search ssh
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/ssh/ssh_login 1999-01-01 normal No SSH Login Check Scanner
1 auxiliary/scanner/ssh/ssh_login_pubkey 2002-07-23 normal No SSH Public Key Login Scanner
2 exploit/linux/ssh/libssh_auth_bypass 2018-10-16 great Yes LibSSH Authentication Bypass
3 auxiliary/scanner/ssh/ssh_enumusers 2018-08-20 normal No OpenSSH User Enumeration
4 post/linux/manage/ssh_authorized_keys normal No Linux Manage SSH Authorized Keys
...
Esta búsqueda simple le brinda una visión general de todos los módulos disponibles relacionados con SSH.
Filtra los resultados de búsqueda por tipo de módulo como exploit o auxiliary
En este paso, aprenderá a acotar sus resultados de búsqueda filtrando por un tipo de módulo específico. La búsqueda anterior devolvió varios tipos de módulos, como auxiliary, exploit y post. A menudo, usted sabe qué tipo de módulo necesita.
Metasploit le permite filtrar búsquedas con palabras clave como type. Los tipos más comunes son:
exploit: Módulos que aprovechan una vulnerabilidad para obtener el control.auxiliary: Módulos para escaneo, fuzzing, sniffing y otras acciones que no son exploits directos.post: Módulos de post-explotación que se ejecutan en un sistema comprometido.
Refinemos nuestra búsqueda anterior para encontrar solo módulos exploit relacionados con SSH. Utilice el filtro type: en su consulta de búsqueda:
search type:exploit ssh
La salida ahora se limitará a los módulos que están clasificados como exploits:
msf6 > search type:exploit ssh
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/linux/ssh/libssh_auth_bypass 2018-10-16 great Yes LibSSH Authentication Bypass
1 exploit/multi/ssh/sshexec 2004-01-01 manual No SSH Exec
...
De manera similar, si estuviera buscando un escáner para recopilar información sobre un servicio SSH, buscaría módulos auxiliary:
search type:auxiliary ssh
Este comando devolverá una lista de escáneres y otras herramientas no exploit para SSH.
msf6 > search type:auxiliary ssh
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/ssh/ssh_login 1999-01-01 normal No SSH Login Check Scanner
1 auxiliary/scanner/ssh/ssh_enumusers 2018-08-20 normal No OpenSSH User Enumeration
...
El uso de filtros de tipo es una forma potente de encontrar rápidamente el tipo de herramienta que necesita.
Busca un identificador CVE específico
En este paso, aprenderá a buscar módulos asociados con un identificador específico de Common Vulnerabilities and Exposures (CVE). Cuando conozca el ID de CVE de una vulnerabilidad que desea atacar, esta es la forma más directa de encontrar el exploit correspondiente.
Un CVE es un identificador único para una vulnerabilidad de ciberseguridad conocida públicamente. Los módulos de Metasploit a menudo se etiquetan con los CVE que abordan.
Puede buscar por CVE utilizando el filtro cve:. Por ejemplo, busquemos un módulo relacionado con CVE-2018-15473, una vulnerabilidad de enumeración de usuarios en algunas versiones de OpenSSH.
search cve:2018-15473
Esta búsqueda es muy específica y solo debería devolver el(los) módulo(s) diseñado(s) para atacar esta vulnerabilidad exacta.
msf6 > search cve:2018-15473
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/ssh/ssh_enumusers 2018-08-20 normal No OpenSSH User Enumeration
Como puede ver, la búsqueda identifica el módulo auxiliar exacto para este CVE. Buscar por CVE es una técnica esencial cuando se trabaja a partir de un informe de escaneo de vulnerabilidades o un aviso de seguridad.
Utiliza el comando info para ver información detallada del módulo
En este paso, aprenderá a obtener información detallada sobre un módulo antes de utilizarlo. Después de encontrar un módulo prometedor, es importante comprender qué hace, qué opciones requiere y quién lo desarrolló. El comando info proporciona toda esta información.
Puede utilizar el comando info con el nombre completo del módulo o su número de índice del último resultado de búsqueda. Obtengamos más información sobre el módulo ssh_enumusers que encontramos en el paso anterior.
Puede usar su nombre completo:
info auxiliary/scanner/ssh/ssh_enumusers
Alternativamente, si era el elemento 0 en su última búsqueda, podría simplemente usar info 0. Usar el nombre completo es generalmente más confiable.
El comando mostrará una página detallada sobre el módulo:
msf6 > info auxiliary/scanner/ssh/ssh_enumusers
Name: OpenSSH User Enumeration
Module: auxiliary/scanner/ssh/ssh_enumusers
License: Metasploit Framework License (BSD)
Rank: Normal
Disclosed: 2018-08-20
Provided by:
Justin Gardner
Check supported:
No
Basic options:
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)
USER_FILE yes File containing usernames, one per line
Description:
This module enumerates valid usernames on OpenSSH servers by exploiting
a subtle timing discrepancy in the C library's handling of password
authentication.
References:
https://nvd.nist.gov/vuln/detail/CVE-2018-15473
https://www.exploit-db.com/exploits/45233/
Esta salida le proporciona información crucial, incluidas las opciones requeridas (RHOSTS, USER_FILE, etc.), una descripción completa del propósito del módulo y enlaces a las divulgaciones originales de la vulnerabilidad. Siempre revise esta información antes de usar un módulo.
Selecciona un módulo para usar con el comando use
En este último paso, aprenderá a seleccionar un módulo para activarlo. Una vez que haya identificado e investigado un módulo, necesita cargarlo en el contexto del framework para configurarlo y ejecutarlo. Esto se hace con el comando use.
De manera similar al comando info, a use le puede seguir el nombre completo del módulo o su número de índice de los resultados de búsqueda. Seleccionemos el módulo ssh_enumusers.
use auxiliary/scanner/ssh/ssh_enumusers
Después de ejecutar este comando, notará que su prompt de Metasploit cambia. Ahora incluye el nombre del módulo activo, lo que indica que está cargado y listo para la configuración.
msf6 > use auxiliary/scanner/ssh/ssh_enumusers
msf6 auxiliary(scanner/ssh/ssh_enumusers) >
El nuevo prompt msf6 auxiliary(scanner/ssh/ssh_enumusers) > confirma que el módulo está cargado. A partir de aquí, normalmente usaría comandos como show options para ver qué parámetros deben establecerse, set para configurarlos y, finalmente, run o exploit para ejecutar el módulo. No ejecutaremos el módulo en este laboratorio, pero seleccionarlo es el paso final esencial en el proceso de búsqueda.
Para volver al prompt principal msf6 >, puede usar el comando back.
Resumen
En este laboratorio, ha aprendido las habilidades esenciales para encontrar módulos dentro del Metasploit Framework. Ahora es capaz de navegar por los miles de módulos disponibles con precisión y eficiencia.
Practicó el uso de los comandos principales para este proceso:
search: Para encontrar módulos basados en palabras clave como nombres de servicios.search type:<type>: Para filtrar resultados para tipos de módulos específicos comoexploitoauxiliary.search cve:<cveid>: Para identificar módulos asociados con una vulnerabilidad CVE específica.info: Para inspeccionar los detalles, opciones y propósito de un módulo.use: Para seleccionar y cargar un módulo en el contexto del framework.
Dominar estas técnicas de búsqueda es un paso fundamental para ser competente con Metasploit. Ahora está bien equipado para encontrar las herramientas adecuadas para sus futuros compromisos de pruebas de penetración.


