Busca e Seleção de Módulos no Metasploit

LinuxBeginner
Pratique Agora

Introdução

Bem-vindo ao mundo do Metasploit! O Metasploit Framework é uma ferramenta de código aberto incrivelmente poderosa, utilizada por profissionais de cibersegurança para desenvolver, testar e executar exploits. Ele contém um vasto banco de dados de módulos, que são partes de código que podem ser usadas para diversas tarefas de teste de penetração. Esses módulos incluem exploits, payloads e ferramentas auxiliares.

Neste laboratório, você aprenderá o fluxo de trabalho fundamental para trabalhar com módulos do Metasploit. Você começará iniciando o console do Metasploit, depois aprenderá a pesquisar módulos específicos, selecionar um para uso e configurar suas opções básicas. Este é o conjunto de habilidades fundamentais para qualquer aspirante a testador de penetração.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 98%. Recebeu uma taxa de avaliações positivas de 95% dos estudantes.

Nesta etapa, você aprenderá a usar o comando search para encontrar módulos dentro do Metasploit Framework. O comando search é sua principal ferramenta para navegar pelos milhares de módulos disponíveis.

Primeiro, vamos iniciar o console do Metasploit Framework. Isso pode levar um momento para iniciar.

msfconsole

Você verá um banner e o prompt de comando do Metasploit, que se parece com msf >. Todos os comandos subsequentes neste laboratório serão executados dentro deste console.

Para tornar sua pesquisa mais eficaz, você pode usar palavras-chave para filtrar os resultados. Uma das palavras-chave mais comuns é type, que permite especificar o tipo de módulo que você está procurando (por exemplo, exploit, payload, auxiliary).

Vamos pesquisar todos os módulos classificados como exploits. Digite o seguinte comando no console do Metasploit:

search type:exploit

Você verá uma longa lista de exploits disponíveis. A saída é organizada em colunas:

  • #: O número de índice do resultado da pesquisa.
  • Name: O caminho completo e o nome do módulo.
  • Disclosure Date: Quando a vulnerabilidade foi divulgada publicamente.
  • Rank: A confiabilidade do exploit, de low (baixo) a excellent (excelente).
  • Check: Indica se o módulo pode verificar se um alvo está vulnerável sem explorá-lo.
  • Description: Um breve resumo do que o módulo faz.
msf > search type:exploit

Matching Modules
================

   ##   Name                                    Disclosure Date  Rank       Check  Description
   -   ----                                    ---------------  ----       -----  -----------
   0   exploit/windows/local/adobe_sandbox_esc  2011-04-15       excellent  No     Adobe Reader/Acrobat "Movie" Annotation Sandbox Escape
   1   exploit/windows/fileformat/acdsee_pica   2011-01-12       good       No     ACDSee PicaView 2.0 EML File Parsing Buffer Overflow
   ... (output truncated) ...

Isso lhe dá uma ideia geral dos exploits disponíveis, mas a lista é muito grande para ser prática. Na próxima etapa, vamos refinar essa busca.

Nesta etapa, você aprenderá a refinar seus resultados de pesquisa. A pesquisa anterior retornou milhares de exploits para muitos sistemas operacionais diferentes. Para encontrar um exploit relevante, você precisa adicionar mais filtros.

A palavra-chave platform permite filtrar módulos com base no sistema operacional alvo, como windows, linux, osx ou android. Você pode combinar várias palavras-chave em um único comando search para criar uma consulta altamente específica.

Vamos pesquisar exploits que são especificamente projetados para a plataforma Linux.

search type:exploit platform:linux

A saída agora será uma lista muito mais curta e gerenciável de exploits relevantes para sistemas Linux.

msf > search type:exploit platform:linux

Matching Modules
================

   ##   Name                                          Disclosure Date  Rank     Check  Description
   -   ----                                          ---------------  ----     -----  -----------
   0   exploit/linux/http/advantech_switch_bash_env_exec 2014-09-24       excellent  Yes    Advantech Switch Bash Environment Variable Code Injection (Shellshock)
   1   exploit/linux/http/airties_login_cgi_bof      2012-01-17       excellent  No     AirTies login.cgi Buffer Overflow
   ... (output truncated) ...

