Pesquisar Módulos no Metasploit

Kali LinuxBeginner
Pratique Agora

Introdução

O Metasploit Framework é uma ferramenta poderosa utilizada por profissionais de segurança para testes de penetração e avaliação de vulnerabilidades. Ele contém um vasto banco de dados de módulos, incluindo exploits, scanners auxiliares, payloads e muito mais. Com milhares de módulos disponíveis, saber como pesquisar eficientemente pelo módulo correto é uma habilidade crítica.

Neste laboratório, você aprenderá as técnicas fundamentais para pesquisar módulos no Metasploit. Começaremos com pesquisas básicas por palavras-chave e, em seguida, exploraremos como refinar essas pesquisas usando filtros por tipo de módulo e identificadores específicos de CVE. Finalmente, você aprenderá como inspecionar os detalhes de um módulo e selecioná-lo para uso.

Use o comando search com um nome de serviço como ssh

Nesta etapa, você começará iniciando o console do Metasploit e realizando uma pesquisa básica por módulos relacionados a um serviço específico. O comando search é sua principal ferramenta para navegar na extensa biblioteca de módulos do Metasploit.

Primeiro, abra seu terminal e inicie o console do Metasploit Framework executando o comando msfconsole. Isso pode levar um momento para carregar.

msfconsole

Você verá um banner e o prompt de comando do Metasploit, que se parece com msf6 >.

Agora, vamos pesquisar por todos os módulos relacionados ao serviço SSH (Secure Shell). Digite o seguinte comando no console do Metasploit e pressione Enter:

search ssh

O Metasploit exibirá uma lista de todos os módulos que têm "ssh" em seu nome ou descrição. A saída será uma tabela com várias colunas:

  • #: O número de índice do módulo nos resultados da pesquisa.
  • Name: O caminho completo e o nome do módulo.
  • Disclosure Date: A data em que a vulnerabilidade foi divulgada publicamente.
  • Rank: A classificação de confiabilidade do módulo (por exemplo, excellent, great, good).
  • Check: Indica se o módulo possui um método de verificação para saber se um alvo é vulnerável sem explorá-lo.
  • Description: Um breve resumo do que o módulo faz.

