Communitygithub.com

Sicherheitslog-Analyse mit Splunk

Nutzung von Splunk Enterprise Security und SPL (Search Processing Language) zur Untersuchung und Korrelation von Sicherheitsvorfällen.

Was ist Sicherheitslog-Analyse mit Splunk?

Dieses Skill für KI-Agenten (kompatibel mit Claude Code, Cursor, Codex u. Ä.) ermöglicht eine strukturierte Sicherheitsvorfall-Untersuchung mit Splunk Enterprise Security und der Splunk Search Processing Language (SPL). Es führt den Nutzer Schritt für Schritt durch die Analyse von Windows-Ereignisprotokollen, Sysmon-Prozessen, Netzwerkdaten (Proxy, Firewall, DNS) und Authentifizierungsanomalien – von der ersten Eingrenzung des Vorfalls bis zur Erstellung von Korrelationssuchen. Der Workflow umfasst sechs Phasen: Untersuchungsbereich festlegen, Authentifizierungsereignisse analysieren, Prozessausführung verfolgen, Netzwerkaktivität korrelieren, eine einheitliche Ereignis-Chronologie erstellen und schließlich wiedererkennbare Detection-Regeln ableiten. Enthalten sind praxisnahe SPL-Abfragen für typische Angriffsmuster wie Brute-Force, Pass-the-Hash, C2-Beaconing, DNS-Tunneling und Datenexfiltration. Nützlich für Incident-Responder, die schnelle, reproduzierbare Analysen in Splunk benötigen, sowie für Entwickler, die automatisierte Sicherheitsworkflows in ihren KI-Agenten integrieren möchten. Das Skill setzt voraus, dass Windows-Ereignisprotokolle, Sysmon, Proxy-, Firewall-, DNS- und EDR-Logs an Splunk gesendet werden und das Common Information Model (CIM) konfiguriert ist.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Sicherheitslog-Analyse mit Splunk?

Wann verwenden

  • Untersuchung eines Sicherheitsvorfalls, der Korrelation über mehrere Logquellen erfordert
  • Jagd nach Angreiferaktivitäten mithilfe bekannter TTPs und IOCs
  • Erstellung von Erkennungsregeln für bestimmte Angriffsmuster
  • Rekonstruktion einer Vorfall-Zeitachse aus unterschiedlichen Logquellen
  • Analyse von Authentifizierungsanomalien, Lateral Movement oder Datenexfiltrationsmustern

Nicht verwenden für Echtzeit-Paketanalyse; dafür Wireshark oder Zeek für die vollständige Paketerfassung nutzen.

Voraussetzungen

  • Splunk Enterprise oder Splunk Cloud mit installierter Enterprise Security (ES)-App
  • Ingestierte Logquellen: Windows-Ereignisprotokolle (via Splunk Universal Forwarder oder WEF), Firewall, Proxy, DNS, EDR, E-Mail-Gateway
  • Konfigurierte Splunk CIM (Common Information Model)-Datenmodelle für normalisierte Feldnamen
  • SPL-Kenntnisse auf mittlerem Niveau oder höher
  • Rollenbasierte Zugriffssteuerung mit search- und accelerate_search-Fähigkeiten in Splunk

Workflow

Schritt 1: Untersuchungsbereich in Splunk festlegen

Suchparameter basierend auf Triage-Daten des Vorfalls definieren:

| Untersuchungsbereich festlegen
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

Diese Abfrage ermittelt, welche Logquellen im Untersuchungszeitraum und für die betroffenen Assets relevante Daten enthalten.

Schritt 2: Authentifizierungsereignisse analysieren

Verdächtige Authentifizierungsmuster mithilfe der Windows-Sicherheitsereignisprotokolle untersuchen:

| Brute-Force und Credential Stuffing erkennen
index=windows sourcetype="WinEventLog:Security" EventCode=4625
  earliest=-24h
| stats count as fehlgeschlagene_versuche, values(src_ip) as quell_ips,
  dc(src_ip) as eindeutige_quellen by TargetUserName
| where fehlgeschlagene_versuche > 10
| sort -fehlgeschlagene_versuche

| Pass-the-Hash erkennen (Anmeldetyp 9 - NewCredentials)
index=windows sourcetype="WinEventLog:Security" EventCode=4624
  Logon_Type=9
