Communitygithub.com

análisis-de-registros-de-seguridad-con-splunk

Aprovecha Splunk Enterprise Security y SPL (Search Processing Language) para investigar incidentes de seguridad.

¿Qué es análisis-de-registros-de-seguridad-con-splunk?

Esta habilidad está diseñada para que un agente de IA realice investigaciones de seguridad cibernética utilizando Splunk Enterprise y Splunk Cloud con el módulo Enterprise Security. Proporciona un flujo de trabajo estructurado en seis pasos que cubre desde el alcance de la investigación y el análisis de eventos de autenticación hasta la trazabilidad de ejecución de procesos, la correlación de actividad de red, la reconstrucción de líneas de tiempo unificadas y la creación de reglas de detección persistentes. El agente puede ejecutar consultas SPL complejas para detectar patrones como fuerza bruta, movimiento lateral (p. ej., pass-the-hash), ejecución de PowerShell sospechosa, volcado de credenciales LSASS, balizamiento C2, túnel DNS y exfiltración de datos. Además, incluye guías para evitar errores comunes, como no normalizar zonas horarias o buscar en ventanas de tiempo insuficientes. La habilidad está optimizada para entornos Splunk con CIM configurado y fuentes de registro como Windows Event Log, Sysmon, firewall, proxy, DNS y EDR, y requiere un nivel intermedio o superior de SPL.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Análisis de Registros de Seguridad con Splunk

Cuándo Usarlo

  • Investigar un incidente de seguridad que requiera correlación entre múltiples fuentes de registro.
  • Buscar actividad de adversarios utilizando TTPs e IOCs conocidos.
  • Construir reglas de detección para patrones de ataque específicos.
  • Reconstruir la línea de tiempo de un incidente a partir de fuentes de registro dispares.
  • Analizar anomalías de autenticación, movimiento lateral o patrones de exfiltración de datos.

No usar para análisis de paquetes en tiempo real; use Wireshark o Zeek para el análisis completo de captura de paquetes.

Prerrequisitos

  • Splunk Enterprise o Splunk Cloud con la aplicación Enterprise Security (ES) instalada.
  • Fuentes de registro ingeridas: Windows Event Logs (mediante Splunk Universal Forwarder o WEF), firewall, proxy, DNS, EDR, gateway de correo electrónico.
  • Modelos de datos CIM (Common Information Model) de Splunk configurados para nombres de campo normalizados.
  • Competencia en SPL a nivel intermedio o superior.
  • Acceso basado en roles con capacidades search y accelerate_search en Splunk.

Flujo de Trabajo

Paso 1: Definir el Alcance de la Investigación en Splunk

Definir los parámetros de búsqueda basados en los datos de triage del incidente:

| Establecer el alcance inicial de la investigación
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 establece qué fuentes de registro contienen datos relevantes para el período de investigación y los activos afectados.

Paso 2: Analizar Eventos de Autenticación

Investigar patrones de autenticación sospechosos utilizando los registros de eventos de seguridad de Windows:

| Detectar fuerza bruta y relleno de credenciales
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 (Tipo de inicio de sesión 9 - NewCredentials)
index=windows sourcetype="WinEventLog:Security" EventCode=4624
  Logon_Type=9
| table _time, host, TargetUserName, src_ip, LogonProcessName

| Detectar movimiento lateral vía 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

Paso 3: Rastrear Ejecución de Procesos

Utilizar registros de Sysmon para reconstruir cadenas de ejecución de procesos:

| Creación de procesos con cadena padre (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 ejecución sospechosa 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 volcado de credenciales LSASS
index=sysmon EventCode=10 TargetImage="*\\lsass.exe"
  GrantedAccess=0x1010
| table _time, host, SourceImage, SourceUser, GrantedAccess

Paso 4: Analizar Actividad de Red

Correlacionar registros de red con eventos de punto final:

| Detectar patrón de balizamiento C2
index=proxy OR index=firewall dest_ip="185.220.101.42"
| timechart span=1m count by src_ip
| where count > 0

| Detectar túnel DNS (alto volumen de consultas a un solo dominio)
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 transferencias grandes de datos (potencial exfiltración)
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

Paso 5: Construir la Línea de Tiempo del Incidente

Reconstruir una línea de tiempo unificada a través de todas las fuentes de registro:

| Línea de tiempo unificada del 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, "Inicio de sesión: ".TargetUserName." desde ".src_ip,
    sourcetype=="WinEventLog:Security" AND EventCode==4625, "Inicio de sesión fallido: ".TargetUserName,
    sourcetype=="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" AND EventCode==1,
      "Proceso: ".Image." por ".User,
    sourcetype=="proxy", "Web: ".http_method." ".url,
    1==1, sourcetype.": ".EventCode)
| table _time, sourcetype, host, event_summary
| sort _time

Paso 6: Crear Reglas de Detección

Convertir los hallazgos de la investigación en búsquedas de correlación persistentes en Splunk:

