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.