| table _time, host, TargetUserName, src_ip, LogonProcessName

| Lateral Movement via RDP erkennen
index=windows sourcetype="WinEventLog:Security" EventCode=4624
  Logon_Type=10
| stats count, values(host) as ziele by TargetUserName, src_ip
| where count > 3
| sort -count

Schritt 3: Prozessausführung verfolgen

Sysmon-Protokolle zur Rekonstruktion von Prozessausführungsketten verwenden:

| Prozesserstellung mit Elternkette (Sysmon Ereignis-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

| Verdächtige PowerShell-Ausführung erkennen
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

| LSASS-Credential-Dumping erkennen
index=sysmon EventCode=10 TargetImage="*\\lsass.exe"
  GrantedAccess=0x1010
| table _time, host, SourceImage, SourceUser, GrantedAccess

Schritt 4: Netzwerkaktivität analysieren

Netzwerkprotokolle mit Endpunkt-Ereignissen korrelieren:

| C2-Beaconing-Muster erkennen
index=proxy OR index=firewall dest_ip="185.220.101.42"
| timechart span=1m count by src_ip
| where count > 0

| DNS-Tunneling erkennen (hohe Abfrageanzahl zu einer einzelnen Domain)
index=dns
| rex field=query "(?<subdomain>[^\.]+)\.(?<domain>[^\.]+\.[^\.]+)$"
| stats count, avg(len(query)) as avg_abfrage_laenge by domain, src_ip
| where count > 500 AND avg_abfrage_laenge > 40
| sort -count

| Große Datentransfers erkennen (potenzielle Exfiltration)
index=proxy action=allowed
| stats sum(bytes_out) as gesamt_bytes by src_ip, dest_ip, dest_host
| eval gesamt_MB=round(gesamt_bytes/1024/1024,2)
| where gesamt_MB > 100
| sort -gesamt_MB

Schritt 5: Ereignis-Chronologie erstellen

Eine einheitliche Zeitachse über alle Logquellen hinweg rekonstruieren:

| Einheitliche Vorfall-Zeitachse
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 ereignis_zusammenfassung=case(
    sourcetype=="WinEventLog:Security" AND EventCode==4624, "Anmeldung: ".TargetUserName." von ".src_ip,
    sourcetype=="WinEventLog:Security" AND EventCode==4625, "Fehlgeschlagene Anmeldung: ".TargetUserName,
    sourcetype=="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" AND EventCode==1,
      "Prozess: ".Image." von ".User,
    sourcetype=="proxy", "Web: ".http_method." ".url,
    1==1, sourcetype.": ".EventCode)
| table _time, sourcetype, host, ereignis_zusammenfassung
| sort _time

Schritt 6: Erkennungsregeln erstellen

Untersuchungsergebnisse in dauerhafte Splunk-Korrelationssuchen umwandeln:

| Korrelationssuche: Von Office-Anwendungen gestartete PowerShell
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

Schlüsselkonzepte

BegriffDefinition
SPL (Search Processing Language)Splunks Abfragesprache zum Suchen, Filtern, Transformieren und Visualisieren von Maschinendaten
CIM (Common Information Model)Splunks Feldnormalisierungsstandard, der herstellerspezifische Feldnamen für quellenübergreifende Abfragen auf gemeinsame Namen abbildet
Notable EventEin Ereignis in Splunk Enterprise Security, das basierend auf einem Korrelationssuchen-Treffer zur Analystenprüfung markiert wurde
DatenmodellStrukturierte Darstellung indizierter Daten in Splunk, die beschleunigte Suchen und pivotbasierte Analysen ermöglicht
SourcetypeKlassifikationsbezeichnung in Splunk, die das Format und die Parsing-Regeln für einen bestimmten Logtyp definiert
KorrelationssucheGeplante Splunk-Suche, die kontinuierlich läuft und bei Erfüllung der Bedingungen Notable Events generiert
TimechartSPL-Befehl zur Erstellung von Zeitreihenvisualisierungen zur Identifizierung von Mustern, Anomalien und Trends

Werkzeuge & Systeme

  • Splunk Enterprise Security (ES): Premium-SIEM-Anwendung mit Korrelationssuchen, risikobasierter Alarmierung und Untersuchungs-Workbench
  • Splunk SOAR: Orchestrierungsplattform, integriert in Splunk ES, für automatisierte Reaktions-Playbooks
  • Sysmon: Microsoft-Systemüberwachungstool zur detaillierten Prozess-, Netzwerk- und Dateiänderungstelemetrie, die in Splunk aufgenommen wird
  • Splunk Attack Analyzer: Automatisierte Bedrohungsanalyse, die verdächtige Dateien und URLs detoniert und Ergebnisse in Splunk einspeist
  • BOSS of the SOC (BOTS): SANS/Splunk-Trainingsdatensatz zum Üben von SPL-Abfragen zur Vorfalluntersuchung

Häufige Szenarien

Szenario: Untersuchung von Credential Stuffing mit anschließender Account-Übernahme

Kontext: Die Sicherheitsoperation erhält einen Alarm über mehrere erfolgreiche Anmeldungen bei einem einzelnen Konto von geografisch verteilten IP-Adressen innerhalb eines 30-Minuten-Fensters.

Vorgehen:

  1. Ereignis-ID 4624 für das betroffene Konto abfragen, um alle Anmeldequellen und -zeitpunkte zu erfassen
  2. Anmelde-IPs mithilfe einer Splunk-Lookup-Tabelle mit Threat-Intelligence-Feeds korrelieren
  3. Proxy-Protokolle auf verdächtige Aktivitäten der authentifizierten Sitzungen prüfen
  4. Nach Lateral Movement vom kompromittierten Konto suchen (Ereignis-ID 4624 Typ 3 auf andere Hosts)
  5. Eine Zeitachse mit Credential-Stuffing-Versuchen, erfolgreicher Anmeldung und Aktivitäten nach der Kompromittierung erstellen
  6. Eine Korrelationssuche erstellen, um ähnliche Muster auf anderen Konten zu erkennen

Fallstricke:

  • Nur die letzten 24 Stunden durchsuchen, obwohl das Credential Stuffing über Wochen stattgefunden haben könnte
  • Nicht auf VPN-Protokolle prüfen, die dasselbe Konto mit unmöglichen Reiseentfernungen zeigen könnten
  • Zeitstempel nicht über Logquellen in verschiedenen Zeitzonen hinweg normalisieren

Ausgabeformat

SPLUNK UNTERSUCHUNGSBERICHT
============================
Vorfall:         INC-2025-1547
Analyst:         [Name]
Untersuchungszeitraum: 2025-11-14 00:00 UTC - 2025-11-16 00:00 UTC

SUCHBEREICH
Indizes:         windows, sysmon, proxy, firewall, dns
Hosts:           WKSTN-042, SRV-FILE01
Benutzer:        jsmith, svc-backup
Quell-IPs:       10.1.5.42, 10.1.10.15

WESENTLICHE ERKENNTNISSE
1. [Zeitstempel] - Erste Kompromittierung durch Phishing (Sysmon Ereignis 1)
2. [Zeitstempel] - C2 aufgebaut (Proxy-Logs, Beacon-Muster erkannt)
3. [Zeitstempel] - Credential-Diebstahl (Sysmon Ereignis 10, LSASS-Zugriff)
4. [Zeitstempel] - Lateral Movement zu SRV-FILE01 (Ereignis 4624 Typ 3)
5. [Zeitstempel] - Datenbereitstellung und Exfiltration (Proxy bytes_out Anomalie)

VERWENDETE SPL-ABFRAGEN
[nummerierte Liste der wichtigsten Abfragen mit Beschreibungen]

ERKANNTE ERKENNUNGSLÜCKEN
- Kein Sysmon auf SRV-FILE01 bereitgestellt (blinder Fleck)
- Proxy-Logs fehlt SSL-Inspektion für C2-Domain
- PowerShell-ScriptBlock-Protokollierung nicht aktiviert

EMPFOHLENE ERKENNUNGEN
1. Korrelationssuche für von Office gestartete PowerShell
2. Schwellwertalarm für LSASS-Zugriffsmuster
3. Verhaltensregel für Beacon-Intervall-Netzwerkverkehr

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,

Verwandte Skills