Communitygithub.com

analyzing-windows-event-logs-in-splunk

Analisa logs de eventos do Windows (Security, System e Sysmon) no Splunk para detecção de ameaças, resposta a incidentes e caça a ameaças.

O que é analyzing-windows-event-logs-in-splunk?

Esta skill especializa-se na análise de logs de eventos do Windows no Splunk, cobrindo desde a detecção de ataques de autenticação (força bruta, password spray) até movimentação lateral, escalonamento de privilégio e persistência. Ela fornece consultas SPL prontas para uso, organizadas em um fluxo de trabalho passo a passo: detecção de ataques de autenticação (passo 1), escalonamento de privilégio (passo 2), mecanismos de persistência (passo 3), movimentação lateral (passo 4) e construção de linha do tempo forense (passo 5). A skill também inclui uma tabela de referência de Event IDs do Windows mapeados para técnicas MITRE ATT&CK, tabelas de enriquecimento e um formato de saída padronizado. Suporta Splunk Enterprise e Sysmon, assumindo que os dados estão nos sourcetypes WinEventLog:Security, WinEventLog:System e XmlWinEventLog:Microsoft-Windows-Sysmon/Operational. O público-alvo são analistas de SOC, engenheiros de detecção e respondedores de incidentes que trabalham com ambientes Windows.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/analyzing-windows-event-logs-in-splunk

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Analisando Logs de Eventos do Windows no Splunk

Quando Usar

Use esta skill quando:

  • Analistas de SOC investigam alertas relacionados a autenticação do Windows, execução de processos ou alterações no AD
  • Engenheiros de detecção constroem consultas SPL para detecção de ameaças baseadas em Windows
  • Respondedores de incidentes precisam de linhas do tempo forenses de atividades em endpoints Windows ou controladores de domínio
  • Caça a ameaças periódica tem como alvo técnicas ATT&CK específicas do Windows

Não use para análise de endpoints Linux/macOS ou investigações exclusivamente de rede.

Pré-requisitos

  • Splunk com dados de log de eventos do Windows ingeridos (sourcetype WinEventLog:Security, WinEventLog:System, XmlWinEventLog:Microsoft-Windows-Sysmon/Operational)
  • Sysmon implantado nos endpoints com configuração SwiftOnSecurity ou Olaf Hartong
  • Aceleração do modelo de dados CIM para os modelos de dados Endpoint e Authentication
  • Conhecimento dos IDs de eventos de segurança do Windows e tipos de eventos do Sysmon

Fluxo de Trabalho

Passo 1: Detecção de Ataques de Autenticação

Detecção de Força Bruta (EventCode 4625 — Falha de Logon):

index=wineventlog sourcetype="WinEventLog:Security" EventCode=4625
| stats count, dc(TargetUserName) AS unique_users, values(TargetUserName) AS targeted_users
  by src_ip, Logon_Type, Status
| where count > 20
| eval attack_type = case(
    Logon_Type=3, "Força Bruta de Rede",
    Logon_Type=10, "Força Bruta RDP",
    Logon_Type=2, "Força Bruta Interativa",
    1=1, "Outro"
  )
| eval status_meaning = case(
    Status="0xc000006d", "Nome de Usuário ou Senha Inválidos",
    Status="0xc000006a", "Senha Incorreta (usuário válido)",
    Status="0xc0000234", "Conta Bloqueada",
    Status="0xc0000072", "Conta Desabilitada",
    1=1, Status
  )
| sort - count
| table src_ip, attack_type, status_meaning, count, unique_users, targeted_users

Detecção de Password Spray:

index=wineventlog sourcetype="WinEventLog:Security" EventCode=4625 Logon_Type=3
| bin _time span=10m
| stats dc(TargetUserName) AS unique_users, count AS total_attempts,
  values(TargetUserName) AS users_targeted by src_ip, _time
| where unique_users > 10 AND total_attempts < unique_users * 3
| eval spray_confidence = if(unique_users > 25, "ALTA", "MÉDIA")

Logon Bem-sucedido Após Falhas (Indicador de Comprometimento):

index=wineventlog sourcetype="WinEventLog:Security"
(EventCode=4625 OR EventCode=4624) src_ip!="127.0.0.1"
| sort _time
| stats earliest(_time) AS first_seen, latest(_time) AS last_seen,
  sum(eval(if(EventCode=4625,1,0))) AS failures,
  sum(eval(if(EventCode=4624,1,0))) AS successes
  by src_ip, TargetUserName, ComputerName
| where failures > 10 AND successes > 0
| eval time_to_success = round((last_seen - first_seen)/60, 1)
| sort - failures

Passo 2: Detecção de Escalonamento de Privilégio

