Compreender os Tipos de Módulos do Metasploit

Kali LinuxBeginner
Pratique Agora

Introdução

O Metasploit Framework é uma poderosa ferramenta de código aberto utilizada para testes de penetração e pesquisa de segurança. Ele é construído em torno do conceito de módulos, que são peças de código intercambiáveis que realizam tarefas específicas. Compreender os diferentes tipos de módulos é fundamental para usar o Metasploit de forma eficaz.

Neste laboratório, você explorará os principais tipos de módulos dentro do Metasploit:

  • Exploits: Código que se aproveita de uma vulnerabilidade de sistema.
  • Auxiliary: Módulos para escaneamento, fuzzing e outras ações que não são exploits diretos.
  • Post-Exploitation: Módulos usados após obter acesso a um sistema alvo.
  • Payloads: Código que é executado no sistema alvo após um exploit bem-sucedido.

Você aprenderá a listar e identificar esses módulos usando o console do Metasploit (msfconsole).

Listar módulos de exploit disponíveis

Nesta etapa, você aprenderá a listar todos os módulos de exploit disponíveis no Metasploit Framework. Módulos de exploit são projetados para se aproveitar de uma falha ou vulnerabilidade específica em um sistema, serviço ou aplicativo para obter acesso não autorizado.

Primeiro, você precisa iniciar o console do Metasploit Framework. Usaremos o flag -q para suprimir o banner de inicialização para uma interface mais limpa. Uma vez dentro do console, você pode usar o comando show exploits.

Abra seu terminal e execute o seguinte comando para iniciar o msfconsole:

msfconsole -q

Assim que o prompt do msfconsole (msf6 >) aparecer, digite o seguinte comando para listar todos os módulos de exploit:

show exploits

Você verá uma longa lista de exploits disponíveis, juntamente com sua data de divulgação, classificação (rank) e uma breve descrição. A classificação indica a confiabilidade do exploit.

msf6 > show exploits

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

   ##   Name                                 Disclosure Date  Rank       Check  Description
   -   ----                                 ---------------  ----       -----  -----------
   0   exploit/aix/local/ibstat_exec        2009-07-27       excellent  No     AIX ibstat Command Execution
   1   exploit/aix/local/invscout_priv_esc  2012-03-30       excellent  Yes    AIX invscout Privilege Escalation
   2   exploit/aix/rpc_catd                 1995-01-01       great      No     AIX CDE ToolTalk rpc.catd Command Execution
...
   2300 exploit/windows/smb/ms17_010_psexec  2017-03-14       excellent  Yes    MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution
...

Após revisar a lista, você pode sair do console do Metasploit digitando exit:

exit

Listar módulos auxiliares disponíveis

Nesta etapa, você listará os módulos auxiliares. Ao contrário dos exploits, os módulos auxiliares não resultam diretamente na obtenção de acesso a um sistema. Em vez disso, eles são usados para uma ampla gama de tarefas, como escanear portas abertas, identificar serviços, fuzzing, ataques de negação de serviço e coleta de informações.

Assim como na etapa anterior, inicie o console do Metasploit e, em seguida, use o comando show.

Inicie o msfconsole novamente a partir do seu terminal:

msfconsole -q

No prompt msf6 >, use o comando show auxiliary para ver todos os módulos auxiliares disponíveis:

show auxiliary

A saída exibirá uma lista abrangente de módulos usados para reconhecimento e outras atividades não-exploit.

msf6 > show auxiliary

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

   ##   Name                                                 Disclosure Date  Rank     Check  Description
   -   ----                                                 ---------------  ----     -----  -----------
   0   auxiliary/admin/2wire/xslt_password_reset                             normal   No     2Wire Cross-Site Scripting and Password Reset
   1   auxiliary/admin/appletv/appletv_display_image                         normal   No     AppleTV Display Image
...
   450 auxiliary/scanner/http/http_login                                     normal   No     HTTP Login Utility
   451 auxiliary/scanner/http/http_put                                       normal   Yes    HTTP PUT File Upload Utility
...

Quando terminar, saia do console:

exit

Listar módulos de pós-exploração disponíveis

Nesta etapa, você explorará os módulos de pós-exploração. Esses módulos são usados após você ter comprometido com sucesso um sistema alvo. Seu propósito é ajudá-lo a manter o acesso, coletar informações confidenciais, escalar privilégios e fazer pivô para outros sistemas dentro da rede.

O processo para listar esses módulos é semelhante às etapas anteriores.

Inicie o console do Metasploit:

