Communitygithub.com

Erstellung von Incident-Timelines mit Timesketch

Erstellen Sie kollaborative forensische Incident-Timelines mit Timesketch zur Aufnahme, Analyse und Visualisierung von Ereignissen aus verschiedenen Quellen.

Was ist Erstellung von Incident-Timelines mit Timesketch?

Diese Fähigkeit beschreibt den Aufbau einer forensischen Incident-Timeline mithilfe von Timesketch, einem Open-Source-Tool von Google zur kollaborativen Timeline-Analyse. Sie ist für Sicherheitsteams konzipiert, die chronologische Daten aus Endpunkten, Servern und Cloud-Diensten während Incident-Investigations sammeln, normalisieren und durchsuchen möchten. Unterstützt werden Plattformen wie Docker, Linux und Windows. Die Integration erfolgt über Plaso (log2timeline) für umfassende Artefakt-Parsing oder über CSV/JSONL-Import für schnelle Aufnahmen. Die Fähigkeit umfasst Bereitstellung, Datenaufnahme, Analyse-Workflows (inklusive integrierter Analyzer wie Sigma-Regel-Matching) und kollaborative Features wie gemeinsame Skizzen und API-Automatisierung. Sie ist besonders nützlich für Incident Response, forensische Untersuchungen und Compliance-gesteuerte Sicherheitsarchitekturen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/building-incident-timeline-with-timesketch

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht Erstellung von Incident-Timelines mit Timesketch?

Überblick

Timesketch ist ein Open-Source-Tool zur kollaborativen forensischen Timeline-Analyse, das von Google entwickelt wurde. Es ermöglicht Sicherheitsteams, chronologische Daten aus mehreren Quellen während Incident-Investigations zu visualisieren und zu analysieren. Timesketch nimmt Logs und Artefakte von Endpunkten, Servern und Cloud-Diensten auf, normalisiert sie in einer einheitlichen durchsuchbaren Timeline und bietet leistungsstarke Analysefunktionen wie integrierte Analyzer, Tagging, Skizzen-Annotationen und Story-Erstellung. Timesketch integriert sich mit Plaso (log2timeline) für die Artefakt-Parsing und unterstützt direkten CSV/JSONL-Import für den schnellen Timeline-Aufbau während aktiver Incidents.

Wann verwenden

  • Beim Bereitstellen oder Konfigurieren von Fähigkeiten zur Erstellung von Incident-Timelines mit Timesketch in Ihrer Umgebung
  • Beim Einrichten von Sicherheitskontrollen, die auf Compliance-Anforderungen abgestimmt sind
  • Beim Aufbau oder der Verbesserung von Sicherheitsarchitekturen für diesen Bereich
  • Bei der Durchführung von Sicherheitsbewertungen, die diese Implementierung erfordern

Voraussetzungen

  • Vertrautheit mit Incident-Response-Konzepten und -Tools
  • Zugang zu einer Test- oder Laborumgebung für die sichere Ausführung
  • Python 3.8+ mit installierten erforderlichen Abhängigkeiten
  • Geeignete Autorisierung für alle Testaktivitäten

Architektur und Komponenten

Kernkomponenten

  • Timesketch-Server: Webanwendung mit REST-API für die Timeline-Verwaltung
  • OpenSearch/Elasticsearch: Backend-Speicher und Suchmaschine für Timeline-Ereignisse
  • PostgreSQL: Metadatenspeicher für Skizzen, Stories und Benutzerdaten
  • Redis: Aufgabenwarteschlangenverwaltung für die Hintergrundverarbeitung
  • Celery-Worker: Asynchrone Verarbeitung von Timeline-Uploads und Analyzern

Datenfluss

Beweisquellen --> Plaso/log2timeline --> Plaso-Speicherdatei (.plaso)
     |                                           |
     v                                           v
  CSV/JSONL --> Timesketch-Importer --> OpenSearch-Index
                                           |
                                           v
                                    Timesketch-Web-UI
                                    (Suche, Analyse, Story)