Nova Conta de Administrador Criada (T1136.001):

index=wineventlog sourcetype="WinEventLog:Security" EventCode=4720
| join TargetUserName type=left [
    search index=wineventlog EventCode=4732 TargetUserName="Administrators"
    | rename MemberName AS TargetUserName
  ]
| table _time, SubjectUserName, TargetUserName, ComputerName
| eval alert = "Nova conta criada e adicionada ao grupo Administradores"

Privilégios Especiais Atribuídos (EventCode 4672):

index=wineventlog sourcetype="WinEventLog:Security" EventCode=4672
SubjectUserName!="SYSTEM" SubjectUserName!="LOCAL SERVICE" SubjectUserName!="NETWORK SERVICE"
| stats count, values(PrivilegeList) AS privileges by SubjectUserName, ComputerName
| where count > 0
| search privileges IN ("SeDebugPrivilege", "SeTcbPrivilege", "SeBackupPrivilege",
  "SeRestorePrivilege", "SeAssignPrimaryTokenPrivilege")

Detecção de Manipulação de Token (T1134):

index=sysmon EventCode=10 TargetImage="*\\lsass.exe"
GrantedAccess IN ("0x1010", "0x1038", "0x1fffff", "0x40")
| stats count by SourceImage, SourceUser, Computer, GrantedAccess
| where NOT match(SourceImage, "(svchost|csrss|wininit|MsMpEng|CrowdStrike)")
| sort - count

Passo 3: Detecção de Mecanismos de Persistência

Criação de Tarefa Agendada (T1053.005):

index=wineventlog (sourcetype="WinEventLog:Security" EventCode=4698)
  OR (sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1
      Image="*\\schtasks.exe")
| eval task_info = coalesce(TaskContent, CommandLine)
| search task_info="*powershell*" OR task_info="*cmd*" OR task_info="*http*" OR task_info="*\\Temp\\*"
| table _time, Computer, SubjectUserName, TaskName, task_info

Modificação de Chave Run do Registro (T1547.001):

index=sysmon EventCode=13
TargetObject IN (
  "*\\CurrentVersion\\Run\\*",
  "*\\CurrentVersion\\RunOnce\\*",
  "*\\CurrentVersion\\RunServices\\*",
  "*\\Explorer\\Shell Folders\\*"
)
| stats count by Computer, Image, TargetObject, Details
| where NOT match(Image, "(explorer\\.exe|msiexec\\.exe|setup\\.exe)")
| sort - count

Assinatura de Evento WMI (T1546.003):

index=sysmon EventCode=20 OR EventCode=21
| stats count by Computer, Operation, Consumer, EventNamespace
| where count > 0

Passo 4: Detecção de Movimentação Lateral

Exploração de Serviço Remoto (T1021.002 — SMB/Compartilhamentos Administrativos do Windows):

index=wineventlog sourcetype="WinEventLog:Security" EventCode=4624 Logon_Type=3
| stats dc(ComputerName) AS unique_destinations, values(ComputerName) AS targets
  by src_ip, TargetUserName
| where unique_destinations > 3
| sort - unique_destinations
| table src_ip, TargetUserName, unique_destinations, targets

Detecção de PsExec (T1021.002):

index=sysmon EventCode=1
(Image="*\\psexec.exe" OR Image="*\\psexesvc.exe"
 OR ParentImage="*\\psexesvc.exe"
 OR OriginalFileName="psexec.c")
| table _time, Computer, User, ParentImage, Image, CommandLine

Movimentação Lateral via RDP (T1021.001):

index=wineventlog sourcetype="WinEventLog:Security" EventCode=4624 Logon_Type=10
| stats count, dc(ComputerName) AS rdp_targets, values(ComputerName) AS destinations
  by src_ip, TargetUserName
| where rdp_targets > 2
| sort - rdp_targets

Passo 5: Construir Linha do Tempo Forense

Crie uma linha do tempo abrangente para um host comprometido:

(index=wineventlog OR index=sysmon) Computer="WORKSTATION-042"
earliest="2024-03-14T00:00:00" latest="2024-03-16T00:00:00"
| eval event_description = case(
    EventCode=4624, "Logon: ".TargetUserName." (Tipo ".Logon_Type.")",
    EventCode=4625, "Falha de Logon: ".TargetUserName,
    EventCode=4688 OR (sourcetype="XmlWinEventLog:*Sysmon*" AND EventCode=1),
      "Processo: ".Image." CMD: ".CommandLine,
    EventCode=4698, "Tarefa Agendada: ".TaskName,
    EventCode=3, "Rede: ".DestinationIp.":".DestinationPort,
    EventCode=11, "Arquivo Criado: ".TargetFilename,
    EventCode=13, "Registro: ".TargetObject,
    1=1, "Evento ".EventCode
  )