msfconsole -q

No prompt, digite show post para listar todos os módulos de pós-exploração:

show post

Você verá uma lista de módulos categorizados pelo sistema operacional alvo (por exemplo, Windows, Linux, OSX) e pela função que desempenham (por exemplo, gather, manage, escalate).

msf6 > show post

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

   ##   Name                                                 Disclosure Date  Rank    Check  Description
   -   ----                                                 ---------------  ----    -----  -----------
   0   post/android/capture/screen                                           normal  No     Android Screen Capture
   1   post/android/gather/contacts                                          normal  No     Android Gather Contacts
...
   250 post/linux/gather/enum_configs                                        normal  No     Linux Gather Configurations
   251 post/linux/gather/enum_protections                                    normal  No     Linux Gather Protection Mechanisms
...
   400 post/windows/gather/credentials/total_commander                       normal  No     Windows Gather Total Commander FTP Passwords
...

Lembre-se de sair do console quando terminar de explorar a lista:

exit

Listar módulos de payload disponíveis

Nesta etapa, você listará os módulos de payload disponíveis. Um payload é o código que um exploit entrega ao sistema alvo. Uma vez que o exploit compromete com sucesso o sistema, o payload é executado, dando controle ao atacante. Os payloads podem variar de simples shells de comando ao avançado Meterpreter, que fornece controle extensivo sobre a máquina da vítima.

Vamos listá-los usando o msfconsole.

Inicie o console do Metasploit:

msfconsole -q

No prompt msf6 >, use o comando show payloads:

show payloads

A saída mostrará uma variedade de payloads, frequentemente categorizados pelo tipo de conexão que estabelecem (por exemplo, reverse shell, bind shell) e pela arquitetura alvo.

msf6 > show payloads

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

   ##   Name                                   Disclosure Date  Rank    Check  Description
   -   ----                                   ---------------  ----    -----  -----------
   0   payload/aix/ppc/shell_bind_tcp                          normal  No     AIX PowerPC Command Shell, Bind TCP Inline
   1   payload/aix/ppc/shell_find_port                         normal  No     AIX PowerPC Command Shell, Find Port Inline
...
   500 payload/linux/x86/meterpreter/reverse_tcp               normal  No     Linux Meterpreter, Reverse TCP Stager
...
   1000 payload/windows/x64/meterpreter/reverse_tcp             normal  No     Windows Meterpreter (Reflective Injection), Reverse TCP Stager (x64)
...

Finalmente, saia do console:

exit

Diferenciar entre um exploit e um payload

Nesta etapa final, solidificaremos sua compreensão da diferença crucial entre um exploit e um payload. Embora trabalhem juntos, eles servem a propósitos distintos.

  • Exploit: Este é o "veículo de entrega". Sua única função é tirar proveito de uma vulnerabilidade para colocar o payload no sistema alvo. Pense nele como a chave que destranca uma porta.
  • Payload: Esta é a "carga". É o código que é executado após o exploit ser bem-sucedido. Ele define o que você pode fazer no sistema comprometido. Pense nele como o que você faz depois de destrancar a porta e entrar.

Um exploit não pode funcionar sem um payload, e um payload não pode ser entregue sem um exploit.

Para demonstrar sua compreensão, crie um arquivo de texto simples chamado difference.txt em seu diretório de projeto que resuma este conceito.

Execute o seguinte comando em seu terminal:

echo "Exploit: Gains access. Payload: Runs after access." > /home/labex/project/difference.txt

Você pode verificar se o arquivo foi criado corretamente com o comando cat:

cat /home/labex/project/difference.txt

Você deverá ver a seguinte saída:

Exploit: Gains access. Payload: Runs after access.

Este exercício simples ajuda a reforçar a relação central entre esses dois componentes fundamentais do Metasploit.

Resumo

Parabéns por completar este laboratório! Você explorou com sucesso os tipos de módulos fundamentais dentro do Metasploit Framework.

Você aprendeu que:

  • Módulos de Exploit são usados para tirar proveito de vulnerabilidades para obter acesso inicial.
  • Módulos Auxiliares são usados para varredura, reconhecimento e outras ações que não são exploits.
  • Módulos de Pós-exploração são executados em um sistema após ele ter sido comprometido.
  • Módulos de Payload são o código entregue por um exploit que é executado no alvo.

Mais importante, você agora entende a distinção crítica entre um exploit (o método de entrada) e um payload (o código que é executado após a entrada). Este conhecimento fundamental é essencial para realizar testes de penetração eficazes com o Metasploit.