Introdução
Neste laboratório, você aprenderá como integrar as poderosas capacidades de escaneamento de rede do Nmap com o Metasploit Framework. Embora o Metasploit possua seus próprios recursos de escaneamento integrados, muitas vezes é necessário importar resultados de ferramentas externas como o Nmap. Este é um fluxo de trabalho comum em testes de penetração, pois permite centralizar todos os seus dados de reconhecimento dentro do banco de dados do Metasploit.
Ao importar resultados de escaneamento do Nmap, você pode aproveitar os recursos de gerenciamento de dados e exploração do Metasploit nos hosts e serviços descobertos pelo Nmap. Você realizará um escaneamento Nmap, salvará a saída em um arquivo XML e, em seguida, usará o comando db_import dentro do console do Metasploit para popular seu banco de dados.
Executar um escaneamento Nmap fora do Metasploit salvando em XML
Nesta etapa, você realizará um escaneamento Nmap básico e salvará seus resultados em um arquivo XML. O formato XML é ideal para importar em outras ferramentas porque é estruturado e fácil de analisar. Escanearemos localhost para identificar serviços em execução e suas versões.
Primeiro, certifique-se de estar no diretório padrão do projeto, /home/labex/project.
Execute o seguinte comando nmap no seu terminal. Aqui está uma descrição das opções:
-sV: Sonda as portas abertas para determinar informações de serviço/versão.-oX nmap_scan.xml: Saída dos resultados do escaneamento no formato XML para um arquivo chamadonmap_scan.xml.localhost: O alvo do nosso escaneamento.
nmap -sV -oX nmap_scan.xml localhost
Após a conclusão do escaneamento, você verá uma saída semelhante à seguinte, resumindo os resultados. As portas abertas exatas podem variar.
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00010s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (Ubuntu Linux; protocol 2.0)
...
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.43 seconds
Este comando cria um arquivo chamado nmap_scan.xml no seu diretório atual (~/project).
Usar o comando db_import no msfconsole
Nesta etapa, você iniciará o console do Metasploit Framework. msfconsole é a interface principal para interagir com o Metasploit, permitindo acessar seus módulos, gerenciar dados e lançar ataques.
Iniciaremos o msfconsole com o flag -q (quiet) para suprimir o banner de inicialização e obter uma interface mais limpa. A conexão com o banco de dados será estabelecida automaticamente.
Execute o seguinte comando para iniciar o console do Metasploit:
msfconsole -q
Após alguns instantes, o prompt do seu terminal mudará para msf6 >, indicando que você está agora dentro do console do Metasploit.
msf6 >
Dentro do msfconsole, você tem acesso a muitos comandos para gerenciar seu fluxo de trabalho de testes de penetração. Um deles é o db_import, que usaremos na próxima etapa para carregar nossos dados de escaneamento Nmap.
Especificar o caminho para o arquivo XML do Nmap
Agora que você está dentro do console do Metasploit, pode importar os resultados do escaneamento Nmap. O comando db_import é usado para este propósito. Você precisa fornecer o caminho completo para o arquivo XML que você criou na primeira etapa.
Como você criou o arquivo em /home/labex/project, usará esse caminho.
Execute o comando db_import dentro do prompt do msfconsole:
db_import /home/labex/project/nmap_scan.xml
O Metasploit analisará o arquivo XML e importará os dados para seu banco de dados. Você deverá ver uma saída confirmando que os dados estão sendo importados.
msf6 > db_import /home/labex/project/nmap_scan.xml
[*] Importing 'Nmap XML' data from /home/labex/project/nmap_scan.xml
[*] Importing host 127.0.0.1
[*] Successfully imported /home/labex/project/nmap_scan.xml
Esta mensagem confirma que os hosts, portas e serviços do seu escaneamento Nmap agora estão armazenados no banco de dados do Metasploit.
Verificar hosts importados usando o comando hosts
Nesta etapa, você verificará se as informações do host foram importadas com sucesso para o banco de dados do Metasploit. O comando hosts no msfconsole lista todos os hosts que o Metasploit conhece no workspace atual.
Após importar os dados do escaneamento, executar o comando hosts deve exibir o alvo que você escaneou, que foi localhost (127.0.0.1).
Dentro do prompt do msfconsole, digite o comando hosts e pressione Enter:
hosts
A saída será uma tabela listando os hosts no banco de dados, incluindo seu endereço IP, endereço MAC (se disponível), nome e sistema operacional.
msf6 > hosts
Hosts
=====
address mac name os_name os_flavor os_sp purpose info comments
------- --- ---- ------- --------- ----- ------- ---- --------
127.0.0.1 localhost Ubuntu Linux Linux device
Ver 127.0.0.1 na lista confirma que os dados do host do seu escaneamento Nmap foram adicionados corretamente ao banco de dados.
Consultar os serviços importados usando o comando services
Nesta etapa final, você inspecionará os serviços que foram descobertos no host importado. O comando services no msfconsole lista todas as portas abertas e serviços em execução que foram adicionados ao banco de dados. Isso é crucial para identificar potenciais vetores de ataque.
Execute o comando services dentro do prompt do msfconsole:
services
Isso exibirá uma tabela detalhada de todos os serviços, incluindo o host em que estão sendo executados, a porta, o protocolo, o nome do serviço e informações de versão.
msf6 > services
Services
========
host port proto name state info
---- ---- ----- ---- ----- ----
127.0.0.1 22 tcp ssh open OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (Ubuntu Linux; protocol 2.0)
Esta saída mostra os serviços específicos encontrados pelo Nmap, agora organizados de forma organizada dentro do Metasploit. Você pode agora usar essas informações para procurar exploits relevantes ou módulos auxiliares dentro do framework.
Para sair do console do Metasploit, basta digitar exit.
exit
Resumo
Neste laboratório, você aprendeu com sucesso um fluxo de trabalho fundamental para integrar ferramentas externas com o Metasploit Framework.
Você aprendeu como:
- Executar um escaneamento Nmap com detecção de versão e salvar os resultados em um arquivo XML.
- Iniciar o console Metasploit e usar o comando
db_importpara carregar os dados do escaneamento Nmap. - Verificar os dados importados usando o comando
hostspara visualizar os hosts descobertos. - Consultar o banco de dados para obter informações detalhadas de serviços usando o comando
services.
Este processo de importação de dados de escaneamento é essencial para o gerenciamento eficaz de dados durante um teste de penetração, permitindo que você consolide informações de várias fontes em uma única e poderosa plataforma para análise e exploração.