| Búsqueda de correlación: PowerShell generado por aplicaciones de 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

Conceptos Clave

TérminoDefinición
SPL (Search Processing Language)El lenguaje de consulta de Splunk para buscar, filtrar, transformar y visualizar datos de máquina
CIM (Common Information Model)Estándar de normalización de campos de Splunk que asigna nombres de campo específicos de proveedores a nombres comunes para consultas entre fuentes
Evento NotableUn evento en Splunk Enterprise Security marcado para revisión del analista basado en una coincidencia de búsqueda de correlación
Modelo de DatosRepresentación estructurada de datos indexados en Splunk que permite búsquedas aceleradas y análisis basado en pivotes
SourcetypeEtiqueta de clasificación en Splunk que define el formato y las reglas de análisis para un tipo de registro específico
Búsqueda de CorrelaciónBúsqueda programada en Splunk que se ejecuta de forma continua y genera eventos notables cuando se cumplen las condiciones
TimechartComando SPL que crea visualizaciones de series temporales para identificar patrones, anomalías y tendencias

Herramientas y Sistemas

  • Splunk Enterprise Security (ES): Aplicación SIEM premium que proporciona búsquedas de correlación, alertas basadas en riesgo y un banco de trabajo de investigación.
  • Splunk SOAR: Plataforma de orquestación integrada con Splunk ES para playbooks de respuesta automatizada.
  • Sysmon: Herramienta de monitoreo del sistema de Microsoft que proporciona telemetría detallada de procesos, redes y cambios en archivos, ingerida en Splunk.
  • Splunk Attack Analyzer: Análisis automatizado de amenazas que detona archivos y URLs sospechosos, alimentando los resultados en Splunk.
  • BOSS of the SOC (BOTS): Conjunto de datos de entrenamiento de SANS/Splunk para practicar consultas SPL de investigación de incidentes.

Escenarios Comunes

Escenario: Investigación de Relleno de Credenciales que Conduce a la Toma de Control de una Cuenta

Contexto: Las operaciones de seguridad reciben una alerta por múltiples inicios de sesión exitosos en una sola cuenta desde direcciones IP geográficamente dispersas en un período de 30 minutos.

Enfoque:

  1. Consultar el Event ID 4624 para la cuenta afectada y mapear todas las fuentes y horas de inicio de sesión.
  2. Correlacionar las IPs de inicio de sesión con fuentes de inteligencia de amenazas utilizando una tabla de búsqueda de Splunk.
  3. Revisar los registros de proxy en busca de actividad sospechosa desde las sesiones autenticadas.
  4. Buscar movimiento lateral desde la cuenta comprometida (Event ID 4624 Type 3 hacia otros hosts).
  5. Construir una línea de tiempo que muestre los intentos de relleno de credenciales, el inicio de sesión exitoso y la actividad posterior al compromiso.
  6. Crear una búsqueda de correlación para detectar patrones similares en otras cuentas.

Errores Comunes:

  • Buscar solo las últimas 24 horas cuando el relleno de credenciales pudo haber ocurrido durante semanas.
  • No verificar los registros de VPN que podrían mostrar la misma cuenta autenticándose desde distancias de viaje imposibles.
  • No normalizar las marcas de tiempo entre fuentes de registro en diferentes zonas horarias.

Formato de Salida

INFORME DE INVESTIGACIÓN SPLUNK
============================
Incidente:        INC-2025-1547
Analista:         [Nombre]
Período de Investigación: 2025-11-14 00:00 UTC - 2025-11-16 00:00 UTC

ALCANCE DE BÚSQUEDA
Índices:         windows, sysmon, proxy, firewall, dns
Hosts:           WKSTN-042, SRV-FILE01
Usuarios:        jsmith, svc-backup
IPs de Origen:   10.1.5.42, 10.1.10.15

HALLAZGOS CLAVE
1. [marca de tiempo] - Compromiso inicial vía phishing (Sysmon Event 1)
2. [marca de tiempo] - C2 establecido (registros de proxy, patrón de balizamiento detectado)
3. [marca de tiempo] - Robo de credenciales (Sysmon Event 10, acceso a LSASS)
4. [marca de tiempo] - Movimiento lateral a SRV-FILE01 (Event 4624 Type 3)
5. [marca de tiempo] - Preparación y exfiltración de datos (anomalía en bytes_out del proxy)

CONSULTAS SPL UTILIZADAS
[Lista numerada de consultas clave con descripciones]

BRECHAS DE DETECCIÓN IDENTIFICADAS
- Sysmon no implementado en SRV-FILE01 (punto ciego)
- Registros de proxy sin inspección SSL para el dominio C2
- Registro de ScriptBlock de PowerShell no habilitado

DETECCIONES RECOMENDADAS
1. Búsqueda de correlación para PowerShell generado por Office
2. Alerta de umbral para patrones de acceso a LSASS
3. Regla de comportamiento para tráfico de red con intervalo de balizamiento

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,

Skills relacionados