Sem telemetria de endpoint, laboratório de detecção vira achismo. O Sysmon (Sysinternals), serviço e driver da Microsoft, registra criação de processo, conexões de rede, alterações de tempo de arquivo e dezenas de outros eventos no canal operacional do Windows. Este tutorial passo a passo mostra como instalar a versão atual em uma VM de laboratório, aplicar um XML de filtros e validar Event IDs básicos — sem fingir que substituímos um EDR completo.

Documentação oficial (Sysmon v15.22 na página Sysinternals consultada para este texto) deixa claro: o Sysmon não analisa nem se esconde de atacantes; ele gera logs para coleta via Windows Event Collection ou agente de SIEM.

Pré-requisitos

  • Windows 11 ou Windows Server suportado em VM que você controla.
  • Snapshot antes da instalação.
  • Privilegio de administrador.
  • Binário Sysmon baixado da página oficial Sysinternals (prefira a build de 64 bits sysmon64.exe quando aplicável).
  • Arquivo de configuração XML — por exemplo o comunitário SwiftOnSecurity/sysmon-config, revisado antes de usar.

Passo 1 — Instalar com configuração

Abra um prompt elevado no diretório do binário. Aceite a EULA e aponte o XML:

sysmon64.exe -accepteula -i C:\Tools\sysmonconfig-export.xml

Sem XML, a instalação padrão hasheia imagens com SHA1 e não monitora rede. Para laboratório de detecção, comece com um config conhecido e ajuste. Atualizar regras depois:

sysmon64.exe -c C:\Tools\sysmonconfig-export.xml
sysmon64.exe -c

O segundo comando (só -c) despeja a configuração ativa. Desinstalação: sysmon64.exe -u. Não exige reboot.

Painéis dos Event IDs 1, 3, 11 e 22 do Sysmon e o caminho do canal Operational

Passo 2 — Onde ler os eventos

No Vista e superiores, os eventos ficam em Applications and Services Logs → Microsoft → Windows → Sysmon → Operational. Timestamps em UTC. Confirme no Event Viewer se o canal existe e se novos eventos aparecem após ações simples (abrir o Notepad, navegar para um site de teste no lab).

Visualizador de Eventos do Windows aberto no canal Microsoft-Windows-Sysmon/Operational mostrando um Event ID 1 Process Create do WmiPrvSE.exe com hashes, linha de comando e processo pai
Evento Sysmon ID 1 (Process Create) no canal Operational do Event Viewer.

Passo 3 — Validar Event IDs essenciais

Três checagens objetivas:

  • Event ID 1 ProcessCreate: deve mostrar linha de comando completa, pai, hashes conforme config e ProcessGuid.
  • Event ID 3 NetworkConnect: só aparece se habilitado no XML; valide processo, IPs e portas em um acesso controlado.
  • Event ID 11 FileCreate: útil para pastas de download/startup no lab.

Gere telemetria de propósito. Exemplo inócuo:

# Em PowerShell na VM de lab
notepad.exe
Start-Process "https://example.com"

Filtre no Event Viewer por ID 1 logo após o Notepad e por ID 3 se NetworkConnect estiver ligado. Anote ProcessGuid para correlacionar término (ID 5) e conexões.

Passo 4 — Entender filtros include/exclude

O XML usa tags por tipo de evento (ProcessCreate, NetworkConnect, etc.) com onmatch="include|exclude". Regras no mesmo campo se combinam como OR; campos diferentes, como AND. Exclude vence include. Um esqueleto mínimo inspirado na documentação Microsoft:

<Sysmon schemaversion="4.82">
  <HashAlgorithms>*</HashAlgorithms>
  <EventFiltering>
    <NetworkConnect onmatch="include">
      <DestinationPort>443</DestinationPort>
      <DestinationPort>80</DestinationPort>
    </NetworkConnect>
    <NetworkConnect onmatch="exclude">
      <Image condition="end with">iexplore.exe</Image>
    </NetworkConnect>
  </EventFiltering>
</Sysmon>

Imprima o schema com sysmon64.exe -s para ver campos e versões. Configs comunitárias são ponto de partida: revise exclusões barulhentas e o que seu SIEM realmente precisa.

Passo 5 — Encaminhar e limitar escopo

Em laboratório, um forwarder (Winlogbeat, Fluent Bit, agente do SIEM) aponta para o canal Sysmon/Operational. Em produção, planeje volume: ImageLoad (ID 7) e ProcessAccess (ID 10) sem filtro geram explosão de eventos. A própria Microsoft recomenda cautela nesses IDs.

Limitações e erros comuns

Sysmon não é antivírus. Atacantes avançados podem tentar interferir no serviço; trate integridade do host à parte. Misturar schemaversion do XML com binário antigo falha na carga. Copiar configs de blog sem revisar exclusões deixa buracos (ou enche disco). Não instale primeiro em endpoint de produção crítico sem piloto.

Para correlacionar execução com artefatos forenses clássicos do Windows, o material do NULL TRACE sobre Prefetch complementa o que o Sysmon registra em tempo real.

Checklist de aceite do laboratório

Antes de declarar o Sysmon “pronto” na VM, marque:

  • Serviço Sysmon em execução após reboot de teste.
  • Event ID 1 gerado ao abrir um binário conhecido.
  • Event ID 3 presente se NetworkConnect estiver no XML.
  • Event ID 16 aparece ao aplicar -c com XML novo (mudança de configuração).
  • Forwarder entrega no SIEM de lab com o channel path correto.
  • XML e versão do binário anotados no inventário do lab.

Se ID 1 não aparece, verifique se o Visualizador está no canal Operational certo e se filtros include não ficaram vazios por engano. Se o disco cresce rápido, revise FileDelete arquivado (ID 23) e ImageLoad.

Exemplo de correlação simples no lab

Depois de validar ProcessCreate, provoque um binário conhecido e recupere o Event ID 1. Copie o ProcessGuid e busque no mesmo canal por NetworkConnect e ProcessTerminate com o mesmo GUID. Esse exercício de cinco minutos ensina o modelo mental que o SIEM precisará em escala.

# No Event Viewer: filtre por ProcessGuid = {GUID-do-evento-1}
# Confirme ID 3 (se habilitado) e ID 5 no encerramento do processo

Quando o forwarder estiver ativo, repita a busca na interface do SIEM. Se o GUID chegar fragmentado ou o campo de linha de comando truncado, corrija o pipeline antes de escrever detecções.

Com Sysmon estável na VM, o laboratório fica pronto para exercícios de purple team e para tutoriais seguintes de encaminhamento ao SIEM. A base de telemetria é o que separa detecção verificável de anecdota.

Conclusão

Instalar Sysmon, carregar um XML revisado e validar IDs 1 e 3 no Event Viewer é o ritual mínimo de um lab de detecção no Windows. Feito isso, cada teste de purple team — inclusive átomos do Atomic Red Team — passa a deixar rastro verificável. O próximo passo é versionar o XML como código e medir volume antes de espalhar o agente.