Bereitstellung

Docker-Bereitstellung (Empfohlen)

# Timesketch-Repository klonen
git clone https://github.com/google/timesketch.git
cd timesketch

# Bereitstellungs-Helper-Skript ausführen
cd docker
sudo docker compose up -d

# Standardzugriff: https://localhost:443
# Admin-Anmeldeinformationen werden beim ersten Start generiert

Systemanforderungen

  • Mindestens 8 GB RAM (16+ GB empfohlen für große Untersuchungen)
  • Mindestens 4 CPU-Kerne
  • SSD-Speicher für OpenSearch-Indizes
  • Docker und Docker Compose installiert

Methoden zur Dateneingabe

Methode 1: Plaso-Integration (Umfassend)

# Festplattenabbild mit log2timeline verarbeiten
log2timeline.py --storage-file evidence.plaso /pfad/zum/festplattenabbild

# Windows-Ereignisprotokolle verarbeiten
log2timeline.py --parsers winevtx --storage-file windows_events.plaso /pfad/zu/evtx/

# Mehrere Beweisquellen verarbeiten
log2timeline.py --parsers "winevtx,prefetch,amcache,shimcache,userassist" \
  --storage-file full_analysis.plaso /pfad/zum/gemounteten/abbild/

# Plaso-Datei in Timesketch importieren
timesketch_importer -s "Case-2025-001" -t "Endpoint-WKS01" evidence.plaso

Methode 2: CSV-Import (Schnelle Aufnahme)

message,datetime,timestamp_desc,source,hostname
"Benutzeranmeldung erkannt","2025-01-15T08:30:00Z","Ereignis aufgezeichnet","Sicherheitsprotokoll","DC01"
"PowerShell-Ausführung","2025-01-15T08:31:15Z","Ereignis aufgezeichnet","PowerShell","WKS042"
# CSV direkt importieren
timesketch_importer -s "Case-2025-001" -t "Quick-Triage" events.csv

Methode 3: JSONL-Import (Strukturierte Daten)

{"message": "Verdächtige Anmeldung von 10.1.2.3", "datetime": "2025-01-15T08:30:00Z", "timestamp_desc": "Ereignis aufgezeichnet", "source_short": "Security", "hostname": "DC01"}

Methode 4: Sigma-Regel-Integration

# Sigma-Regeln für die automatisierte Erkennung hochladen
timesketch_importer --sigma-rules /pfad/zu/sigma/regeln/

Analyse-Workflow

Schritt 1: Untersuchungsskizze erstellen

1. In Timesketch-Weboberfläche anmelden
2. Neue Skizze (Untersuchungsfall) erstellen
3. Relevante Timelines zur Skizze hinzufügen
4. Skizzenbeschreibung und Tags festlegen

Schritt 2: Integrierte Analyzer ausführen

Timesketch enthält Analyzer, die automatisch Folgendes identifizieren:

  • Browser-Suchanalyzer: Extrahiert Suchanfragen aus dem Browserverlauf
  • Ereigniskettenanalyzer: Verknüpft verwandte Ereignisse (Download -> Ausführung)
  • Domainanalyzer: Extrahiert und kategorisiert Domainnamen
  • Funktionsextraktionsanalyzer: Identifiziert IPs, URLs, Hashes
  • Geo-Location-Analyzer: Ordnet Ereignisse geografischen Standorten zu
  • Ähnlichkeitsbewerter: Findet ähnliche Ereignisse über Timelines hinweg
  • Sigma-Analyzer: Gleicht Ereignisse mit Sigma-Erkennungsregeln ab
  • Kontofinder: Identifiziert Aktivitätsmuster von Benutzerkonten
  • Tagger: Wendet Bezeichnungen basierend auf vordefinierten Regeln an

Schritt 3: Suchen und Filtern

# Suchbeispiele in Timesketch-Abfragesprache

