Se o Nmap é a ferramenta soberana do scanning, o Metasploit Framework é a da exploração. Criado por HD Moore e hoje mantido pela Rapid7, ele é uma plataforma que reúne milhares de exploits, payloads e ferramentas auxiliares numa interface padronizada, transformando a exploração — que exigiria adaptar código manualmente para cada alvo — num processo estruturado e repetível. Esta aula ensina a arquitetura e o fluxo de trabalho do Metasploit; a próxima aprofunda payloads e o Meterpreter. Tudo praticado contra a Metasploitable, que foi literalmente criada para isto.
A arquitetura modular
Antes de qualquer comando, entenda a arquitetura modular do Metasploit, porque é ela que organiza tudo. O framework é composto de módulos de tipos distintos, e saber o que cada um faz é entender a ferramenta: os exploits (o código que abusa de uma vulnerabilidade específica); os payloads (o que executa após o exploit ter sucesso — shells, Meterpreter); os auxiliaries (ferramentas que não exploram, mas auxiliam — scanners, fuzzers, enumeradores); os encoders (que codificam payloads para evadir detecção, aula Evasão de antivírus: a corrida contra a detecção por assinatura); os post (módulos de pós-exploração, executados após obter acesso); e os nops (usados em exploração de baixo nível). Essa modularidade é o que dá poder e flexibilidade: você combina um exploit com o payload da sua escolha, encaixando as peças conforme a necessidade.
O msfconsole e o ciclo de cinco passos
A interface principal é o msfconsole, um terminal interativo. O fluxo de trabalho básico segue sempre a mesma lógica de cinco passos, que você vai internalizar até fazer no automático:
msfconsole # inicia o console
search vsftpd # 1. PROCURA um módulo (ex.: para o serviço que você enumerou)
use exploit/unix/ftp/vsftpd_234_backdoor # 2. SELECIONA o módulo a usar
show options # 3. VÊ os parâmetros que precisa configurar
set RHOSTS 192.168.1.10 # 4. CONFIGURA os parâmetros (RHOSTS = alvo)
set RPORT 21
exploit # 5. EXECUTA (ou "run")
Da enumeração ao módulo certo
Esse ciclo — search → use → options → set → exploit — é a espinha dorsal do trabalho no Metasploit. Repare na conexão direta com o Bloco VI: você enumerou "vsftpd 2.3.4" na Metasploitable, pesquisou e descobriu que essa versão tem uma backdoor conhecida, e agora usa o módulo correspondente. A enumeração alimentou a exploração; o Metasploit é o executor. Os parâmetros mais comuns que você configura: RHOSTS (o host alvo, "remote host"), RPORT (a porta), LHOST (seu host, "local host" — para onde um reverse shell deve conectar) e LPORT (sua porta de escuta). O show options sempre te diz o que aquele módulo específico precisa.
Importar o XML do Nmap
Um recurso que amarra o fluxo de trabalho inteiro e demonstra a integração das ferramentas: o Metasploit importa os resultados do Nmap. Lembra do nmap -oX (saída XML) da aula Nmap básico: o canivete suíço do scanning? Você pode importar esse XML para dentro do Metasploit com db_import, e ele passa a conhecer todos os hosts e serviços que você escaneou, permitindo até rodar o próprio Nmap de dentro do console (db_nmap). Isso encadeia seu fluxo: escaneia → importa → o Metasploit já sabe os alvos e serviços → você seleciona exploits para o que foi encontrado. É a materialização do princípio de que as fases se conectam num pipeline coeso, não em passos isolados.
Os módulos auxiliary subestimados
Além dos exploits, os módulos auxiliary são subestimados e valiosíssimos, e vale conhecê-los cedo. Eles fazem enumeração e verificação sem explorar: há scanners de SMB, de SSH, de serviços diversos, verificadores de vulnerabilidade, ferramentas de login (força bruta integrada). Por exemplo, você pode usar um auxiliary para verificar se um alvo é vulnerável ao EternalBlue antes de disparar o exploit (use auxiliary/scanner/smb/smb_ms17_010). Muitos módulos de exploit têm um comando check que testa se o alvo é vulnerável sem realmente explorá-lo — uma prática profissional prudente: confirme a vulnerabilidade antes de disparar o exploit, reduzindo o risco de rodar algo que pode derrubar o serviço.
O risco do apertador de botões
Um ponto de maturidade profissional sobre o Metasploit: ele é poderoso justamente porque abstrai a complexidade — e essa é sua força e seu risco. A força é a eficiência: você explora em minutos o que levaria horas manualmente. O risco é criar dependência sem compreensão — o "apertador de botões" que roda módulos sem saber o que fazem. Por isso o princípio do curso vale especialmente aqui: use o Metasploit para eficiência, mas entenda o que cada módulo faz por baixo. Aliás, um bom exercício, alinhado ao "manual antes da ferramenta", é explorar uma mesma vulnerabilidade das duas formas — manualmente e via Metasploit — para ver o que a ferramenta automatiza. Certificações como a OSCP inclusive limitam o uso do Metasploit justamente para forçar essa compreensão profunda.
O Blue Team também usa
Do lado defensivo, o Metasploit é uma faca de dois gumes que o Blue Team também usa: para validar se suas vulnerabilidades são realmente exploráveis, para testar suas detecções (rodar um exploit e ver se o SIEM alerta), e para treinar. E, como toda ferramenta ofensiva popular, seus exploits e payloads têm assinaturas conhecidas que produtos de segurança detectam — o que motiva as técnicas de evasão do Bloco X. Reconhecer a assinatura de um payload Metasploit nos logs é habilidade comum de defensor.
Fontes e leituras recomendadas
- Metasploit: The Penetration Tester's Guide — Kennedy et al. (o livro definitivo)
- Rapid7 Metasploit — documentação oficial e Metasploit Unleashed (curso gratuito da Offensive Security)
- Metasploitable 2/3 — o alvo desenhado para praticar o framework
- TryHackMe — trilha de Metasploit para prática guiada
Exercícios
-
Cite quatro tipos de módulos do Metasploit e o papel de cada um.
✓ Resposta:Exploits (código que abusa de uma vulnerabilidade), payloads (o que executa após o sucesso do exploit — shells, Meterpreter), auxiliaries (ferramentas que não exploram — scanners, enumeradores, força bruta), encoders (codificam payloads para evadir detecção), post (módulos de pós-exploração) e nops. (Quatro quaisquer.)
-
Descreva o fluxo de trabalho de cinco passos no msfconsole, do search ao exploit.
✓ Resposta:search (procura um módulo adequado ao serviço/vulnerabilidade), use (seleciona o módulo), show options (vê os parâmetros necessários), set (configura os parâmetros, como RHOSTS) e exploit/run (executa).
-
O que significam os parâmetros RHOSTS, LHOST e LPORT, e por que o LHOST é necessário num reverse shell?
✓ Resposta:RHOSTS é o host alvo (remote host); LHOST é o host do atacante (local host); LPORT é a porta de escuta do atacante. O LHOST é necessário num reverse shell porque é o endereço para o qual a máquina comprometida deve conectar de volta.
-
Como o Metasploit se integra ao Nmap, e por que isso encadeia o fluxo de trabalho do pentest?
✓ Resposta:O Metasploit importa a saída XML do Nmap (
db_import) ou roda o Nmap internamente (db_nmap), passando a conhecer os hosts e serviços escaneados. Isso encadeia o fluxo porque a enumeração alimenta diretamente a seleção de exploits, integrando scanning e exploração num pipeline coeso. -
Por que o comando
check(ou um auxiliary de verificação) é uma prática prudente antes de disparar um exploit?✓ Resposta:Porque confirma se o alvo é realmente vulnerável sem efetivamente explorá-lo, reduzindo o risco de disparar um exploit instável que poderia derrubar o serviço — uma verificação prudente antes de uma ação intrusiva.