Guia de Referência Nmap

Referência completa de comandos para varredura de redes

Da descoberta básica de hosts aos scripts NSE avançados — todos os comandos que você precisa

📅 Atualizado: Dezembro 2024⏱️ 20 min de leitura🔧 Nmap 7.94+

📑 Navegação rápida

Varredura básica Descoberta de hosts Varredura de portas Detecção de serviços Detecção de SO Scripts NSE Formatos de saída Timing e performance Técnicas de evasão

O que é Nmap?

Nmap (Network Mapper) é uma ferramenta gratuita e de código aberto para descoberta de redes e auditoria de segurança. Criado por Gordon Lyon (Fyodor) em 1997, tornou-se o padrão da indústria para varredura de redes, utilizado por profissionais de segurança, administradores de sistemas e testadores de penetração em todo o mundo.

O Nmap usa pacotes IP brutos para determinar hosts disponíveis, serviços, sistemas operacionais, configurações de firewall e dezenas de outras características. Ele roda em todos os principais sistemas operacionais e pacotes oficiais estão disponíveis em nmap.org.

📦 Instalação

Debian/Ubuntu/Kali

sudo apt install nmap

RHEL/CentOS/Fedora

sudo dnf install nmap

macOS (Homebrew)

brew install nmap

Windows

Download em nmap.org/download

🎯 Comandos básicos de varredura

Comando Descrição
nmap <target> Varrer host único (padrão: top 1000 portas)
nmap 192.168.1.1-254 Varrer faixa de IPs
nmap 192.168.1.0/24 Varrer sub-rede inteira (notação CIDR)
nmap -iL targets.txt Varrer alvos de um arquivo
nmap --exclude 192.168.1.1 Excluir hosts específicos da varredura
nmap --excludefile exclude.txt Excluir hosts listados em arquivo

🔎 Descoberta de hosts (varredura ping)

Flag Descrição Exemplo
-sn Somente varredura ping (sem varredura de portas) nmap -sn 192.168.1.0/24
-Pn Pular descoberta de hosts (tratar todos como online) nmap -Pn <target>
-PS Ping TCP SYN nas portas especificadas nmap -PS22,80,443 <target>
-PA Ping TCP ACK nmap -PA80,443 <target>
-PU Ping UDP nmap -PU53 <target>
-PE Ping ICMP echo nmap -PE <target>
-PP Ping ICMP timestamp nmap -PP <target>
-PM Ping ICMP netmask nmap -PM <target>
-PR Ping ARP (somente rede local) nmap -PR 192.168.1.0/24

💡 Dica profissional

Use -sn para varreduras rápidas de rede sem acionar detecção de varredura de portas. Combine com -PR em redes locais para descoberta baseada em ARP mais rápida.

🔌 Técnicas de varredura de portas

Flag Tipo de varredura Descrição
-sS TCP SYN (Stealth) Varredura half-open, rápida e furtiva (requer root)
-sT TCP Connect Conexão TCP completa (não requer root)
-sU Varredura UDP Varrer portas UDP (mais lenta que TCP)
-sA TCP ACK Mapear regras de firewall (filtrado vs não filtrado)
-sW TCP Window Como ACK mas detecta portas abertas via tamanho de janela
-sN TCP Null Nenhuma flag definida (evade alguns firewalls)
-sF TCP FIN Somente flag FIN definida
-sX TCP Xmas Flags FIN, PSH, URG definidas
-sM TCP Maimon Probe FIN/ACK
-sI Idle/Zombie Varredura furtiva usando host zombie

🎚️ Especificação de portas

Flag Descrição Exemplo
-p 80 Varrer porta única nmap -p 80 <target>
-p 80,443,8080 Varrer portas específicas nmap -p 80,443,8080 <target>
-p 1-1000 Varrer faixa de portas nmap -p 1-1000 <target>
-p- Varrer todas as 65535 portas nmap -p- <target>
-p U:53,T:80 Especificar portas UDP e TCP nmap -p U:53,T:80,443 <target>
--top-ports N Varrer as N portas mais comuns nmap --top-ports 100 <target>
-F Varredura rápida (top 100 portas) nmap -F <target>
-r Varrer portas sequencialmente nmap -r <target>