| sort _time
| table _time, EventCode, event_description, User, src_ip

Passo 6: Criar Tabelas de Consulta para Enriquecimento

Construa referências de consulta para contexto de Event ID do Windows:

| inputlookup windows_eventcode_lookup.csv
| table EventCode, Description, ATT_CK_Technique, Severity

Se a tabela de consulta não existir, crie-a:

EventCode,Description,ATT_CK_Technique,Severity
4624,Logon Bem-sucedido,T1078,Informativo
4625,Falha de Logon,T1110,Baixo
4648,Logon com Credenciais Explícitas,T1078,Médio
4672,Privilégios Especiais Atribuídos,T1134,Médio
4688,Novo Processo Criado,T1059,Informativo
4698,Tarefa Agendada Criada,T1053.005,Médio
4720,Conta de Usuário Criada,T1136.001,Alto
4732,Membro Adicionado ao Grupo de Segurança,T1098,Alto
4768,Solicitação de TGT Kerberos,T1558,Informativo
4769,Ticket de Serviço Kerberos,T1558.003,Baixo
4771,Falha de Pré-autenticação Kerberos,T1110,Baixo

Conceitos-chave

TermoDefinição
EventCode 4624Evento de logon bem-sucedido — Logon_Type 2 (interativo), 3 (rede), 10 (RDP), 7 (desbloqueio)
EventCode 4625Evento de falha de logon — Código de status indica o motivo da falha (senha incorreta, conta bloqueada, desabilitada)
Sysmon EventCode 1Criação de processo com linha de comando completa, processo pai e informações de hash
Sysmon EventCode 3Conexão de rede iniciada por um processo — IP de origem/destino, porta e contexto do processo
Logon Type 3Logon de rede (SMB, WMI, PowerShell Remoting) — indicador-chave de movimentação lateral
Logon Type 10Logon interativo remoto via RDP/Terminal Services

Ferramentas e Sistemas

  • Splunk Enterprise: Plataforma SIEM com mecanismo de consulta SPL para análise e correlação de logs de eventos do Windows
  • Sysmon (System Monitor): Ferramenta Microsoft Sysinternals que fornece registro detalhado de processos, rede e atividades de arquivos
  • Splunk CIM: Common Information Model mapeando eventos do Windows para campos normalizados para consultas entre fontes
  • Windows Event Forwarding (WEF): Mecanismo interno do Windows para centralizar logs de eventos em um servidor coletor

Cenários Comuns

  • Kerberoasting (T1558.003): Detecte EventCode 4769 com tipo de criptografia 0x17 (RC4) para contas de serviço não padrão
  • DCSync (T1003.006): Detecte EventCode 4662 com DS-Replication-Get-Changes de fontes que não são controladores de domínio
  • Golden Ticket (T1558.001): Detecte EventCode 4769 com propriedades anormais de ticket (vida útil longa, criptografia não padrão)
  • Pass-the-Hash (T1550.002): Detecte EventCode 4624 Logon_Type 3 com autenticação NTLM de fontes inesperadas
  • DLL Side-Loading (T1574.002): Sysmon EventCode 7 mostrando DLLs não assinadas carregadas por processos legítimos

Formato de Saída

ANÁLISE DE LOG DE EVENTOS DO WINDOWS — HOST: WORKSTATION-042
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Período:     2024-03-14 a 2024-03-15
Eventos:     12.847 total (Security: 9.231 | Sysmon: 3.616)

Resumo de Autenticação:
  Logons Bem-sucedidos (4624):    487 (Tipo 3: 312, Tipo 10: 45, Tipo 2: 130)
  Falhas de Logon (4625):         847 (de 192.168.1.105 — FORÇA BRUTA)
  Credenciais Explícitas (4648):  12

Descobertas Suspeitas:
  [ALTO]   847 falhas de logon seguidas de sucesso às 14:35 de 192.168.1.105
  [ALTO]   Novo usuário "backdoor_admin" criado (4720) às 14:38
  [ALTO]   Usuário adicionado ao grupo Administradores (4732) às 14:38
  [MÉDIO]  schtasks.exe criando tarefa de persistência às 14:42
  [MÉDIO]  Execução de comando PowerShell codificado às 14:45

Mapeamento ATT&CK:
  T1110.001 — Adivinhação de Senha (847 falhas de logon)
  T1136.001 — Criação de Conta Local (backdoor_admin)
  T1053.005 — Tarefa Agendada (persistência)
  T1059.001 — PowerShell (execução codificada)

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

acquiring-disk-image-with-dd-and-dcfldd

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

Habilidades Relacionadas