Introdução
Bem-vindo ao laboratório de Coleta de Informações e Módulos Auxiliares!
Quando a maioria das pessoas pensa no Metasploit Framework, elas pensam imediatamente em exploração — lançar payloads para comprometer sistemas vulneráveis. No entanto, o Metasploit também é uma ferramenta poderosa para as fases de reconhecimento e coleta de informações em um teste de penetração.
O Metasploit possui uma categoria de módulos conhecidos como Módulos Auxiliares (Auxiliary modules). Ao contrário dos módulos de exploit, os módulos auxiliares não executam um payload no sistema alvo. Em vez disso, eles são projetados para realizar tarefas como varredura de portas, identificação de serviços, fuzzing e verificação de vulnerabilidades.
Essa distinção é importante porque reforça que a exploração é apenas uma etapa de um compromisso. Um bom trabalho ofensivo também depende de reconhecimento, enumeração e validação estruturados.
Neste laboratório, você aprenderá a navegar no console do Metasploit, pesquisar módulos auxiliares específicos, configurar seus parâmetros, executar varreduras de rede contra um alvo local e visualizar os resultados armazenados automaticamente no banco de dados do Metasploit.
Pesquisar Módulos Auxiliares
Nesta etapa, você iniciará o console do Metasploit Framework e aprenderá a pesquisar módulos auxiliares.
O Metasploit contém milhares de módulos. Para encontrar o que você precisa, você pode usar o comando integrado search. O comando de busca permite filtrar por tipo de módulo, nome, plataforma e muito mais.
Primeiro, abra seu terminal e inicie o console do Metasploit. Usaremos a flag -q para iniciá-lo no modo "quiet" (silencioso), que pula o grande banner de arte ASCII e inicia o console mais rapidamente.
Pesquisar bem é uma habilidade prática no Metasploit. O framework é grande demais para ser navegado manualmente todas as vezes, portanto, aprender a restringir o conjunto de módulos faz parte de usá-lo de forma eficaz.
Digite o seguinte comando no seu terminal:
msfconsole -q
Você verá o prompt do Metasploit aparecer, que se parece com msf6 >. Isso indica que você está agora dentro do shell interativo do Metasploit. Se esta for a primeira vez que você inicia o Metasploit no ambiente atual, ele pode perguntar brevemente se você deseja configurar um novo banco de dados. Responda yes e aguarde a conclusão da inicialização.
Em seguida, vamos pesquisar um módulo que possa realizar uma varredura básica de portas TCP. Uma pesquisa simples por palavra-chave é mais confiável entre as versões do Metasploit do que usar vários filtros de pesquisa.
Execute o seguinte comando dentro do console do Metasploit:
search portscan
Você deverá ver uma saída semelhante a esta:
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/scanner/portscan/ack normal No TCP ACK Firewall Scanner
1 auxiliary/scanner/portscan/ftpbounce normal No FTP Bounce Port Scanner
2 auxiliary/scanner/portscan/syn normal No TCP SYN Port Scanner
3 auxiliary/scanner/portscan/tcp normal No TCP Port Scanner
4 auxiliary/scanner/portscan/xmas normal No TCP "XMas" Port Scanner
Os resultados da pesquisa exibem uma lista de módulos correspondentes. Cada módulo tem um caminho específico (por exemplo, auxiliary/scanner/portscan/tcp), uma classificação (rank) e uma breve descrição. Na próxima etapa, selecionaremos um desses módulos para usar.
Configurar Parâmetros do Alvo (RHOSTS)
Nesta etapa, você selecionará um módulo específico de varredura de portas e configurará suas definições.
Para informar ao Metasploit com qual módulo você deseja trabalhar, use o comando use seguido pelo caminho do módulo. Usaremos o scanner de portas TCP padrão.
Execute o seguinte comando no seu console do Metasploit:
use auxiliary/scanner/portscan/tcp
Observe que seu prompt muda para msf6 auxiliary(scanner/portscan/tcp) >. Isso indica que o módulo está agora ativo.
Antes de executar um módulo, você deve configurar seus parâmetros. Você pode visualizar todos os parâmetros disponíveis para o módulo atual usando o comando show options:
show options
A saída exibirá uma tabela de opções. Preste atenção na coluna Required. Qualquer opção marcada como yes deve ter um valor antes que o módulo possa ser executado.
Module options (auxiliary/scanner/portscan/tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
CONCURRENCY 10 yes The number of concurrent ports to check per host
DELAY 0 yes The delay between connections, per thread, in milliseconds
JITTER 0 yes The delay jitter factor (maximum value by which to +/- DELAY) in milliseconds.
PORTS 1-10000 yes Ports to scan (e.g. 22-25,80,110-900)
RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
THREADS 1 yes The number of concurrent threads (max one per host)
TIMEOUT 1000 yes The socket connect timeout in milliseconds
A configuração mais importante é RHOSTS (Remote Hosts), que especifica o endereço IP ou intervalo de rede do alvo. Para este laboratório, faremos a varredura em nossa própria máquina local, que hospeda vários serviços.
Defina o endereço IP do alvo como 127.0.0.1 (localhost) usando o comando set:
set RHOSTS 127.0.0.1
Por padrão, este módulo verifica portas de 1 a 10000. Para que nossa varredura termine rapidamente, vamos restringir a varredura a algumas portas específicas onde sabemos que serviços devem estar em execução nesta configuração de laboratório: FTP na 21, HTTP na 80 e PostgreSQL na 5432.
Defina a opção PORTS para verificar apenas essas portas específicas:
set PORTS 21,80,5432
Você pode executar show options novamente para verificar se suas configurações foram aplicadas corretamente.
Executar Varreduras e Armazenar Resultados
Nesta etapa, você executará a varredura de portas configurada.
Uma vez que a varredura é executada no Metasploit, o valor não é apenas a saída imediata. O valor também reside no fato de que as descobertas se tornam parte do banco de dados e podem alimentar módulos e decisões futuras.
Uma das maiores vantagens de usar o Metasploit para coleta de informações é sua integração nativa com banco de dados. Quando um banco de dados está conectado, o Metasploit armazena automaticamente os resultados de suas varreduras, mantendo seus dados de reconhecimento organizados.
Primeiro, vamos verificar se o Metasploit está conectado ao seu banco de dados PostgreSQL. Execute o seguinte comando:
db_status
Você deve ver uma saída confirmando a conexão, como:
[*] Connected to msf. Connection type: postgresql.
Agora que confirmamos que o banco de dados está ativo e as opções do nosso módulo estão configuradas, é hora de iniciar a varredura. Você pode iniciar o módulo digitando run ou exploit. Para módulos auxiliares, run é a convenção padrão.
Execute a varredura:
run
O Metasploit tentará agora se conectar às portas especificadas no endereço IP do alvo. Como limitamos a varredura a três portas, ela deve ser concluída quase instantaneamente.
Você verá uma saída semelhante à seguinte, indicando quais portas estão abertas:
[+] 127.0.0.1 - 127.0.0.1:21 - TCP OPEN
[+] 127.0.0.1 - 127.0.0.1:80 - TCP OPEN
[+] 127.0.0.1 - 127.0.0.1:5432 - TCP OPEN
[*] 127.0.0.1: - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
O símbolo [+] indica uma descoberta bem-sucedida (uma porta aberta). Nos bastidores, o Metasploit pegou essas informações e as salvou diretamente em seu banco de dados.
Visualizar Hosts e Serviços no Banco de Dados
Nesta etapa final, você aprenderá como recuperar e visualizar as informações que o Metasploit salvou automaticamente em seu banco de dados durante a varredura.
Ao gerenciar um teste de penetração de grande escala, você pode verificar dezenas de redes e centenas de hosts. Lembrar de cada porta aberta é impossível, e é por isso que os comandos de banco de dados são incrivelmente úteis.
Para visualizar uma lista de todos os sistemas alvo que o Metasploit descobriu e salvou, use o comando hosts:
hosts
A saída exibirá uma tabela de hosts conhecidos. Você deve ver o endereço IP do localhost que acabamos de verificar:
Hosts
=====
address mac name os_name os_flavor os_sp purpose info comments
------- --- ---- ------- --------- ----- ------- ---- --------
127.0.0.1 Unknown device
Para ver as portas abertas e serviços específicos descobertos nesses hosts, use o comando services:
services
Este comando consulta o banco de dados e lista todas as portas abertas que encontramos durante nossa varredura:
Services
========
host port proto name state info resource parents
---- ---- ----- ---- ----- ---- -------- -------
127.0.0.1 21 tcp open {}
127.0.0.1 80 tcp open {}
127.0.0.1 5432 tcp open {}
Nesta fase, o scanner de portas TCP básico registra que essas portas estão abertas, mas pode não preencher nomes de serviços detalhados ou informações de versão. À medida que você executa módulos auxiliares mais avançados posteriormente, esta tabela pode ser enriquecida com detalhes adicionais.
Você concluiu com sucesso os objetivos do laboratório! Para sair do console do Metasploit e retornar ao seu terminal Linux padrão, digite:
exit
Resumo
Parabéns! Você concluiu com sucesso o laboratório de Coleta de Informações e Módulos Auxiliares.
Neste laboratório, você aprendeu que o Metasploit é um framework versátil que vai muito além da exploração. Você praticou a navegação no console do Metasploit, a pesquisa de módulos auxiliares específicos e a configuração de parâmetros essenciais como RHOSTS e PORTS. Além disso, você executou uma varredura de portas de rede e utilizou a poderosa integração de banco de dados do Metasploit para armazenar e revisar automaticamente seus dados de reconhecimento usando os comandos hosts e services.
Essas habilidades fundamentais são cruciais para organizar seu fluxo de trabalho durante a fase de coleta de informações de qualquer avaliação de segurança.