🔍 Detecção de serviços e versões

Flag Descrição
-sV Detectar versões de serviços em portas abertas
--version-intensity 0-9 Definir intensidade da varredura de versão (0=leve, 9=todos os probes)
--version-light Varredura de versão leve (intensidade 2)
--version-all Tentar todos os probes (intensidade 9)
-A Varredura agressiva: -sV -O -sC --traceroute

📋 Exemplo: Detecção completa de serviços

nmap -sV --version-all -p 22,80,443,3306,8080 <target>

💻 Detecção de sistema operacional

Flag Descrição
-O Habilitar detecção de SO
--osscan-limit Tentar detecção de SO apenas em alvos promissores
--osscan-guess Adivinhar SO de forma mais agressiva
--max-os-tries N Limitar tentativas de detecção de SO por alvo

📋 Exemplo: Detecção de SO com adivinhação agressiva

sudo nmap -O --osscan-guess <target>

📜 Nmap Scripting Engine (NSE)

O NSE contém centenas de scripts para detecção de vulnerabilidades, força bruta, descoberta e mais. Os scripts estão localizados em /usr/share/nmap/scripts/ na maioria dos sistemas Linux.

Flag Descrição
-sC Executar scripts padrão (mesmo que --script=default)
--script=<name> Executar script(s) específico(s)
--script=<category> Executar todos os scripts de uma categoria
--script-args=<args> Fornecer argumentos aos scripts
--script-updatedb Atualizar banco de dados de scripts
--script-help=<name> Mostrar ajuda do script

Categorias de scripts

vuln

Detecção de vulnerabilidades

exploit

Exploração ativa

brute

Ataques de força bruta

safe

Scripts não intrusivos

discovery

Descoberta de serviços

auth

Verificações de autenticação

default

Scripts padrão seguros

intrusive

Pode derrubar serviços

Exemplos comuns de scripts NSE

# Varredura de vulnerabilidades
nmap --script vuln <target>

# Enumeração HTTP
nmap --script http-enum -p 80,443 <target>

# Verificação de vulnerabilidades SMB
nmap --script smb-vuln* -p 445 <target>

# Transferência de zona DNS
nmap --script dns-zone-transfer -p 53 <target>

# Força bruta SSH
nmap --script ssh-brute -p 22 <target>

# Análise SSL/TLS
nmap --script ssl-enum-ciphers -p 443 <target>

# Verificação de login anônimo FTP
nmap --script ftp-anon -p 21 <target>

# Enumeração MySQL
nmap --script mysql-info -p 3306 <target>

⚡ Timing e performance

Templates de timing

Flag Nome Caso de uso
-T0 Paranoid Evasão de IDS, extremamente lento
-T1 Sneaky Evasão de IDS, lento
-T2 Polite Reduzir carga de rede
-T3 Normal Timing padrão
-T4 Aggressive Varredura rápida em redes confiáveis
-T5 Insane Muito rápido, pode perder portas

Controles de timing refinados

Flag Descrição
--min-rate N Enviar pelo menos N pacotes por segundo
--max-rate N Enviar no máximo N pacotes por segundo
--min-parallelism N Número mínimo de probes paralelos
--max-parallelism N Número máximo de probes paralelos
--min-hostgroup N Mínimo de hosts para varrer em paralelo
--max-hostgroup N Máximo de hosts para varrer em paralelo
--max-retries N Limitar retransmissões de probes de portas
--host-timeout TIME Desistir do host após este tempo
--scan-delay TIME Aguardar entre probes

📄 Formatos de saída

Flag Formato Descrição
-oN file.txt Normal Saída legível por humanos
-oX file.xml XML XML legível por máquina
-oG file.gnmap Grepable Fácil de usar grep e parsear
-oS file.txt Script Kiddie Saída em L33t speak (para diversão)
-oA basename Todos os formatos Saída em todos os formatos (.nmap, .xml, .gnmap)

💡 Dica profissional

Sempre use -oA para salvar resultados em todos os formatos. Isso dá flexibilidade para relatórios (normal), automação (XML) e buscas rápidas (grepable).

Verbosidade e debugging

