Introdução
Bem-vindo ao laboratório de Compreensão de Módulos de Exploit!
Em testes de penetração, "armar" (weaponize) uma vulnerabilidade significa usar um módulo de exploit para entregar um payload a um sistema alvo. O Metasploit Framework é uma das ferramentas mais populares para esse propósito, fornecendo um banco de dados massivo e pesquisável de módulos de exploit para várias vulnerabilidades conhecidas.
No entanto, o trabalho profissional de exploração não se resume a "pesquisar e disparar". É um processo metódico de selecionar o módulo correto, entender suas premissas, configurá-lo cuidadosamente e verificar o alvo antes de arriscar qualquer ação disruptiva.
Neste laboratório, você aprenderá a metodologia padrão para utilizar esses módulos. Você praticará a busca por um exploit do mundo real, analisará os requisitos do módulo, configurará as opções do alvo e verificará com segurança um serviço vulnerável antes de lançar um ataque real.
Pesquisar Exploits Específicos (CVE/Nome)
Nesta etapa, você aprenderá como iniciar o console do Metasploit Framework e pesquisar módulos de exploit específicos.
O Metasploit contém milhares de módulos. Para encontrar o correto, você pode usar o comando search. Você pode pesquisar pelo nome do software, pelo tipo de vulnerabilidade ou por identificadores específicos, como um número CVE. Para este laboratório, trabalharemos com um alvo real do Shellshock exposto em 127.0.0.1:8080.
Primeiro, inicie o console do Metasploit. O sinalizador -q é usado para iniciá-lo no modo "quiet" (silencioso), que ignora o banner de inicialização.
msfconsole -q
Assim que o console carregar, seu prompt mudará para msf6 >. Agora, use o comando search para encontrar módulos relacionados ao Shellshock.
Pesquisar por família de vulnerabilidade ou CVE é frequentemente a ponte mais rápida entre o reconhecimento e a lógica de exploração candidata.
search shellshock
Você verá uma tabela listando os módulos correspondentes. Preste atenção na coluna Name, que mostra o caminho do módulo. Para este laboratório, o módulo de exploit que nos interessa é exploit/multi/http/apache_mod_cgi_bash_env_exec. A coluna Disclosure Date indica quando a vulnerabilidade foi tornada pública. A coluna Rank descreve o quão confiável é o exploit (por exemplo, Excellent, Good ou Normal). Finalmente, a coluna Check especifica se o módulo suporta uma verificação de vulnerabilidade mais segura.
Analisar Informações do Módulo (info)
Nesta etapa, você selecionará o módulo de exploit que encontrou e analisará seus detalhes.
Para informar ao Metasploit com qual módulo você deseja trabalhar, use o comando use seguido pelo nome do módulo (o caminho mostrado nos resultados da pesquisa).
Digite o seguinte comando em seu prompt msf6 >:
use exploit/multi/http/apache_mod_cgi_bash_env_exec
Observe que seu prompt muda para incluir o nome do módulo, indicando que ele está ativo. Antes de configurar qualquer coisa, é uma boa prática entender o que o módulo faz. Você pode fazer isso usando o comando info.
info
O comando info fornece uma riqueza de informações. Isso inclui detalhes sobre quem forneceu o módulo, como os autores e pesquisadores que o desenvolveram. Ele também lista as opções básicas, que são os parâmetros que você precisa configurar na próxima etapa. Além disso, oferece uma descrição detalhada de como a vulnerabilidade funciona e como o exploit tira proveito dela. Por fim, fornece referências, que são links para bancos de dados externos (como o National Vulnerability Database) para leitura adicional.
Ler essas informações faz parte da disciplina do operador. Um módulo pode exigir um caminho muito específico, comportamento de protocolo ou ambiente. Se você ignorar esse contexto, estará efetivamente apenas adivinhando.
Reserve um momento para ler a descrição e entender a mecânica da vulnerabilidade Shellshock e como este módulo abusa das variáveis de ambiente CGI.
Configurar Alvos e Opções de Exploit
Nesta etapa, você configurará as opções necessárias para apontar o módulo de exploit para o seu alvo específico.
Cada módulo requer que certos parâmetros sejam definidos. Para visualizar a configuração atual, use o comando show options:
show options
Observe a coluna Required. Se uma opção diz yes, ela deve ser configurada antes que o módulo possa ser executado. As opções mais comuns que você precisa definir são RHOSTS, que especifica o Host Remoto (o endereço IP do seu alvo), e RPORT, que especifica a Porta Remota (a porta em que o serviço vulnerável está sendo executado). Para módulos de exploit web, você também precisará frequentemente do TARGETURI, que informa ao Metasploit qual caminho HTTP deve receber a solicitação maliciosa.
Nosso alvo vulnerável está rodando localmente na porta 8080, e o caminho CGI vulnerável é /cgi-bin/vulnerable. Use o comando set para configurar esses parâmetros:
set RHOSTS 127.0.0.1
set RPORT 8080
set TARGETURI /cgi-bin/vulnerable
Após definir os valores, é sempre uma boa ideia verificar se suas alterações foram aplicadas corretamente. Execute o comando de opções novamente:
show options
Agora você deve ver 127.0.0.1 listado em Current Setting para RHOSTS, 8080 para RPORT e /cgi-bin/vulnerable para TARGETURI.
Verificar o Status da Vulnerabilidade (check)
Nesta etapa, você verificará se o alvo está realmente vulnerável antes de lançar um ataque.
O fluxo de trabalho check existe porque a segurança e a confiabilidade são importantes. Confirmar a exposição primeiro reduz ruídos desnecessários, tentativas fracassadas e instabilidade do serviço.
Em testes de penetração profissionais, disparar exploits cegamente pode travar serviços ou acionar alertas de segurança. Felizmente, muitos módulos do Metasploit (incluindo o que estamos usando) suportam o comando check.
O comando check envia uma sonda ao alvo para determinar se a vulnerabilidade existe, sem lançar imediatamente um payload de exploit completo.
Execute o seguinte comando no seu prompt do Metasploit:
check
Neste laboratório, o alvo Shellshock é intencionalmente vulnerável, então você deve ver uma saída semelhante a esta:
[+] 127.0.0.1:8080 - The target is vulnerable.
Isso confirma que o alvo é suscetível ao módulo. Você concluiu agora o fluxo de trabalho principal do módulo de exploit: pesquisar o módulo correto, ler sua documentação, configurar as opções necessárias e validar o alvo antes da exploração.
Se você quiser uma confirmação manual extra fora do Metasploit, pode testar o serviço a partir de outro terminal com curl http://127.0.0.1:8080 e verificar se o caminho CGI existe em http://127.0.0.1:8080/cgi-bin/vulnerable.
Como concluímos nosso objetivo de entender a metodologia do módulo, você pode sair do console do Metasploit:
exit
Resumo
Parabéns! Você concluiu com sucesso o laboratório de Compreensão de Módulos de Exploit.
Neste laboratório, você aprendeu a metodologia fundamental para armar vulnerabilidades usando o Metasploit Framework. Você praticou a busca por um exploit real do Shellshock, analisou descrições e requisitos de módulos, configurou opções de alvo remoto como RHOSTS, RPORT e TARGETURI, e utilizou a funcionalidade check integrada para verificar com segurança um alvo vulnerável. Essas etapas formam o fluxo de trabalho central para qualquer testador de penetração que trabalhe com módulos de exploit.



