Com o mapa das camadas montado, vamos ver os protocolos funcionando — porque é entendendo o comportamento normal deles que você reconhece o comportamento anômalo, forja pacotes válidos e explora suas fraquezas. Três protocolos merecem foco: o handshake do TCP (base de toda varredura de portas), o DNS (alvo e ferramenta constante) e o ARP (que revisitaremos nos ataques de rede). E você vai inspecioná-los com ferramentas reais, não só ler sobre eles.

Três pacotes antes de qualquer dado

Começemos pelo three-way handshake do TCP, porque metade das técnicas de scanning se explica por ele. Antes de qualquer dado trafegar numa conexão TCP, cliente e servidor trocam três pacotes, usando flags (sinalizadores) no cabeçalho TCP:

Cliente  → SYN →        Servidor    "quero conversar" (synchronize)
Cliente  ← SYN-ACK ←    Servidor    "ok, e você recebe?" (synchronize + acknowledge)
Cliente  → ACK →        Servidor    "recebo, fechado" (acknowledge)
         [conexão estabelecida, dados fluem]

SYN-ACK, RST ou silêncio

Esse aperto de mão triplo é a razão de o TCP ser confiável — e é uma mina de ouro para o atacante. Quando o Nmap faz uma varredura, ele está, em essência, iniciando esse handshake com cada porta. Se a porta responde SYN-ACK, está aberta. Se responde com uma flag de reset (RST), está fechada. Se não responde nada, está filtrada (provavelmente há um firewall engolindo o pacote). É por isso que existem diferentes tipos de scan: um scan "completo" termina o handshake; um scan "SYN" (ou stealth) envia o SYN, recebe o SYN-ACK, e corta a conversa antes do ACK final — sendo mais discreto porque a conexão nunca se completa de fato. E o SYN flood, um ataque de negação de serviço (aula DoS e DDoS: derrubando a disponibilidade), abusa exatamente disso: dispara milhares de SYNs sem nunca completar o handshake, esgotando os recursos do servidor que fica esperando conexões que nunca se concretizam. Veja como um conceito bem entendido já explica varredura e um ataque de DoS.

O DNS como fonte de reconhecimento

Agora o DNS, o protocolo que traduz nomes (exemplo.com) em endereços IP — e que é ao mesmo tempo alvo, ferramenta e vetor de ataque. Quando você digita um site, seu sistema pergunta a um servidor DNS "qual o IP disso?", e a resposta o guia. Para o pentester, o DNS é uma fonte riquíssima de reconhecimento (Bloco V): consultá-lo revela subdomínios, servidores de e-mail, infraestrutura. E é palco de ataques como o DNS spoofing (aula ARP spoofing e Man-in-the-Middle: interceptando a conversa), em que se envenena a resposta para enviar a vítima a um site falso. Você inspeciona DNS com ferramentas de linha de comando que vai usar muito:

dig exemplo.com                 # consulta DNS detalhada (o registro A → o IP)
dig exemplo.com MX              # servidores de e-mail do domínio
dig exemplo.com NS              # servidores de nome (autoridade do domínio)
nslookup exemplo.com            # alternativa mais simples
host exemplo.com                # resolução rápida

Rodar um dig num domínio e ler a resposta é reconhecimento puro — cada registro conta algo sobre a infraestrutura do alvo. Guarde o dig ... MX: saber os servidores de e-mail é o primeiro passo de muitas campanhas de phishing autorizado.

Um protocolo projetado sem autenticação

O terceiro protocolo é o ARP, e ele tem uma peculiaridade que o torna perigoso. O ARP resolve, dentro da rede local, qual endereço MAC corresponde a um IP — necessário porque, na camada 2, as máquinas se falam por MAC, não por IP. O problema é que o ARP foi projetado sem nenhuma autenticação: quando uma máquina pergunta "quem tem o IP 192.168.1.1?", qualquer máquina na rede pode responder "sou eu!", e ninguém verifica se é verdade. Essa ingenuidade é a base do ARP spoofing (aula ARP spoofing e Man-in-the-Middle: interceptando a conversa): o atacante responde falsamente, se coloca no meio do caminho entre a vítima e o roteador, e passa a interceptar todo o tráfego — um clássico man-in-the-middle. Você vê sua tabela ARP atual com:

