Esta primeira apostila existe para organizar o vocabulário e o modelo mental da área. Em vez de olhar para técnicas soltas, a proposta aqui é aprender a ler rastro, contexto e hipótese investigativa.

Ela conversa diretamente com Detection.Wiki e serve como porta de entrada para o restante da série em Oficinas.

Objetivo

Detection engineering é o trabalho de transformar conhecimento sobre comportamento suspeito em consultas, regras, correlações, alertas e hipóteses de investigação.

O ponto central é simples:

você não está estudando só “ataques”; está estudando como eles deixam rastro.

O modelo mental correto

Quando você lê um caso, pare de perguntar apenas qual foi o payload. O raciocínio mais útil é:

  1. Qual foi a cadeia de execução?
  2. Quais processos filhos surgiram?
  3. Quais arquivos apareceram ou foram alterados?
  4. Que persistência foi criada?
  5. Houve conexão de rede depois?
  6. O que seria raro em um ambiente corporativo real?
  7. Que query detectaria isso com pouco ruído?

Fontes de telemetria que aparecem o tempo todo

MDE / Defender XDR

Algumas das tabelas mais úteis são:

  • DeviceProcessEvents
  • DeviceFileEvents
  • DeviceImageLoadEvents
  • DeviceNetworkEvents
  • DeviceRegistryEvents
  • DeviceEvents

Elas ajudam porque já oferecem eventos normalizados de endpoint, bons para investigação e hunting.

Sysmon

Sysmon continua valioso para:

  • criação de processo
  • conexão de rede
  • criação de arquivo
  • image load
  • alterações em registro

Eventos clássicos:

  • Event ID 1 — Process Create
  • Event ID 3 — Network Connection
  • Event ID 7 — Image Load
  • Event ID 11 — File Create
  • Event ID 13/14 — Registry

Windows Event Logs

Logs do próprio Windows e de providers específicos ajudam a completar o quadro:

  • PowerShell 4104
  • eventos de sistema
  • eventos de provedores mais específicos

Camada de rede

Ferramentas como Zeek, Suricata e Corelight respondem perguntas que o endpoint sozinho não resolve:

  • que domínio foi resolvido?
  • houve acesso a blob storage?
  • apareceu HTTP, TLS, DNS ou SNI relevante?

ASIM

ASIM é uma camada de normalização que reduz a dependência do fornecedor específico. Em vez de decorar vários schemas, você pode trabalhar com tabelas como:

  • _ASim_ProcessCreate
  • _ASim_ProcessEvent
  • _ASim_FileEvent
  • _ASim_RegistryEvent
  • _ASim_Dns
  • _ASim_NetworkSession

O ganho é padronização. A perda potencial é esconder detalhes úteis do log bruto.

O que é KQL e por que ele importa

KQL é a linguagem de consulta usada no ecossistema Microsoft para trabalhar com dados em Defender, Sentinel, Azure Data Explorer e ambientes correlatos.

O essencial não é “escrever KQL bonito”, e sim saber formalizar uma hipótese. Na prática, você precisa dominar pelo menos:

  • where
  • project
  • extend
  • summarize
  • join
  • let
  • distinct
  • order by
  • between
  • has, contains, startswith, endswith

Exemplo de raciocínio:

“quero encontrar todo .scr fora de C:\\Windows\\ que gerou processo filho”

A query é apenas a tradução disso.

Como ler um lab sem se perder

Quase todo lab útil tem esta estrutura:

  1. resumo
  2. preparação
  3. análise
  4. detecções
  5. mitigação
  6. referências

O erro mais comum é focar demais na preparação ofensiva. O que realmente interessa para estudo defensivo é:

  • artefatos
  • cadeia de processos
  • mudanças persistentes
  • sinais de rede
  • detecções propostas
  • qualidade e ruído das queries

Artefatos que devem sempre ser extraídos

Processo

  • processo inicial
  • processo pai
  • processo filho
  • linha de comando
  • local do executável
  • usuário

Arquivo

  • nome
  • hash
  • pasta
  • origem do download
  • arquivo criado, modificado ou excluído

Registro

  • chave
  • valor
  • processo que escreveu
  • persistência criada

Rede

  • IP
  • porta
  • domínio
  • SNI
  • duração
  • bytes enviados e recebidos

Contexto

  • isso é comum?
  • faz sentido para aquele ambiente?
  • veio de pasta gravável pelo usuário?
  • dependeu de interação humana?

Tipos de comportamento presentes nesta trilha

O material desta série cai, em geral, nestes grupos:

  1. execução por interação do usuário
  2. proxy execution e LOLBins
  3. persistência
  4. defesa e evasão
  5. abuso de credencial, driver ou memória

Você vai ver isso se repetir quando avançar para ClickOnce, .pth, BYOVD e cadeias com Electron.

Como pensar em qualidade de detecção

Detecção boa equilibra:

  • cobertura
  • precisão
  • contexto
  • ruído
  • custo operacional

Uma regra como “alertar em qualquer cmd.exe” é inútil. Já uma hipótese como “alertar quando um .scr fora de C:\\Windows\\ gerar cmd.exe, wscript.exe ou msiexec.exe” é muito mais defensável.

Baselining

Sem baseline, hunting vira adivinhação.

Algumas perguntas mínimas:

  • dfsvc.exe é raro ou comum no ambiente?
  • ClickOnce existe em larga escala?
  • RMM é permitido?
  • Azure Blob faz parte do fluxo normal?

Sem essas respostas, qualquer consulta corre o risco de gerar ruído demais ou contexto de menos.

Estrutura mínima de investigação

Use sempre este roteiro:

  1. encontrar o ponto de entrada
  2. expandir a árvore de processos
  3. mapear arquivos criados
  4. mapear persistência
  5. mapear rede
  6. testar a query de detecção

Glossário rápido

  • ClickOnce: mecanismo de implantação de aplicações .NET
  • dfsvc.exe: deployment service do ClickOnce
  • RMM: ferramenta legítima de gestão remota, mas abusável
  • .scr: screen saver que, na prática, é executável PE
  • LOLBin: binário legítimo do sistema abusado para execução ou evasão
  • BYOVD: uso de driver vulnerável legítimo para ganhar vantagem
  • .pth: arquivo do ecossistema Python que pode influenciar carregamento e execução
  • NTUSER.MAN: hive de perfil mandatório, útil como pivô de persistência

Método de estudo recomendado

Em vez de estudar por “nome bonito de técnica”, estude por artefato:

  • semana 1: processo, árvore de processos e linha de comando
  • semana 2: criação de arquivo, image load e locais suspeitos
  • semana 3: registro, startup, serviços e persistência
  • semana 4: DNS, HTTP/TLS, blob storage e relação entre processo e rede
  • semana 5: correlação disso tudo em KQL

Exercícios

  1. Explique, com suas palavras, a diferença entre execução, persistência, comando e controle e evasão.
  2. Pegue um caso desta série e escreva o processo inicial, três artefatos em disco, uma hipótese de detecção e um possível falso positivo.
  3. Monte uma mini-query conceitual para detectar um .scr em Downloads, dfsvc.exe vindo de navegador ou um .pth criado em site-packages.

Fechamento

Se esta base estiver clara, o restante da série fica muito mais legível: o nome da técnica muda, mas o raciocínio continua sendo rastro + contexto + hipótese + validação.

Continuidade

Próximo passo:

Referências e apoio: