Varreduras Básicas
Alvos de Varredura
nmap 192.168.1.1 # single host nmap 192.168.1.0/24 # entire subnet nmap 192.168.1.1-50 # IP range nmap -iL targets.txt # hosts from file
Especificação de Alvos
192.168.1.1Endereço IP único
192.168.1.0/24Notação CIDR (256 hosts)
192.168.1.1-254Intervalo de IPs
example.comHostname (resolvido para IP)
-iL file.txtLer alvos de arquivo
--exclude 192.168.1.1Excluir hosts específicos
--excludefile skip.txtExcluir hosts de arquivo
Varredura de Portas
Tipos de Varredura
-sSVarredura TCP SYN (padrão, discreta, requer root)
-sTVarredura TCP connect (handshake completo, sem root)
-sUVarredura UDP (lenta, frequentemente filtrada)
-sAVarredura TCP ACK (detectar firewalls)
-sNVarredura TCP NULL (sem flags)
-sFVarredura TCP FIN (apenas flag FIN)
-sXVarredura Xmas (flags FIN+PSH+URG)
Seleção de Portas
nmap -p 80,443 target # specific ports nmap -p 1-1000 target # port range nmap -p- target # all 65535 ports nmap --top-ports 100 target # most common 100 ports
Estados de Porta
openAplicação aceitando conexões
closedPorta acessível mas sem serviço ativo
filteredFirewall bloqueando, estado indeterminado
unfilteredPorta acessível, estado desconhecido
open|filteredNão é possível determinar se aberta ou filtrada
Descoberta de Hosts
Métodos de Descoberta
-snApenas ping (sem varredura de portas)
-PnPular descoberta de host (tratar todos como ativos)
-PS 80,443Descoberta TCP SYN em portas
-PA 80Descoberta TCP ACK
-PU 53Descoberta UDP
-PERequisição echo ICMP
-PRDescoberta ARP (rede local)
Varredura de Rede
nmap -sn 192.168.1.0/24 # ping sweep subnet nmap -sn -n 10.0.0.0/24 # sweep, skip DNS nmap -sn -PR 192.168.1.0/24 # ARP scan (fastest)
Detecção de Serviços
Detecção de Versão
nmap -sV target # detect service versions nmap -sV --version-intensity 5 target # deeper probing nmap -sV --version-all target # try every probe (slow) nmap -A target # OS + version + scripts + traceroute
Flags de Serviço
-sVVerificar portas abertas para serviço/versão
--version-intensity 0-9Intensidade de sondagem (padrão 7)
--version-lightSondagem leve (intensidade 2)
--version-allTentar todas as sondas (intensidade 9)
-AAgressivo: -sV -O --script=default -traceroute
-sCExecutar scripts NSE padrão
Detecção de Sistema Operacional
Fingerprinting de SO
nmap -O target # OS detection (needs root) nmap -O --osscan-limit target # only scan promising hosts nmap -O --osscan-guess target # aggressive OS guessing nmap -A target # includes OS detection
Flags de Detecção de SO
-OHabilitar detecção de SO
--osscan-limitIgnorar hosts sem portas TCP abertas+fechadas
--osscan-guessEstimar SO com mais agressividade
--max-os-tries NMáximo de tentativas de detecção de SO por host
Scripts (NSE)
Uso de Scripts
nmap --script=default target # default category nmap --script=vuln target # vulnerability scripts nmap --script=http-headers target nmap --script="http-*" target # wildcard match
Categorias de Scripts
defaultScripts seguros e úteis (atalho -sC)
vulnVerificar vulnerabilidades conhecidas
safeScripts não intrusivos
intrusivePodem travar alvos ou acionar IDS
discoveryDescoberta de rede e serviços
authVerificações relacionadas a autenticação
bruteTeste de credenciais por força bruta
exploitTentativas de exploração ativa
Scripts Úteis
http-titleCapturar títulos de páginas web
ssl-certExibir detalhes do certificado SSL
ssh-hostkeyExibir fingerprints de chaves do host SSH
dns-bruteEnumerar subdomínios DNS
smb-os-discoveryDetectar SO Windows via SMB
vulnExecutar todas as verificações de vulnerabilidade
Formatos de Saída
Opções de Saída
nmap -oN scan.txt target # normal text output nmap -oX scan.xml target # XML output nmap -oG scan.gnmap target # grepable output nmap -oA scan_all target # all formats at once
Flags de Saída
-oN fileSaída normal para arquivo
-oX fileSaída XML (para ferramentas/parsing)
-oG fileSaída grepável (um host por linha)
-oA basenameTodos os três formatos (basename.nmap/xml/gnmap)
-vAumentar verbosidade (-vv para mais)
-dSaída de debug (-dd para mais)
--openMostrar apenas portas abertas
--reasonMostrar motivo do estado da porta
Tempo e Desempenho
Templates de Temporização
-T0 (paranoid)Muito lento, evasão de IDS (5 min entre sondas)
-T1 (sneaky)Lento, evasão de IDS (15 seg entre sondas)
-T2 (polite)Velocidade reduzida, menos largura de banda
-T3 (normal)Temporização padrão
-T4 (aggressive)Rápido, assume rede confiável
-T5 (insane)Mais rápido, pode perder resultados
Ajuste Fino
--min-rate 1000Enviar no mínimo 1000 pacotes/seg
--max-rate 500Limitar a 500 pacotes/seg
--max-retries 2Máximo de retransmissões de sondas
--host-timeout 30mPular host se varredura exceder 30 min
--scan-delay 1sAtraso entre sondas
--min-parallelism 10Mínimo de grupos de sondas paralelas
Evasão de Firewall
Técnicas de Evasão
-fFragmentar pacotes (blocos de 8 bytes)
-D RND:5Varredura com decoys (5 IPs aleatórios)
-S spoof_ipFalsificar IP de origem (requer pacotes brutos)
-e eth0Usar interface de rede específica
--source-port 53Usar porta de origem específica (ex.: DNS)
--data-length 25Anexar dados aleatórios aos pacotes
--spoof-mac 0Randomizar endereço MAC
Exemplos de Evasão
nmap -f -D RND:3 target # fragments + decoys nmap --source-port 53 target # DNS port (often allowed) nmap -T1 --scan-delay 5s target # slow to evade IDS
Padrões Comuns
Reconhecimento Rápido
nmap -T4 -F target # fast common ports nmap -T4 -A -v target # OS + service detection nmap -sV --top-ports 1000 target # top 1000 + versions
Varredura Abrangente
# Full TCP + service + OS + scripts nmap -sS -sV -O -sC -p- -T4 -oA full target # UDP scan on common ports nmap -sU --top-ports 50 target
Auditoria de Servidor Web
nmap -p 80,443 --script=http-title,http-headers,\ ssl-cert,http-methods target # Check for open proxies and vulns nmap -p 80,443,8080 --script=http-open-proxy,vuln target
Inventário de Rede
# Discover all live hosts with OS info nmap -sn 192.168.1.0/24 -oG - | grep "Up" # Service inventory for subnet nmap -sV -T4 192.168.1.0/24 -oX inventory.xml