NMAP
O Nmap (Network Mapper) é uma das ferramentas mais populares e poderosas de varredura e auditoria de redes. Ele é usado tanto por administradores de sistemas quanto por analistas de segurança para mapear redes, identificar dispositivos, serviços e sistemas operacionais, além de detectar vulnerabilidades.
🔍 O que é o Nmap?
-
Nmap é uma ferramenta de linha de comando (com interface gráfica opcional: Zenmap) usada para varredura de portas, detecção de hosts ativos, identificação de sistemas operacionais, e auditorias de segurança.
-
Desenvolvido por Gordon Lyon (Fyodor), o Nmap é open-source e amplamente utilizado em testes de penetração.
🎯 Para que serve o Nmap?
Ele pode ser usado para:
-
Descobrir hosts ativos em uma rede.
-
Verificar quais portas estão abertas e quais serviços estão sendo executados.
-
Tentar identificar o sistema operacional e o uptime do host.
-
Realizar detecção de firewalls, IDS (Intrusion Detection Systems) e IPS (Intrusion Prevention Systems).
-
Auxiliar na evasão de mecanismos de segurança para testes controlados.
🧪 Exemplos práticos de varredura com o Nmap
1. Varredura rápida de portas TCP padrão
nmap 192.168.0.1Faz uma varredura nas 1.000 portas TCP mais comuns.
2. Varredura completa de todas as 65.535 portas TCP
nmap -p- 192.168.0.13. Detecção de sistema operacional e serviços
nmap -A 192.168.0.1Ativa detecção de OS, versão de serviços, script scanning e traceroute.
4. Varredura silenciosa para evitar alertas (evasão de IDS/IPS)
a) Alterar tempo entre pacotes (slow scan)
nmap -T2 192.168.0.1Diminui a velocidade da varredura, dificultando a detecção.
b) Fragmentação de pacotes (IDS evasão clássica)
nmap -f 192.168.0.1Fragmenta os pacotes em partes menores, confundindo IDS mais simples.
c) Spoofando o endereço MAC
nmap --spoof-mac 00:11:22:33:44:55 192.168.0.1Finge ser outro dispositivo de rede.
d) Scan com source port comum (como 53 - DNS)
nmap --source-port 53 192.168.0.1Alguns firewalls permitem portas “confiáveis” como 53, 20, 443 etc.
e) Scan em modo decoy (usando IPs falsos)
nmap -D 192.168.0.100,192.168.0.200,ME 192.168.0.1Confunde o IDS usando IPs falsos junto com o seu.
f) Scan Idle (com host zumbi)
nmap -sI 192.168.0.99 192.168.0.1Usando um host “zumbi” para evitar exposição do seu próprio IP.
⚠️ Aviso de ética e legalidade
Ferramentas como o Nmap são extremamente úteis, mas também podem ser perigosas se usadas sem autorização. Usar o Nmap para escanear redes ou sistemas sem permissão é ilegal e pode resultar em sérias consequências legais.
🧠 O que é --script?
A opção --script do Nmap ativa os Nmap Scripting Engine (NSE) scripts, que são scripts poderosos escritos em Lua para realizar varreduras mais avançadas — desde detecção de vulnerabilidades até autenticação em serviços e enumeração de usuários.
-
O NSE permite executar scripts customizados em fases específicas do scan.
-
Os scripts estão organizados em categorias, como:
-
auth: scripts de autenticação. -
vuln: scripts de detecção de vulnerabilidades. -
default: scripts executados com a opção-sC. -
safe: considerados seguros para uso regular. -
intrusive: scripts que podem causar impacto.
-
🔧 Sintaxe básica
nmap --script=<nome_do_script> <alvo>Você também pode usar categorias ou expressões:
nmap --script=vuln 192.168.0.1🧪 Exemplos práticos com --script
1. Scan com scripts padrão
nmap -sC 192.168.0.1Equivalente a
--script=default.
2. Enumeração de usuários em SMB
nmap -p 445 --script=smb-enum-users 192.168.0.13. Detecção de vulnerabilidades comuns
nmap --script=vuln 192.168.0.1Roda todos os scripts da categoria
vuln, comosmb-vuln-ms17-010.
4. Verificar se o alvo é vulnerável à Shellshock
nmap --script=http-shellshock --script-args uri=/cgi-bin/test.cgi 192.168.0.15. Detectar diretórios ocultos em um servidor web
nmap -p 80 --script=http-enum 192.168.0.16. Explorar backdoor no MySQL
nmap -p 3306 --script=mysql-empty-password 192.168.0.17. Verificar serviços com SSL fraco
nmap --script=ssl-enum-ciphers -p 443 192.168.0.18. Buscar informações DNS de um alvo
nmap --script=dns-brute 192.168.0.1🔍 Como listar todos os scripts disponíveis?
ls /usr/share/nmap/scripts/Ou use:
nmap --script-help=defaultOu para ver detalhes de um script específico:
nmap --script-help=http-enum💡 Dica avançada: Rodar múltiplos scripts com filtros
nmap --script="(default or intrusive) and not dos" 192.168.0.1Executa scripts padrão ou intrusivos, mas exclui os que causam negação de serviço (DoS).