Buscar Módulos en Metasploit

Kali LinuxBeginner
Practicar Ahora

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.

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 como exploit o auxiliary.
  • 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.