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.exequando 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.

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).

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
-ccom 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.