Ao combinar palavras-chave, você pode rapidamente focar no módulo exato de que precisa para um alvo específico.

Usar Módulo Exploit com use exploit/multi/handler

Nesta etapa, você selecionará um módulo para trabalhar. Após encontrar um módulo com o comando search, você precisa carregá-lo no contexto do framework usando o comando use.

O comando use aceita o nome completo do módulo como seu argumento. Você pode copiar o nome diretamente dos resultados da pesquisa.

Para este laboratório, selecionaremos um módulo especial e muito comum: exploit/multi/handler. Este módulo não é um exploit típico que visa uma vulnerabilidade específica. Em vez disso, é um listener genérico que aguarda uma conexão de entrada de um payload que foi executado em uma máquina alvo. É uma ferramenta fundamental para capturar reverse shells.

Carregue o módulo handler com o seguinte comando:

use exploit/multi/handler

Depois de executar o comando, você notará que o prompt de comando muda.

msf > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf exploit(multi/handler) >

O prompt msf exploit(multi/handler) > indica que você agora está no contexto do módulo exploit/multi/handler. Quaisquer comandos que você emitir agora, como definir opções, serão aplicados a este módulo específico.

Verificar Opções do Módulo com show options

Nesta etapa, você aprenderá a visualizar os parâmetros configuráveis para o módulo que selecionou. Cada módulo possui um conjunto de opções que você pode precisar configurar antes de poder ser executado. Essas opções definem o comportamento do módulo, como o endereço IP do alvo ou a porta de escuta.

O comando show options exibe todas as opções disponíveis para o módulo atualmente carregado.

Agora que você está no contexto de exploit/multi/handler, execute o seguinte comando:

show options

A saída listará as opções do módulo, juntamente com suas configurações atuais e descrições.

msf exploit(multi/handler) > show options

Module options (exploit/multi/handler):

   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------

Payload options (generic/shell_reverse_tcp):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LHOST                   yes       The listen address (an interface may be specified)
   LPORT  4444             yes       The listen port

Exploit target:

   Id  Name
   --  ----
   0   Wildcard Target

Preste muita atenção à coluna Required (Obrigatório). Qualquer opção marcada como yes deve ser definida antes que você possa executar o módulo. Para multi/handler, o LHOST (Listen Host - Host de Escuta) e o LPORT (Listen Port - Porta de Escuta) são obrigatórios. LHOST é o endereço IP no qual sua máquina ficará escutando, e LPORT é a porta.

Definir Opções Básicas com set LHOST

Nesta etapa, você aprenderá a configurar as opções de um módulo usando o comando set. Este comando permite atribuir valores aos parâmetros que você viu com show options.

A sintaxe geral é set <NOME_DA_OPCAO> <VALOR>.

Para o módulo multi/handler, a opção mais importante a configurar é LHOST, que significa "Listen Host" (Host de Escuta). Isso especifica o endereço IP no qual o handler ficará escutando por conexões de entrada dos payloads.

Vamos definir a opção LHOST para o endereço de loopback, 127.0.0.1, para que o handler escute na máquina local.

set LHOST 127.0.0.1

O Metasploit confirmará a alteração:

LHOST => 127.0.0.1

Você pode verificar se a opção foi atualizada executando show options novamente. Você verá 127.0.0.1 listado como a Current Setting (Configuração Atual) para LHOST. Este simples comando set é como você configurará todos os módulos antes de iniciar um ataque.

Para sair do console do Metasploit, você pode digitar exit.

exit

Resumo

Parabéns por completar este laboratório! Você aprendeu os primeiros passos essenciais para trabalhar com o Metasploit Framework.

Agora você sabe como:

  • Iniciar o console do Metasploit (msfconsole).
  • Pesquisar módulos usando o comando search e filtrá-los por type (tipo) e platform (plataforma).
  • Selecionar um módulo específico para uso com o comando use.
  • Visualizar os parâmetros configuráveis de um módulo com show options.
  • Configurar os parâmetros de um módulo usando o comando set (por exemplo, definindo LHOST para listeners).

Estes comandos formam o fluxo de trabalho central para qualquer tarefa que você executará no Metasploit. Dominá-los é a chave para usar eficazmente esta poderosa ferramenta de teste de penetração.