Coleta de Informações e Módulos Auxiliares

CibersegurançaBeginner
Pratique Agora

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.