Os logs do servidor DNS do Windows são registrados em três locais no Visualizador de Eventos, além de um arquivo de texto opcional:
- Microsoft → Windows → DNS-Server → Audit: alterações de zona e registro. Ativado por padrão no Windows Server atual.
- Microsoft → Windows → DNS-Server → Analytical: cada consulta e resposta. Desativado por padrão e oculto até que você mostre logs analíticos.
- Servidor DNS, em Logs de Aplicativos e Serviços: eventos a nível de serviço como inícios, paradas e erros de carregamento de zona.
- The log de depuração, um arquivo de texto que você habilita no Gerenciador de DNS, geralmente C:WindowsSystem32dnsdns.log.
A exportação principal é uma linha a partir de um prompt elevado:
wevtutil epl "Microsoft-Windows-DNSServer/Audit" C:logsdns_audit.evtx
Quase tudo em uma rede faz consultas DNS, inclusive malware. Logs de consultas expõem tunelamento DNS, algoritmos de geração de domínios e chamadas a domínios conhecidos como malignos. Logs de auditoria expõem alguém alterando registros discretamente. Prime Core possui {N} regras de detecção para dados DNS, mapeadas para {M} técnicas MITRE ATT&CK. Entre elas: comando e controle sobre DNS (T1071.004) e algoritmos de geração de domínios (T1568.002).
Antes de começar
Provavelmente o registro de consultas não estava ativado. O canal Analítico está desativado por padrão. Se você estiver investigando algo que já ocorreu, provavelmente não há logs de consultas do servidor. Suas opções são o lado do cliente (evento 22 do Sysmon, ou o log do Cliente DNS), logs de firewall ou proxy, ou um sensor de rede. Ativá-lo agora ajuda daqui para frente.
Ativar registro de consultas (para o futuro). No Visualizador de Eventos, escolha Exibir → Mostrar Logs Analíticos e de Depuração, depois clique com o botão direito no Analítico sob DNS-Server e escolha Habilitar Log. Ou do linha de comando:
wevtutil sl "Microsoft-Windows-DNSServer/Analytical" /e:true
A Microsoft descreve a sobrecarga como modesta, mas em um resolvedor muito ocupado, faça testes antes de deixá-la ativada.
Você precisa de um prompt elevado, no servidor DNS ou em um controlador de domínio executando DNS.
Exportar os logs
:: alterações de registro e zona
wevtutil epl "Microsoft-Windows-DNSServer/Audit" C:logsdns_audit.evtx
:: eventos a nível de serviço
wevtutil epl "DNS Server" C:logsdns_server.evtx
:: consultas e respostas (somente se Analítico foi habilitado)
wevtutil epl "Microsoft-Windows-DNSServer/Analytical" C:logsdns_analytical.evtx
Canais analíticos se comportam de maneira diferente de logs normais. O Visualizador de Eventos pode solicitar que você desative o log antes que ele mostre eventos. O Get-WinEvent do PowerShell lê apenas com -Oldest.
O log de depuração é texto simples, configurado em Gerenciador de DNS → Propriedades do Servidor → Registro de Depuração. Ele registra pacotes em detalhes e substitui entradas mais antigas quando atinge seu limite de tamanho. Copie-o como está: copie C:WindowsSystem32dnsdns.log C:logs.
O que observar
| Sinal | O que pode significar |
|---|---|
| Subdomínios muito longos e com aparência aleatória em consultas | Tunelamento DNS, dados contrabandeados em nomes de consultas |
| Um cliente gerando muitas consultas malsucedidas (NXDOMAIN) | Malware girando através de domínios gerados |
| Um alto volume de consultas TXT de um host | Tunelamento ou comando e controle |
| Eventos de auditoria para registros criados, excluídos ou alterados fora de janelas de alteração | Seqüestro de registros, por exemplo, um novo registro wpad |
| Um DLL de plugin carregado pelo serviço Servidor DNS | Abuso do grupo DnsAdmins para executar código como SYSTEM |
Fazer upload e revisar no LogTotal
LogTotal lê EVTX nativamente. Uma coisa a ser saber primeiro: LogTotal ainda não sanitiza arquivos EVTX. Logs DNS carregam nomes de hosts internos e IPs de clientes. Trate um upload como entregar o arquivo bruto: adequado para servidores de teste; para produção, obtenha um sim de quem é responsável pelo tratamento de dados primeiro.
Se precisar de sanitização hoje, converta primeiro para JSON: evtx_dump -o jsonl dns_audit.evtx > dns_audit.jsonl.
- Fazer upload. Abrir logtotal.com e soltá-lo no arquivo.
- Revisar.
Quando algo dá errado
| Sintoma | Causa provável | Fix |
|---|---|---|
| Nenhum canal Analítico no Visualizador de Eventos | Logs analíticos são ocultos por padrão | Exibir → Mostrar Logs Analíticos e de Depuração |
| Canal analítico está vazio | Ele nunca foi habilitado | Habilite-o; sem histórico anterior a isso |
| Erros do Get-WinEvent no log analítico | Logs analíticos precisam de -Oldest | Adicione -Oldest |
| Canal de auditoria ausente | Windows Server mais antigo sem a atualização | Verifique a versão do SO; use o log de depuração |
| O log de depuração cobre apenas um curto período | Ele se sobrescreveu no limite de tamanho | Aumente o limite ou encaminhe logs para outro lugar |
FAQ
Logs do servidor ou logs do cliente?
O servidor DNS informa qual IP do cliente fez a pergunta. Somente o cliente informa qual processo perguntou. É por isso que o evento 22 do Sysmon nos endpoints complementa tão bem os logs do servidor.
O log de depuração é melhor do que o canal analítico?
O log de depuração contém mais detalhes sobre pacotes, mas custa mais e se sobrescreve. Para a maioria dos investigações, o canal Analítico é a melhor opção padrão.