Análise forense de logs no Windows.Como reconstruir um incidente.
Um log isolado raramente conta a história inteira. Neste laboratório, eu preservo a evidência, consulto autenticações, acompanho privilégios, valido alterações críticas e uso Sysmon para dar contexto ao que realmente aconteceu no Windows.
Uma investigação começa pela preservação. Não pelo primeiro evento que parece estranho.
- 01 Preservar Copiar logs, registrar origem, horário e hash.
- 02 Consultar Filtrar autenticação, privilégios e alterações.
- 03 Correlacionar Relacionar conta, Logon ID, host e linha do tempo.
- 04 Documentar Registrar conclusão, hipótese, impacto e próximos passos.
Antes de analisar, preserve o log que conta a história.
Na análise forense de logs no Windows, meu primeiro cuidado não é abrir filtros aleatórios. É preservar o material disponível, registrar onde ele estava, quando foi copiado e qual hash representa aquela evidência.
Uma investigação perde valor quando o arquivo original é sobrescrito, quando o horário não é documentado ou quando ninguém consegue demonstrar de onde aquele log saiu. O objetivo é trabalhar em cópias e manter o EVTX original como referência.
Onde estava o arquivo?
Registre computador, caminho, usuário coletor, data, hora e contexto do incidente.
O arquivo continua o mesmo?
Use SHA-256 para demonstrar que a cópia analisada permanece igual ao material coletado.
O que aconteceu antes?
Não avalie um evento sozinho. Reconstrua a sequência de logon, alteração e execução.
Não limpe logs, não rode ferramentas de otimização e não tente corrigir tudo antes de registrar o básico. Em incidentes reais, a linha do tempo pode desaparecer em minutos.
Onde os logs vivem no Windows e por que isso muda a investigação.
O Event Viewer é a porta de entrada visual, mas os arquivos EVTX também ficam armazenados localmente. Isso permite preservar os registros antes de iniciar filtros, exportações reduzidas ou consultas específicas.
C:WindowsSystem32WinevtLogs
O Event Viewer é ótimo para explorar visualmente. Quando preciso repetir filtros, comparar períodos ou transformar eventos em tabela, uso Get-WinEvent.
4624 e 4625: o que os eventos de autenticação realmente revelam.
Os eventos de logon costumam ser o começo da linha do tempo. O 4624 registra uma sessão criada no computador de destino. O 4625 registra uma falha de logon e pode apontar senha incorreta, conta inexistente, bloqueio, serviço mal configurado ou tentativa repetida de acesso.
Logon criado com sucesso
Use para entender quem entrou, em qual horário, por qual tipo de logon e em qual equipamento.
Falha de autenticação
Use para investigar tentativas repetidas, origem, conta alvo, status e padrão de erro.
Elemento de correlação
O mesmo identificador pode ajudar a ligar autenticação, privilégios e outras ações da sessão.
Get-WinEvent -FilterHashtable @{
LogName = 'Security'
Id = 4624
StartTime = (Get-Date).AddHours(-1)
} |
Select-Object TimeCreated, Id, ProviderName, Message |
Format-List
O laboratório preserva o print de uma simulação autorizada, mas não reproduz instruções operacionais de ataque. Em ambiente real, a prioridade é detectar, conter, registrar e investigar.
Get-WinEvent -FilterHashtable @{
LogName = 'Security'
Id = 4625
StartTime = (Get-Date).AddHours(-24)
} |
Where-Object { $_.Message -match 'Administrator' } |
Select-Object TimeCreated, Id, Message |
Format-Table -Wrap -AutoSize
4672 e 4732: privilégios e grupos merecem contexto, não pânico.
O evento 4672 registra privilégios especiais atribuídos a um novo logon. Ele pode aparecer em sessões esperadas, inclusive para SYSTEM. Por isso, o foco deve estar em contas inesperadas, horários incomuns e privilégios sensíveis fora do padrão.
Já o 4732 registra que alguém foi adicionado a um grupo local habilitado para segurança. Em ambientes de domínio, mudanças de grupo também podem aparecer em eventos como 4728 e 4756. O que importa é descobrir quem fez a alteração, quem foi incluído, em qual grupo e em qual contexto.
Privilégios especiais
Investigue contas inesperadas, privilégios de alto impacto e sessões fora do comportamento esperado.
Grupo local alterado
Observe inclusões em Administradores e outros grupos locais de alto valor.
Grupos de domínio
Monitore também alterações em grupos globais ou universais quando o cenário tiver Active Directory.
Get-WinEvent -FilterHashtable @{
LogName = 'Security'
Id = 4672
StartTime = (Get-Date).AddHours(-24)
} |
ForEach-Object {
[xml]$xml = $_.ToXml()
$data = @{}
foreach ($item in $xml.Event.EventData.Data) {
$data[$item.Name] = $item.'#text'
}
[PSCustomObject]@{
DataHora = $_.TimeCreated
Usuario = $data.SubjectUserName
Dominio = $data.SubjectDomainName
Privilegios = $data.PrivilegeList
}
} |
Where-Object {
$_.Usuario -notin @('SYSTEM','LOCAL SERVICE','NETWORK SERVICE')
} |
Format-Table -Wrap -AutoSize
Get-WinEvent -FilterHashtable @{
LogName = 'Security'
Id = 4732
StartTime = (Get-Date).AddHours(-24)
} |
ForEach-Object {
[xml]$xml = $_.ToXml()
$data = @{}
foreach ($item in $xml.Event.EventData.Data) {
$data[$item.Name] = $item.'#text'
}
[PSCustomObject]@{
DataHora = $_.TimeCreated
Responsavel = $data.SubjectUserName
Grupo = $data.TargetUserName
MembroSID = $data.MemberSid
Computador = $_.MachineName
}
} |
Format-Table -Wrap -AutoSize
Exportar, gerar hash e manter a cadeia de preservação.
Depois de localizar o canal relevante, eu preservo o EVTX original antes de trabalhar com filtros reduzidos. Exportar apenas resultados para XML ou CSV pode ser útil para análise, mas não substitui a preservação do arquivo de evento original.
New-Item -ItemType Directory -Path "C:ColetaEvidencias" -Force
wevtutil epl Security "C:ColetaEvidenciasSecurity.evtx" /ow:true
Get-FileHash -Path "C:ColetaEvidenciasSecurity.evtx" -Algorithm SHA256 |
Format-List |
Out-File "C:ColetaEvidenciasSecurity.evtx.sha256.txt"
- Origem da coleta e nome do computador
- Caminho original do EVTX
- Data e hora da preservação
- Nome da pessoa que realizou a coleta
- Hash SHA-256 do arquivo exportado
- Destino de armazenamento da evidência
Auditoria avançada, retenção e o alerta do evento 1102.
Uma investigação fica limitada quando a política de auditoria não gera eventos suficientes ou quando o canal Security é pequeno demais para reter o período necessário. Antes de depender dos logs, valide se a auditoria está habilitada e se a retenção faz sentido para o ambiente.
Log pequeno perde contexto
Se os eventos antigos são sobrescritos rápido demais, a linha do tempo pode desaparecer antes da investigação começar.
Sem política, não há evidência
Eventos de logon, grupos, privilégios e mudança de auditoria dependem de configuração adequada.
Security log limpo
Na maioria dos ambientes, esse evento não deveria ser comum e merece validação imediata.
auditpol /get /category:*
auditpol /set /subcategory:"Logon" /success:enable /failure:enable
auditpol /set /subcategory:"Audit Policy Change" /success:enable /failure:enable
Evento 1102 não prova ataque sozinho. Mas exige resposta.
O próximo passo é descobrir qual conta realizou a limpeza, qual sessão estava ativa, o que ocorreu antes do evento e se há cópias centralizadas disponíveis em SIEM, WEF ou outro coletor.
Sysmon: quando o log nativo precisa de mais contexto.
O Sysmon adiciona telemetria detalhada ao Windows, especialmente útil para criação de processos, linha de comando, conexões, alterações de arquivo e outros artefatos que ajudam a entender como uma ação começou.
Ele não substitui o Security log. Ele complementa a investigação, trazendo campos que tornam a correlação mais rica quando existe suspeita de execução, persistência, comportamento anômalo ou movimentação lateral.
Criação de processo
Ajuda a analisar imagem executada, usuário, PID, processo pai e linha de comando.
Conexão de rede
Pode enriquecer a investigação com destino, porta, processo e contexto temporal.
Criação de arquivo
Ajuda a observar gravações de arquivos em locais relevantes para a investigação.
Get-WinEvent -LogName "Microsoft-Windows-Sysmon/Operational" `
-FilterXPath "*[System/EventID=1]" `
-MaxEvents 20 |
ForEach-Object {
[xml]$xml = $_.ToXml()
$data = @{}
foreach ($item in $xml.Event.EventData.Data) {
$data[$item.Name] = $item.'#text'
}
[PSCustomObject]@{
DataHora = $_.TimeCreated
Usuario = $data.User
Processo = $data.Image
LinhaComando = $data.CommandLine
ProcessoPai = $data.ParentImage
PID = $data.ProcessId
}
} |
Format-Table -Wrap -AutoSize
Sysmon pode aumentar significativamente o volume de logs. Em produção, a configuração precisa considerar capacidade de armazenamento, privacidade, SIEM e casos de uso reais.
Checklist de análise forense de logs no Windows.
Marque os itens já revisados. O progresso fica salvo apenas neste navegador, para você usar como roteiro em novos laboratórios ou investigações autorizadas.
Nenhum item marcado ainda.
Dúvidas comuns sobre análise forense de logs Windows.
O evento 4625 sempre significa ataque de força bruta?
Não. Ele pode ser gerado por senha incorreta, serviço mal configurado, tarefa agendada antiga, credencial expirada ou erro legítimo. O sinal de risco aparece quando existe repetição, padrão, origem incomum, conta crítica ou correlação com outros eventos.
O evento 4672 confirma elevação maliciosa de privilégio?
Não sozinho. O evento registra privilégios especiais atribuídos a um novo logon. Ele deve ser investigado quando envolve conta inesperada, privilégios sensíveis, horário incomum ou comportamento fora do padrão.
Posso analisar apenas prints do Event Viewer?
Print ajuda a registrar visualmente uma descoberta, mas não substitui o EVTX original. Sempre que possível, preserve o log e gere hash antes de trabalhar em exportações reduzidas.
O evento 1102 prova que alguém apagou rastros?
Ele registra limpeza do Security log. Isso merece investigação, mas a conclusão depende do responsável, do horário, do contexto operacional e de evidências adicionais disponíveis em coleta centralizada.
Sysmon substitui Event Viewer e Security log?
Não. Sysmon complementa a visibilidade com telemetria detalhada. Uma investigação madura correlaciona Security, System, Application, PowerShell, Sysmon e outras fontes disponíveis.
Tem logs, evidências ou uma linha do tempo que precisa ser analisada com método?
Em um incidente real, coletar é apenas o começo. O próximo passo é entender o que ocorreu, preservar o que importa e orientar a contenção sem apagar rastros.