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!
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
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.
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.
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.
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
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.