# Alle Ereignisse zu einem bestimmten Benutzer finden
source_short:Security AND message:"john.admin"

# PowerShell-Ausführungsereignisse finden
data_type:"windows:evtx:record" AND event_identifier:4104

# Indikatoren für laterale Bewegung finden
source_short:Security AND event_identifier:4624 AND xml_string:"LogonType\">3"

# Ereignisse innerhalb eines bestimmten Zeitraums finden
datetime:[2025-01-15T00:00:00 TO 2025-01-15T23:59:59]

# Dateierstellungsereignisse finden
data_type:"fs:stat" AND timestamp_desc:"Erstellungszeit"

# Mit Tags suchen
tag:"suspicious" OR tag:"lateral_movement"

Schritt 4: Untersuchungs-Story erstellen

1. Neue Story innerhalb der Skizze erstellen
2. Suchansichten hinzufügen, die jedes Ergebnis unterstützen
3. Schlüsselereignisse mit Ermittler-Notizen annotieren
4. Ereignisse MITRE ATT&CK-Techniken zuordnen
5. Die Angriffserzählung chronologisch dokumentieren
6. Story für die Aufnahme in den Incident-Bericht exportieren

Erweiterte Funktionen

Kollaborative Untersuchung

  • Mehrere Analysten arbeiten gleichzeitig an derselben Skizze
  • Kommentare und Annotationen bleiben bei Ereignissen erhalten
  • Gespeicherte Suchen werden im Team geteilt
  • Untersuchungs-Stories dokumentieren Ergebnisse im Kontext

API-Automatisierung

from timesketch_api_client import config
from timesketch_api_client import client as ts_client

# Mit Timesketch verbinden
ts = ts_client.TimesketchApi(
    host_uri="https://timesketch.local",
    username="analyst",
    password="passwort"
)

# Skizze abrufen
sketch = ts.get_sketch(1)

# Ereignisse suchen
search = sketch.explore(
    query_string='event_identifier:4624 AND LogonType:3',
    return_fields='datetime,message,hostname,source_short'
)

# Tags zu Ereignissen hinzufügen
for event in search.get('objects', []):
    sketch.tag_event(event['_id'], ['lateral_movement'])

Integration mit Dissect

# Dissect für schnellere Artefakt-Parsing verwenden (Alternative zu Plaso)
target-query -f timesketch://timesketch.local/case-001 \
  targets/hostname/ -q "windows.evtx" --limit 0

Wichtige Datenquellen für den Timeline-Aufbau

QuelleParserBeweiswert
Windows-Ereignisprotokolle (.evtx)winevtxAuthentifizierung, Prozessausführung, Dienste
Prefetch-DateienprefetchProgrammausführungsverlauf
MFT ($MFT)mftDateisystemaktivität
Registry-HiveswinregSystemkonfiguration, Persistenz
Browserverlaufchrome/firefoxWebaktivität, Downloads
SyslogsyslogLinux-/Netzwerkgeräteereignisse
CloudTrail-ProtokollejsonlAWS-API-Aktivität
Azure-AktivitätsprotokollejsonlAzure-Ressourcenoperationen
Firewall-Protokollecsv/jsonlNetzwerkverbindungen
Proxy-Protokollecsv/jsonlHTTP/HTTPS-Verkehr

MITRE ATT&CK-Zuordnung

TechnikTimeline-Indikatoren
Erster Zugriff (TA0001)Erstes bösartiges Ereignis, Phishing-E-Mail-Eingang
Ausführung (T1059)PowerShell/CMD-Ereignisse, Prozesserstellung
Persistenz (TA0003)Registry-Änderungen, geplante Tasks, Dienste
Laterale Bewegung (TA0008)Remote-Anmeldungen, SMB-Verbindungen, RDP-Sitzungen
Exfiltration (TA0010)Große Datenübertragungen, Cloud-Speicher-Uploads

Referenzen

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