-v / -vv / -vvv Aumentar nível de verbosidade
-d / -dd Aumentar nível de debugging
--reason Mostrar razão para estado da porta
--open Mostrar apenas portas abertas
--packet-trace Mostrar todos os pacotes enviados e recebidos

🛡️ Evasão de firewall e IDS

Flag Descrição
-f Fragmentar pacotes (8 bytes por fragmento)
--mtu N Definir MTU personalizado (deve ser múltiplo de 8)
-D decoy1,decoy2,ME Usar endereços decoy (ME = seu IP real)
-S <spoofed_ip> Spoofar endereço de origem
-g <port> Usar porta de origem específica
--source-port <port> Mesmo que -g
--data-length N Anexar dados aleatórios aos pacotes
--randomize-hosts Randomizar ordem dos hosts alvo
--spoof-mac <mac> Spoofar endereço MAC (0 para aleatório)
--badsum Enviar pacotes com checksums incorretos

📋 Exemplo: Varredura com evasão

nmap -f -D RND:5 --source-port 53 --data-length 50 -T2 <target>

🔥 Combinações comuns de varredura

# Varredura rápida de rede
nmap -sn 192.168.1.0/24

# Varredura padrão de serviços
nmap -sV -sC -p- <target>

# Varredura completa (serviços + SO + scripts)
nmap -A -T4 <target>

# Varredura rápida das principais portas
nmap -F -T4 <target>

# Varredura stealth com detecção de serviços
nmap -sS -sV -O -T4 <target>

# Varredura UDP das portas comuns
sudo nmap -sU --top-ports 20 <target>

# Varredura de vulnerabilidades
nmap --script vuln -sV <target>

# Enumeração de servidor web
nmap -sV --script=http-enum,http-headers,http-methods -p 80,443,8080 <target>

# Varredura TCP + UDP completa com todas as informações (lenta mas completa)
sudo nmap -sS -sU -sV -O -sC -p- -T4 -oA fullscan <target>

# Varredura com evasão de firewall
nmap -sS -T2 -f -D RND:5 --source-port 53 <target>

⚡ One-liners úteis

# Encontrar hosts ativos e salvar em arquivo
nmap -sn 192.168.1.0/24 -oG - | grep "Up" | cut -d " " -f 2 > live_hosts.txt

# Extrair portas abertas da saída grepable
grep "open" scan.gnmap | cut -d "/" -f 1 | sort -u

# Varrer lista de hosts para porta específica
nmap -iL hosts.txt -p 22 --open -oG - | grep "open"

# Encontrar servidores web na rede
nmap -p 80,443,8080,8443 --open 192.168.1.0/24

# Port knock rápido (verificar se portas estão abertas)
nmap -Pn -p 22,80,443 --open <target>

# Encontrar hosts com serviço específico
nmap -sV -p 3306 192.168.1.0/24 --open

📊 Entendendo os estados das portas

open

Aplicação aceitando conexões ativamente

closed

Porta acessível mas sem aplicação escutando

filtered

Firewall bloqueando, não é possível determinar estado

unfiltered

Acessível, mas open/closed desconhecido (varredura ACK)

open|filtered

Aberta ou filtrada, não é possível determinar (UDP)

closed|filtered

Fechada ou filtrada, não é possível determinar

📚 Recursos adicionais

🎯 Guia de referência Nmap completo!

Você agora tem uma referência completa para a ferramenta de varredura de redes mais poderosa em cibersegurança. Da descoberta básica à evasão avançada, esses comandos são usados diariamente por profissionais de segurança em todo o mundo.

Descoberta de hosts Varredura de portas Detecção de serviços Scripts NSE Evasão

Pronto para varrer seu próximo alvo!

Validação de Conhecimento

Demonstre sua compreensão para ganhar pontos e progredir

1
Pergunta do Capítulo

Qual flag do Nmap é usado para realizar um scan SYN stealth?

1
Ler
2
Validar
3
Concluir

Pronto para acompanhar seu progresso?

Crie uma conta gratuita para salvar seu progresso, ganhar pontos e acessar mais de 170 labs práticos de cibersegurança.

Comece a Aprender Grátis
Junte-se a 5.000+ hackers aprendendo cibersegurança com labs práticos. Criar Conta