01 - Scanning e Enumeração de Portas
video: https://youtu.be/... no frontmatter da nota.Scanning e Enumeração de Portas
1. Definição e Objetivo
O Scanning e Enumeração de Portas é a fase técnica mais crítica e reveladora de qualquer campanha de segurança ofensiva ou defensiva. Trata-se do ato de mapear quais soquetes de aplicação estão em estado de escuta (LISTEN) e quais serviços estão ativos em um hospedeiro remoto ou local. Através do escaneamento, o analista descobre a impressão digital técnica da infraestrutura, identificando não apenas números frios de portas, mas as versões exatas de softwares e as vulnerabilidades que podem ser exploradas por invasores externos.
Objetivos Técnicos
- Identificar portas abertas, filtradas ou fechadas em um alvo
- Determinar a versão do serviço em execução (banner grabbing)
- Descobrir o sistema operacional do hospedeiro (TCP/IP fingerprinting)
- Mapear a topologia de rede e firewalls
- Enumerar usuários, compartilhamentos e configurações vulneráveis
2. Técnicas de Scanning com Nmap
A ferramenta de referência para o scanning de portas é o Nmap (Network Mapper). Ela utiliza pacotes forjados no nível do kernel para testar a resposta dos soquetes de aplicação.
Estados de Porta Detectáveis
| Estado | Significado |
|---|---|
open |
Aplicação aceitando conexões TCP/UDP |
closed |
Porta responde (RST/ICMP), mas sem aplicação em escuta |
filtered |
Firewall/proxy impede resposta (timeout) |
unfiltered |
Porta acessível, mas estado não determinado |
open|filtered |
Estado ambíguo (comum em UDP) |
closed|filtered |
Estado ambíguo (raro) |
Tipos de Scan TCP
| Flag de opção | Técnica | Descrição |
|---|---|---|
-sS |
SYN Stealth | Envia SYN, recebe SYN/ACK, envia RST. Não completa handshake. Requer root |
-sT |
Connect Scan | Completa handshake TCP. Funciona sem root, mas é ruidoso e logado |
-sA |
ACK Scan | Testa regras stateless de firewall. Distingue filtered vs unfiltered |
-sW |
Window Scan | Variação do ACK analisando tamanho da janela TCP |
-sM |
Maimon Scan | Envia FIN/ACK. Alguns BSD antigos respondem RST para open |
-sF |
FIN Scan | Envia FIN. RFC 793 não define comportamento; alguns hosts não enviam RST |
-sX |
Xmas Scan | FIN+PSH+URG. Mesmo princípio do FIN scan |
-sN |
Null Scan | Todos flags zerados. Mesmo princípio |
-sI |
Idle Scan | Usa um zombie host como intermediário, escondendo origem real |
-b |
FTP Bounce Scan | Usa servidor FTP vulnerável como proxy (RFC 959 PORT) |
--scanflags |
Custom | Combinação arbitrária de flags TCP |
UDP Scan (-sU)
O UDP é o maior desafio técnico do reconhecimento. Como o UDP não possui confirmação de conexão, o Nmap envia pacotes vazios (ou específicos por protocolo) e aguarda:
ICMP Port Unreachable (type 3, code 3)→ porta fechada- Resposta UDP → porta aberta
- Sem resposta → porta
open|filtered(precisa de--version-intensitypara refinar)
UDP scan é lento (rate-limiting ICMP padrão Linux = 1 pacote/s). Para serviços conhecidos (53 DNS, 161 SNMP, 123 NTP), o Nmap envia payloads específicos para forçar resposta.
3. Enumeração Profunda e Banner Grabbing
Saber que a porta 22 está aberta é apenas o começo da auditoria digital.
Detecção de Versão (-sV)
O Nmap interage com o soquete enviando probes específicos (definidos em nmap-service-probes) e analisa a resposta para identificar a versão exata do serviço. Permite mapear versões obsoletas com falhas conhecidas (ex: Apache httpd 2.4.41, OpenSSH 7.2p2).
Detecção de Sistema Operacional (-O)
Analisando variações milimétricas na pilha TCP/IP — como tamanho da janela TCP, valor de TTL inicial, opções IP suportadas, comportamento em resposta a flags inválidas — o scan consegue inferir se o alvo é Linux, Windows, BSD ou um firewall dedicado. O banco de dados nmap-os-db contém mais de 5.000 fingerprints.
Scripts NSE (Nmap Scripting Engine)
O Nmap possui mais de 600 scripts Lua para enumeração específica:
# Enumeração de SMB (vulnerabilidades MS17-010 EternalBlue)
nmap -p 445 --script smb-vuln-ms17-010 alvo.com
# Enumeração de SNMP (community string pública)
nmap -p 161 --script snmp-brute,snmp-info alvo.com
# Detecção de certificados TLS expirados ou fracos
nmap -p 443 --script ssl-cert,ssl-enum-ciphers alvo.com
# Coleta de banners HTTP, título e tecnologias
nmap -p 80,443 --script http-title,http-headers,banner alvo.com
4. Evasão de Defesas
Atacantes experientes não disparam pacotes de forma ruidosa; utilizam táticas de ofuscação:
Evasão de IDS/IPS
- Decoys (
-D): O atacante dispara o scan a partir do seu IP, mas forja dezenas de outros endereços IP falsos como iscas. Para o analista de monitoramento, parece que a rede está sendo varrida de múltiplas direções simultaneamente, dificultando identificar o verdadeiro culpado. - Fragmentação (
-f): Divide o cabeçalho TCP/IP em pequenos pedaços para que firewalls stateless não consigam ler o número da porta de destino, passando o scan por baixo da detecção de assinaturas clássicas. - MTU customizada (
--mtu 8): Variação da fragmentação com tamanho fixo. - Timing templates (
-T0a-T5): T0 (paranoid) = 5 min entre probes; T5 (insane) = paralelo máximo. T2-T3 são silenciosos. - Source Port Spoofing (
-g 53ou-g 80): Usa porta de origem 53 (DNS) ou 80 (HTTP), geralmente permitida por firewalls fracos. - Idle Scan (
-sI): Usa host zombie (sem tráfego) para enviar pacotes com spoofing de IP. Apenas o zombie aparece nos logs do alvo.
Ferramentas Alternativas
| Ferramenta | Uso | Velocidade |
|---|---|---|
| Nmap | Detecção completa + NSE | Lenta a média |
| Masscan | Scan internet inteira | 10M pacotes/s |
| Zmap | Pesquisa acadêmica | 1.4M pacotes/s |
| Unicornscan | Async, escalável | Alta |
| Naabu | Go-based, focado em portas | Alta |
5. Táticas de Defesa
Empresas implementam múltiplas camadas de defesa contra scans:
Detecção Ativa
- Rate Limiting (iptables/nftables): Limita SYN/s por IP. Excede → drop.
- Fail2Ban: Analisa logs e bane IPs automaticamente após N falhas.
- PSAD (Port Scan Attack Detector): Correlaciona logs iptables para detectar padrões de scan.
- Suricata/Snort: IDS com assinaturas para tipos de scan conhecidos.
- Honeypots/Honeyports: Portas falsas (ex: 23 Telnet) que, se tocadas, disparam alerta imediato de reconhecimento.
Endurecimento de Superfície
- Banner Obfuscation: Esconder versões (
ServerTokens Prod,server_tokens off). - TCP Wrappers e allowlists: Restringir origens (ex: SSH apenas para rede administrativa).
- Port Knocking: Porta aparece fechada até sequência de pacotes pré-acordada.
- Single Packet Authorization (SPA): Substituto moderno do knocking via fwknop.
6. Auditoria Técnica e Diagnóstico
# Realizando um stealth scan cauteloso em sub-rede administrativa
sudo nmap -sS -T2 -p 1-1024 192.168.1.0/24
# Capturando banners e versões de serviços críticos
sudo nmap -sV --version-intensity 5 -p 22,80,443 alvo.com
# Identificando o sistema operacional via TCP/IP fingerprint
sudo nmap -O --osscan-guess alvo.com
# Verificando estado de firewall (filtered vs closed)
sudo nmap -sA -p 80,445 alvo.com
# Scan UDP completo (lento) com scripts NSE
sudo nmap -sU --top-ports 200 -sV --version-light alvo.com
# Scan ultra rápido com Masscan para internet inteira
sudo masscan -p1-65535 10.0.0.0/8 --rate=10000 -e eth0
# Verificando conectividade de porta específica com hping3
sudo hping3 -S -p 443 -c 1 alvo.com
7. Aspectos Legais e Éticos
No Brasil, o scanning não autorizado pode configurar crime previsto na Lei 12.737/2012 (Carolina Dieckmann) e no Marco Civil da Internet (Lei 12.965/2014). Auditorias devem ser precedidas de:
- Termo de autorização escrito do proprietário do ativo
- Escopo explícito (IPs, portas, janela de tempo)
- Regras de engajamento (sem DoS, sem exploração além da identificação)
- Relatório de impacto com recomendações de mitigação
8. Resumo Técnico
| Atributo | Detalhe |
|---|---|
| Ferramenta principal | Nmap |
| Tipos de scan TCP | SYN, Connect, ACK, FIN, Xmas, Null, Idle, Maimon |
| Tipos de scan UDP | -sU com probes específicos por serviço |
| Detecção de versão | -sV (database nmap-service-probes) |
| Detecção de SO | -O (database nmap-os-db) |
| Scripts | 600+ scripts NSE em Lua |
| Alternativas | Masscan (velocidade), Zmap (acadêmico), Naabu (Go) |
| Defesa | Fail2Ban, PSAD, Suricata, honeypots |
9. Conclusão
O scanning e a enumeração de portas são os olhos da estratégia digital. De um mapeamento rigoroso da própria infraestrutura e de uma defesa ativa contra as varreduras de adversários depende a resiliência de todo o perímetro digital da empresa. Compreender as táticas de scan, dominar o Nmap e suas alternativas, e implementar defesas em profundidade são práticas essenciais para manter a superfície de ataque controlada e auditável.