Sua saída será semelhante a esta (a lista pode ser mais longa e as versões podem 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 pesquisa simples oferece uma visão geral de todos os módulos relacionados a SSH disponíveis.

Filtre os resultados da pesquisa por tipo de módulo como exploit ou auxiliary

Nesta etapa, você aprenderá como refinar seus resultados de pesquisa filtrando por um tipo de módulo específico. A pesquisa anterior retornou vários tipos de módulos, como auxiliary, exploit e post. Frequentemente, você sabe que tipo de módulo precisa.

O Metasploit permite filtrar pesquisas com palavras-chave como type. Os tipos mais comuns são:

  • exploit: Módulos que se aproveitam de uma vulnerabilidade para obter controle.
  • auxiliary: Módulos para varredura (scanning), fuzzing, sniffing e outras ações que não são exploits diretos.
  • post: Módulos de pós-exploração que são executados em um sistema comprometido.

Vamos refinar nossa pesquisa anterior para encontrar apenas módulos exploit relacionados a SSH. Use o filtro type: em sua consulta de pesquisa:

search type:exploit ssh

A saída agora será limitada a módulos que são classificados 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
...

Da mesma forma, se você estivesse procurando um scanner para coletar informações sobre um serviço SSH, pesquisaria por módulos auxiliary:

search type:auxiliary ssh

Este comando retornará uma lista de scanners e outras ferramentas não-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
...

Usar filtros de tipo é uma maneira poderosa de encontrar rapidamente o tipo de ferramenta que você precisa.

Pesquise por um identificador CVE específico

Nesta etapa, você aprenderá como pesquisar módulos associados a um identificador específico de Common Vulnerabilities and Exposures (CVE). Quando você souber o ID CVE de uma vulnerabilidade que deseja explorar, esta é a maneira mais direta de encontrar o exploit correspondente.

Um CVE é um identificador exclusivo para uma vulnerabilidade de cibersegurança publicamente conhecida. Os módulos do Metasploit são frequentemente marcados com os CVEs que eles abordam.

Você pode pesquisar por CVE usando o filtro cve:. Por exemplo, vamos pesquisar um módulo relacionado ao CVE-2018-15473, uma vulnerabilidade de enumeração de usuários em algumas versões do OpenSSH.

search cve:2018-15473

Esta pesquisa é muito específica e deve retornar apenas o(s) módulo(s) projetado(s) para explorar essa vulnerabilidade exata.

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 você pode ver, a pesquisa identifica o módulo auxiliar exato para este CVE. Pesquisar por CVE é uma técnica essencial quando você está trabalhando a partir de um relatório de varredura de vulnerabilidade ou de um aviso de segurança.

Use o comando info para visualizar informações detalhadas do módulo

Nesta etapa, você aprenderá como obter informações detalhadas sobre um módulo antes de usá-lo. Após encontrar um módulo promissor, é importante entender o que ele faz, quais opções ele requer e quem o desenvolveu. O comando info fornece tudo isso.

Você pode usar o comando info com o nome completo do módulo ou com seu número de índice do último resultado da pesquisa. Vamos obter mais informações sobre o módulo ssh_enumusers que encontramos na etapa anterior.

Você pode usar o nome completo:

info auxiliary/scanner/ssh/ssh_enumusers

Alternativamente, se ele era o item 0 em sua última pesquisa, você poderia simplesmente usar info 0. Usar o nome completo é geralmente mais confiável.

O comando exibirá uma página detalhada sobre o 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 saída fornece informações cruciais, incluindo as opções necessárias (RHOSTS, USER_FILE, etc.), uma descrição completa do propósito do módulo e links para as divulgações originais da vulnerabilidade. Sempre revise essas informações antes de usar um módulo.

Selecione um módulo para usar com o comando use

Nesta etapa final, você aprenderá como selecionar um módulo para torná-lo ativo. Uma vez que você identificou e pesquisou um módulo, você precisa carregá-lo no contexto do framework para configurá-lo e executá-lo. Isso é feito com o comando use.

Semelhante ao comando info, use pode ser seguido pelo nome completo do módulo ou seu número de índice dos resultados da pesquisa. Vamos selecionar o módulo ssh_enumusers.

use auxiliary/scanner/ssh/ssh_enumusers

Após executar este comando, você notará que o prompt do Metasploit muda. Ele agora inclui o nome do módulo ativo, indicando que ele está carregado e pronto para configuração.

msf6 > use auxiliary/scanner/ssh/ssh_enumusers
msf6 auxiliary(scanner/ssh/ssh_enumusers) >

O novo prompt msf6 auxiliary(scanner/ssh/ssh_enumusers) > confirma que o módulo está carregado. A partir daqui, você normalmente usaria comandos como show options para ver quais parâmetros precisam ser definidos, set para configurá-los e, finalmente, run ou exploit para executar o módulo. Não executaremos o módulo neste laboratório, mas selecioná-lo é a etapa final essencial no processo de pesquisa.

Para retornar ao prompt principal msf6 >, você pode usar o comando back.

Resumo

Neste laboratório, você aprendeu as habilidades essenciais para encontrar módulos dentro do Metasploit Framework. Agora você é capaz de navegar pelos milhares de módulos disponíveis com precisão e eficiência.

Você praticou o uso dos comandos principais para este processo:

  • search: Para encontrar módulos com base em palavras-chave como nomes de serviços.
  • search type:<type>: Para filtrar resultados para tipos específicos de módulos como exploit ou auxiliary.
  • search cve:<cveid>: Para identificar módulos associados a uma vulnerabilidade CVE específica.
  • info: Para inspecionar os detalhes, opções e propósito de um módulo.
  • use: Para selecionar e carregar um módulo no contexto do framework.

Dominar essas técnicas de pesquisa é um passo fundamental para se tornar proficiente com o Metasploit. Agora você está bem equipado para encontrar as ferramentas certas para seus futuros engajamentos de testes de penetração.