ip neigh        # ou o antigo: arp -a
                # lista os pares IP↔MAC que sua máquina conhece na rede local

Num ataque de ARP spoofing, essa tabela seria corrompida para apontar o IP do roteador ao MAC do atacante.

Ver o pacote em vez de imaginá-lo

Para ver tudo isso acontecendo, a ferramenta soberana é o Wireshark (e sua versão de terminal, tshark), que captura e disseca cada pacote que passa pela sua interface de rede. Dedicaremos a aula Sniffing: escutando a rede com Wireshark inteira a ele, mas já introduzo o conceito porque ele transforma a rede de abstração em algo visível. Com o Wireshark aberto capturando, você literalmente assiste ao three-way handshake acontecendo pacote a pacote — o SYN, o SYN-ACK, o ACK —, vê as consultas DNS saindo e voltando, observa o ARP perguntando e respondendo. Não há forma melhor de solidificar o que estas duas aulas ensinaram do que ver os protocolos ao vivo. Uma prática que recomendo fortemente nesta semana: abra o Wireshark, comece uma captura, acesse um site simples, pare a captura e tente identificar, na sequência de pacotes, o handshake TCP e a resolução DNS. Quando você reconhecer esses padrões com os próprios olhos, redes deixam de ser teoria.

TLS, DNSSEC e inspeção de ARP

Do lado defensivo, entender esses protocolos é entender suas fraquezas estruturais e mitigá-las: usar sempre criptografia (TLS) para que o tráfego interceptado por um MITM seja inútil; empregar DNSSEC para autenticar respostas DNS e frustrar spoofing; e usar recursos de switch como Dynamic ARP Inspection para barrar ARP forjado. Perceba o fio condutor de todo o bloco de redes: os protocolos fundamentais da internet foram projetados décadas atrás, priorizando funcionamento sobre segurança, e boa parte do trabalho ofensivo e defensivo moderno gira em torno dessa dívida original. Com estas duas aulas, você tem a base de redes necessária para tudo que vem. Na próxima, voltamos a sujar as mãos com código de verdade: Bash scripting, para automatizar suas primeiras tarefas ofensivas.

Fontes e leituras recomendadas

Exercícios

  1. Descreva os três pacotes do three-way handshake do TCP, na ordem, com suas flags.

    ✓ Resposta:

    SYN (cliente pede conexão), SYN-ACK (servidor reconhece e responde) e ACK (cliente confirma, estabelecendo a conexão).

  2. Como o resultado do handshake permite ao Nmap distinguir uma porta aberta, fechada e filtrada?

    ✓ Resposta:

    Se a porta responde SYN-ACK, está aberta; se responde RST (reset), está fechada; se não responde nada, está filtrada — indicando que um firewall provavelmente descarta o pacote.

  3. O que é um scan SYN (stealth) e por que ele é mais discreto do que um scan que completa a conexão?

    ✓ Resposta:

    É um scan que envia o SYN e recebe o SYN-ACK, mas corta a conversa antes de enviar o ACK final, deixando a conexão incompleta. É mais discreto porque a conexão nunca se estabelece plenamente, gerando menos registro nos logs do serviço-alvo.

  4. Que comando revela os servidores de e-mail (MX) de um domínio, e por que essa informação interessa a um pentester?

    ✓ Resposta:

    dig exemplo.com MX. Interessa porque revela a infraestrutura de e-mail do alvo, ponto de partida para campanhas de phishing autorizado e para mapear a organização.

  5. Qual característica de projeto do ARP o torna vulnerável a spoofing, e cite uma defesa contra isso.

    ✓ Resposta:

    O ARP não tem autenticação — qualquer máquina pode responder a uma requisição afirmando ser o dono de um IP, sem verificação. Defesa: Dynamic ARP Inspection no switch (ou uso consistente de TLS para tornar inútil o tráfego interceptado).