Communitygithub.com

analisando-logs-de-seguranca-com-splunk

Aproveita o Splunk Enterprise Security e a SPL (Search Processing Language) para correlacionar logs de múltiplas fontes e detectar ameaças.

O que é analisando-logs-de-seguranca-com-splunk?

Este skill capacita AI agents a realizarem análises aprofundadas de segurança cibernética utilizando o Splunk Enterprise Security e a linguagem de consulta SPL. Ele é essencial para times de SOC que precisam investigar incidentes complexos, como movimentação lateral, exfiltração de dados e ataques de força bruta. Suportado pelas plataformas Splunk Cloud ou on-premises, o skill oferece um fluxo de trabalho estruturado que abrange desde o escopo inicial da investigação até a criação de regras de detecção persistentes. Com ele, o agente pode executar consultas pré-definidas para analisar autenticações, processos, atividades de rede e montar uma linha do tempo unificada do incidente.

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

Perguntar na sua IA favorita

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

Documentação

Analisando Logs de Segurança com Splunk

Quando Usar

  • Investigando um incidente de segurança que requer correlação entre várias fontes de log
  • Caçando atividades de adversários usando TTPs e IOCs conhecidos
  • Construindo regras de detecção para padrões de ataque específicos
  • Reconstruindo uma linha do tempo do incidente a partir de fontes de log díspares
  • Analisando anomalias de autenticação, movimentação lateral ou padrões de exfiltração de dados

Não use para análise de pacotes em tempo real; use Wireshark ou Zeek para análise completa de captura de pacotes.

Pré-requisitos

  • Splunk Enterprise ou Splunk Cloud com o aplicativo Enterprise Security (ES) instalado
  • Fontes de log ingeridas: Windows Event Logs (via Splunk Universal Forwarder ou WEF), firewall, proxy, DNS, EDR, gateway de e-mail
  • Modelos de dados do Splunk CIM (Common Information Model) configurados para nomes de campos normalizados
  • Proficiência em SPL em nível intermediário ou superior
  • Acesso baseado em funções com capacidades search e accelerate_search no Splunk

Fluxo de Trabalho

Etapa 1: Escopo da Investigação no Splunk

Defina os parâmetros de busca com base nos dados de triagem do incidente:

| Definir escopo inicial da investigação
index=windows OR index=firewall OR index=proxy
  earliest="2025-11-14T00:00:00" latest="2025-11-16T00:00:00"
  (host="WKSTN-042" OR src_ip="10.1.5.42" OR user="jsmith")
| stats count by index, sourcetype, host
| sort -count

Esta consulta estabelece quais fontes de log contêm dados relevantes para o período da investigação e os ativos afetados.

Etapa 2: Analisar Eventos de Autenticação

Investigue padrões suspeitos de autenticação usando Windows Security Event Logs:

| Detectar força bruta e credential stuffing
index=windows sourcetype="WinEventLog:Security" EventCode=4625
  earliest=-24h
| stats count as failed_attempts, values(src_ip) as source_ips,
  dc(src_ip) as unique_sources by TargetUserName
| where failed_attempts > 10
| sort -failed_attempts

| Detectar pass-the-hash (Logon Type 9 - NewCredentials)
index=windows sourcetype="WinEventLog:Security" EventCode=4624
  Logon_Type=9
| table _time, host, TargetUserName, src_ip, LogonProcessName

| Detectar movimentação lateral via RDP
index=windows sourcetype="WinEventLog:Security" EventCode=4624
  Logon_Type=10
| stats count, values(host) as targets by TargetUserName, src_ip
| where count > 3
| sort -count

Etapa 3: Rastrear Execução de Processos

Use logs Sysmon para reconstruir cadeias de execução de processos:

| Criação de processo com cadeia pai (Sysmon Event ID 1)
index=sysmon EventCode=1 host="WKSTN-042"
  earliest="2025-11-15T14:00:00" latest="2025-11-15T15:00:00"
| table _time, ParentImage, ParentCommandLine, Image, CommandLine, User, Hashes
| sort _time

| Detectar execução suspeita de PowerShell
index=sysmon EventCode=1 Image="*\\powershell.exe"
  (CommandLine="*-enc*" OR CommandLine="*-encodedcommand*"
   OR CommandLine="*downloadstring*" OR CommandLine="*iex*")
| table _time, host, User, ParentImage, CommandLine
| sort _time

| Detectar roubo de credenciais do LSASS
index=sysmon EventCode=10 TargetImage="*\\lsass.exe"
  GrantedAccess=0x1010
| table _time, host, SourceImage, SourceUser, GrantedAccess

Etapa 4: Analisar Atividade de Rede

Correlacione logs de rede com eventos de endpoint:

| Detectar padrão de beacon C2
index=proxy OR index=firewall dest_ip="185.220.101.42"
| timechart span=1m count by src_ip
| where count > 0

| Detectar DNS tunneling (alto volume de consultas para um único domínio)
index=dns
| rex field=query "(?<subdomain>[^\\.]+)\\.(?<domain>[^\\.]+\\.[^\\.]+)$"
| stats count, avg(len(query)) as avg_query_len by domain, src_ip
| where count > 500 AND avg_query_len > 40
| sort -count

| Detectar grandes transferências de dados (potencial exfiltração)
index=proxy action=allowed
| stats sum(bytes_out) as total_bytes by src_ip, dest_ip, dest_host
| eval total_MB=round(total_bytes/1024/1024,2)
| where total_MB > 100
| sort -total_MB

Etapa 5: Construir a Linha do Tempo do Incidente

Reconstrua uma linha do tempo unificada em todas as fontes de log:

| Linha do tempo unificada do incidente
index=windows OR index=sysmon OR index=proxy OR index=firewall
  (host="WKSTN-042" OR src_ip="10.1.5.42" OR user="jsmith")
  earliest="2025-11-15T14:00:00" latest="2025-11-15T16:00:00"
| eval event_summary=case(
    sourcetype=="WinEventLog:Security" AND EventCode==4624, "Logon: ".TargetUserName." from ".src_ip,
    sourcetype=="WinEventLog:Security" AND EventCode==4625, "Failed logon: ".TargetUserName,
    sourcetype=="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" AND EventCode==1,
      "Process: ".Image." by ".User,
    sourcetype=="proxy", "Web: ".http_method." ".url,
    1==1, sourcetype.": ".EventCode)
| table _time, sourcetype, host, event_summary
| sort _time

Etapa 6: Criar Regras de Detecção

Converta os achados da investigação em correlações persistentes no Splunk:

| Correlação: PowerShell iniciado por aplicativos Office
index=sysmon EventCode=1
  Image="*\\powershell.exe"
  (ParentImage="*\\winword.exe" OR ParentImage="*\\excel.exe"
   OR ParentImage="*\\outlook.exe")
| eval severity="high"
| eval mitre_technique="T1059.001"
| collect index=notable_events

Conceitos Chave

TermoDefinição
SPL (Search Processing Language)A linguagem de consulta do Splunk para pesquisar, filtrar, transformar e visualizar dados de máquina
CIM (Common Information Model)Padrão de normalização de campos do Splunk que mapeia nomes de campos específicos de fornecedores para nomes comuns em consultas entre fontes
Notable EventUm evento no Splunk Enterprise Security sinalizado para revisão do analista com base em uma correspondência de busca de correlação
Data ModelRepresentação estruturada de dados indexados no Splunk que permite buscas aceleradas e análises baseadas em pivô
SourcetypeRótulo de classificação no Splunk que define o formato e as regras de parsing para um tipo específico de log
Correlation SearchBusca agendada no Splunk que é executada continuamente e gera eventos notáveis quando as condições são atendidas
TimechartComando SPL que cria visualizações de séries temporais para identificar padrões, anomalias e tendências

Ferramentas e Sistemas

  • Splunk Enterprise Security (ES): Aplicativo SIEM premium que fornece buscas de correlação, alertas baseados em risco e mesa de investigação
  • Splunk SOAR: Plataforma de orquestração integrada ao Splunk ES para playbooks de resposta automatizada
  • Sysmon: Ferramenta de monitoramento do sistema Microsoft que fornece telemetria detalhada de processos, rede e alterações de arquivos ingerida no Splunk
  • Splunk Attack Analyzer: Análise automatizada de ameaças que detona arquivos e URLs suspeitos, alimentando os resultados no Splunk
  • BOSS of the SOC (BOTS): Conjunto de dados de treinamento SANS/Splunk para praticar consultas SPL de investigação de incidentes

Cenários Comuns

Cenário: Investigando Credential Stuffing Levando a Account Takeover

Contexto: As operações de segurança recebem um alerta para múltiplos logins bem-sucedidos em uma única conta a partir de endereços IP geograficamente dispersos dentro de uma janela de 30 minutos.

Abordagem:

  1. Consultar o Event ID 4624 para a conta afetada, mapeando todas as fontes e horários de login
  2. Correlacionar IPs de login com feeds de inteligência de ameaças usando uma tabela de lookup no Splunk
  3. Verificar logs de proxy para atividades suspeitas nas sessões autenticadas
  4. Buscar movimentação lateral a partir da conta comprometida (Event ID 4624 Type 3 para outros hosts)
  5. Construir uma linha do tempo mostrando tentativas de credential stuffing, login bem-sucedido e atividade pós-compromisso
  6. Criar uma busca de correlação para detectar padrões semelhantes em outras contas

Armadilhas:

  • Pesquisar apenas as últimas 24 horas quando o credential stuffing pode ter ocorrido ao longo de semanas
  • Não verificar logs de VPN que podem mostrar a mesma conta autenticando de distâncias de viagem impossíveis
  • Falhar ao normalizar carimbos de data/hora entre fontes de log em diferentes fusos horários

Formato de Saída

RELATÓRIO DE INVESTIGAÇÃO SPLUNK
=================================
Incidente:        INC-2025-1547
Analista:         [Nome]
Período de Investigação: 2025-11-14 00:00 UTC - 2025-11-16 00:00 UTC

ESCOPO DA BUSCA
Índices:         windows, sysmon, proxy, firewall, dns
Hosts:           WKSTN-042, SRV-FILE01
Usuários:        jsmith, svc-backup
IPs de Origem:   10.1.5.42, 10.1.10.15

PRINCIPAIS DESCOBERTAS
1. [timestamp] - Comprometimento inicial via phishing (Sysmon Event 1)
2. [timestamp] - C2 estabelecida (logs de proxy, padrão de beacon detectado)
3. [timestamp] - Roubo de credenciais (Sysmon Event 10, acesso LSASS)
4. [timestamp] - Movimentação lateral para SRV-FILE01 (Event 4624 Type 3)
5. [timestamp] - Preparação e exfiltração de dados (anomalia em bytes_out do proxy)

CONSULTAS SPL UTILIZADAS
[lista numerada de consultas chave com descrições]

LACUNAS DE DETECÇÃO IDENTIFICADAS
- Nenhum Sysmon implantado no SRV-FILE01 (ponto cego)
- Logs de proxy sem inspeção SSL para domínio C2
- Log de ScriptBlock do PowerShell não habilitado

DETECÇÕES RECOMENDADAS
1. Busca de correlação para PowerShell iniciado pelo Office
2. Alerta de limite para padrões de acesso ao LSASS
3. Regra comportamental para tráfego de rede com intervalos de beacon

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