Logs do Zeek no SOC: o que conn, dns e http revelam

Analista de SOC examinando logs de conexões de rede gerados pelo Zeek em uma console de monitoramento

Os logs do Zeek são a telemetria de rede mais completa que um SOC pequeno consegue operar sem pagar licença: o sensor escuta o tráfego de forma passiva e transforma cada protocolo em um arquivo próprio — cada conexão TCP, UDP ou ICMP observada pelo sensor vira uma linha no conn.log, a atividade DNS vai para o dns.log e as requisições HTTP para o http.log. O caminho para usar isso na prática não é instalar mais nada: é aprender o que cada arquivo registra e em qual ordem consultá-lo durante uma triagem.

Este guia mostra como ler os três arquivos centrais, o que procurar em cada um durante uma investigação e como transformar os registros em alertas com um roteiro testável em laboratório. Todas as linhas de log usadas como exemplo aqui são sintéticas, criadas apenas para demonstrar o formato.

O que o Zeek registra

O Zeek é um analisador de tráfego de rede que, em vez de emitir apenas alertas, registra o que observa em arquivos de log estruturados, um para cada protocolo e atividade. A documentação oficial lista os arquivos gerados pela ferramenta com a descrição de cada tipo, e a leitura dessa lista já orienta por onde começar: toda a atividade DNS resolvida no ambiente aparece registrada no dns.log, as conexões de rede ficam no conn.log e as transações HTTP no http.log.

Para um time enxuto, alguns arquivos cobrem a maior parte das triagens de rede:

Arquivo O que registra Sinal típico na triagem
conn.log Conexões TCP, UDP e ICMP Host falando com serviço incomum na rede
dns.log Consultas e respostas DNS Domínios longos gerados por algoritmo
http.log Requisições e respostas HTTP User-agent de ferramenta conhecida
ssl.log Negociação TLS Certificado autoassinado em servidor interno
smb_cmd.log Comandos SMB Cópia de arquivo entre hosts vizinhos

Cada registro carrega um identificador único de conexão, o uid, que amarra linhas de protocolos diferentes da mesma sessão: a consulta HTTP e o handshake TLS que a antecede compartilham o uid da conexão registrada no conn.log. Esse vínculo permite reconstruir a história de uma comunicação sem manter captura completa de pacotes — o que economiza armazenamento, o custo que mais dói em retenção longa.

Como ler o conn.log

O conn.log é o mapa de quem falou com quem: origem e destino, portas, serviço identificado, duração, volume de bytes em cada direção e estado da conexão. Na triagem, três perguntas se respondem rápido com ele: qual host iniciou a conexão, para qual destino incomum ela aponta e em que horário o padrão fugiu da linha de base do ativo.

É também onde o movimento lateral aparece em escala antes de qualquer alerta corporativo: uma estação de trabalho que passa a abrir sessões SMB para dezenas de hosts vizinhos na mesma janela de tempo salta aos olhos numa simples ordenação por par origem-destino. Um beacon deixa rastro aqui igualmente — conexões curtas, de duração parecida, repetindo em intervalos regulares para o mesmo destino externo.

DNS e HTTP na triagem

O dns.log registra cada consulta e resposta: domínio consultado, tipo de registro, servidor que respondeu e código de retorno. É o arquivo onde o abuso do protocolo fica exposto. A matriz MITRE ATT&CK registra que adversários se comunicam pelo DNS justamente para se misturar ao tráfego existente e embutir comandos nas consultas, sem abrir conexões novas que chamariam atenção.

Três sinais merecem a consulta filtrada inicial: consultas TXT incomuns para domínios sem motivo operacional, nomes longos com alta entropia (típicos de tunneling, em que o dado viaja escondido dentro do rótulo do domínio) e domínios recém-registrados procurados por poucos hosts. Um registro sintético de laboratório mostra o formato, com dados fabricados apenas para demonstração:

1700000000.123456 CAbCdEfG 192.168.10.23 53291 8.8.4.4 53 udp 412 190 - - - - - dominio-exemplo-91j2.com 1.2.3.4 TXT IN NOERROR

O http.log, por sua vez, mantém método, URI, host, user-agent e código de resposta de cada transação em HTTP claro. O tráfego criptografado não aparece ali, mas deixa vizinhos: o ssl.log guarda o nome do servidor do handshake TLS e o resumo do certificado apresentado — suficiente para listar servidores internos com certificado autoassinado ou domínios incomuns sendo acessados por hosts sensíveis.

Do log ao alerta

Os arquivos sozinhos não alertam ninguém; a detecção começa quando alimentam uma consulta. O próprio Zeek tem uma camada de detecção: o notice.log concentra os avisos que os scripts carregados consideram relevantes, e o framework de assinaturas registra correspondências em arquivo próprio. Para o pipeline do SOC, o caminho usual é exportar os logs em JSON para o indexador ou SIEM da equipe e escrever as primeiras consultas de triagem sobre conn.log e dns.log, onde o volume compensa o esforço de escrita.

Uma ordem pragmatica de maturidade: primeiro consultas manuais respondendo perguntas de investigação, depois regras salvas que rodam na semana, e só então alertas automáticos para os padrões cujo falso positivo você já mediu.

Checklist de implantação

Um roteiro enxuto para validar o sensor antes de confiar nele, executável em laboratório com tráfego gerado por você:

  1. Posicione o sensor em um ponto que veja o tráfego de saída para a internet e o tráfego entre segmentos internos, por porta espelhada ou TAP.
  2. Gere tráfego sintético conhecido, como consultas DNS para domínios de teste e downloads controlados, e confirme que cada evento aparece no arquivo esperado.
  3. Calcule a linha de base de volume de conexões e consultas DNS por host em uma semana comum, para ter referência de comparação.
  4. Escreva três consultas de triagem: destinos nunca vistos por host, consultas TXT para domínios sem motivo e conexões internas host-a-host em portas administrativas.
  5. Revise os falsos positivos com o dono do ativo antes de transformar consulta em alerta automático.

Nenhuma dessas consultas garante detecção por si só — elas sustentam a triagem com evidência. Quando um incidente é confirmado, os logs de rede encurtam o interrogatório de quem falou com quem, quando e por quanto tempo, antes de qualquer resposta guiada, como no roteiro de resposta a ransomware.

Fontes