Nmap Intermediário P3 - CTF

📌 Introdução

Agora que já dominamos técnicas furtivas e exploração de serviços, vamos focar na automação de escaneamentos e na integração do Nmap com outras ferramentas.

Em ambientes reais, pentesters precisam executar escaneamentos recorrentes e trabalhar com grandes quantidades de dados. Por isso, é essencial automatizar processos e integrar o Nmap com outras ferramentas de segurança.

O que vamos aprender?
✔ Automatizar escaneamentos para grandes redes
✔ Exportar resultados para diferentes formatos (XML, JSON, etc.)
✔ Filtrar e processar saídas do Nmap com comandos Linux
✔ Integrar o Nmap com Metasploit, Nessus e outras ferramentas
✔ Criar scripts personalizados para escaneamentos complexos

Agora, vamos para os desafios!

📌 DESAFIO 1: Escaneando Múltiplos Alvos de Forma Automática

Cenário: Precisamos escanear múltiplos servidores ao mesmo tempo, sem precisar digitar os endereços manualmente.

Comando: nmap -iL targets.txt -oN results.txt

Explicação:
-iL targets.txt → Lê uma lista de alvos de um arquivo chamado targets.txt.
-oN results.txt → Salva a saída do escaneamento em um arquivo de texto.

Exemplo de Arquivo targets.txt:

netcattest.com
192.168.1.1
192.168.1.10
10.0.0.5

📌 DESAFIO 2: Exportando Resultados para XML, JSON e Outros Formatos

Cenário: Precisamos exportar os resultados para análise em outras ferramentas.

Comando: nmap -oX results.xml -oN results.txt -oG results.gnmap netcattest.com

Explicação:
-oX results.xml → Exporta para XML (usado por Nessus, Metasploit, etc.).
-oN results.txt → Salva saída normal em texto.
-oG results.gnmap → Formato Greppable, útil para filtrar com grep.

📌 DESAFIO 3: Filtrando Resultados com Comandos Linux

Cenário: Temos um arquivo grande de escaneamento e queremos filtrar apenas portas abertas.

Comando: cat results.txt | grep "open"

Explicação:
cat results.txt → Exibe o conteúdo do arquivo.
| grep "open" → Filtra apenas linhas contendo open, mostrando portas abertas.

📌 DESAFIO 4: Integração do Nmap com Metasploit

Cenário: Queremos importar resultados do Nmap para o Metasploit e iniciar testes de exploração.

Comando no Metasploit:

msfconsole
db_connect msf_user:[email protected]/msf_database
db_connect msf_user:[email protected]/msf_database
db_nmap -sV netcattest.com
services

Explicação:
1️⃣ msfconsole → Inicia o Metasploit.
2️⃣ db_connect msf_user:[email protected]/msf_database → Conexão de teste (falha).
3️⃣ db_connect msf_user:[email protected]/msf_database → Conexão bem-sucedida.
4️⃣ db_nmap -sV netcattest.com → Executa um escaneamento direto dentro do Metasploit.
5️⃣ services → Mostra os serviços identificados e prontos para exploração.

📌 DESAFIO 5: Integração do Nmap com Nessus para Análise de Vulnerabilidades

Cenário: Queremos importar os resultados do Nmap para o Nessus e fazer uma análise de vulnerabilidades mais detalhada.

Comando: nmap -sV --script=vulners -oX results.xml netcattest.com

Explicação:
--script=vulners → Executa um scan de vulnerabilidades baseado em CVEs.
-oX results.xml → Exporta para XML, pronto para importação no Nessus.

Importação no Nessus:
1️⃣ Abra o Nessus
2️⃣ Vá em Scans → New Scan → Import Results
3️⃣ Carregue o arquivo results.xml
4️⃣ Analise as vulnerabilidades encontradas

📌 DESAFIO 6: Criando um Script Personalizado para Escaneamentos

Cenário: Queremos um script Nmap personalizado para escanear redes automaticamente.

Criando o Script scan_network.sh:

#!/bin/bash
echo "Iniciando escaneamento..."
nmap -sS -p 22,80,443 -iL targets.txt -oN results.txt
echo "Escaneamento finalizado! Resultados salvos em results.txt"
    

Tornando o Script Executável:

chmod +x scan_network.sh
./scan_network.sh

Explicação:
1️⃣ #!/bin/bash → Define que o script será executado no terminal.
2️⃣ nmap -sS -p 22,80,443 -iL targets.txt -oN results.txt → Executa o escaneamento em vários alvos.
3️⃣ echo → Exibe mensagens antes e depois do escaneamento.