Zum Inhalt springen

Services, Wiki-Artikel, Blog-Beiträge und Glossar-Einträge durchsuchen

↑↓NavigierenEnterÖffnenESCSchließen
Threat Detection Glossar

Cyber Threat Hunting - Proaktive Bedrohungssuche im Netzwerk

Threat Hunting ist die proaktive, hypothesengetriebene Suche nach Bedrohungen die automatische Detection-Systeme noch nicht erkannt haben. Methodik: Hypothesis-driven (MITRE ATT&CK), Intel-driven, Situational-Awareness-driven. Tools: Velociraptor (Endpoint-Artefakt-Sammlung), KAPE (Forensik-Triage), Sigma-Rules, EDR-Queries. Metriken: MTTD, Hunter-Effizienz, True Positive Rate.

Cyber Threat Hunting ist die proaktive Suche nach Bedrohungsakteuren die bereits in einem Netzwerk aktiv sind, aber noch nicht von automatisierten Systemen erkannt wurden. Im Gegensatz zu Incident Response (reagiert auf Alerts) geht Threat Hunting von der Hypothese aus: “Wir könnten bereits kompromittiert sein - lass uns aktiv suchen.” Erfahrene Angreifer können Monate im Netzwerk verweilen bevor sie entdeckt werden.

Das Problem: Dwell Time

Warum proaktives Hunting notwendig ist:

Dwell Time (Verweildauer des Angreifers):
  Durchschnitt 2024: 16 Tage (IBM Cost of Data Breach Report)
  Ransomware: 24-48 Stunden (schneller geworden!)
  Nation-State-APTs: Monate bis Jahre

Was in dieser Zeit passiert:
  → Angreifer erkundet Netzwerk (BloodHound, Recon)
  → Sammelt Credentials (Mimikatz, Kerberoasting)
  → Etabliert Persistenz (WMI, Scheduled Tasks, Golden Ticket)
  → Datenexfiltration: langsam, unter dem Radar

Warum SIEM/EDR allein nicht ausreicht:
  → APTs nutzen Living-Off-the-Land: keine Malware → keine Signatur
  → Signatur-Evasion: Packer, Encoder, Polymorphismus
  → Zero-Days: kein Patch, keine Signatur
  → Fehlkonfigurationen: keine Signatur möglich
  → False-Positive-Angst: Detection-Threshold zu hoch

Hunting-Ansatz:
  "Was würde ein Angreifer TUN in unserer Umgebung?"
  → Hypothese → Suche → Analysen → Findings oder Neue Hypothese

Hunting-Methodologien

1. Hypothesis-Driven Hunting:

Ausgangspunkt: MITRE ATT&CK
  → Wähle eine Technik: T1059.001 (PowerShell)
  → Hypothese: "Angreifer nutzt PowerShell für Lateral Movement"
  → Hunt: welche PowerShell-Aktivitäten sind in unserem Netzwerk ungewöhnlich?

Beispiel-Hypothese:
  "Angreifer hat Zugangsdaten und nutzt Pass-the-Hash für SMB-Lateral-Movement"
  → Such-Fragen:
    → Welche Workstations verbinden sich zu anderen Workstations via SMB?
    → (Normal: nur File-Server!)
    → Gibt es NTLM-Auth-Events von ungewöhnlichen Quellen?
    → Sind neue Admin-Sessions auf Servern entstanden?

2. Intel-Driven Hunting:

Ausgangspunkt: Threat Intelligence
  → Neue TI: "Lazarus nutzt TTP X in Banking-Sektor"
  → Frage: "Haben wir Spuren von TTP X in unserer Umgebung?"
  → Hunt: spezifisch auf IOCs und TTPs dieser Gruppe

Beispiel:
  → TI-Report: Angreifer nutzt C2 auf Port 8080 mit JA3: abc123
  → Hunt in SSL-Logs: "Gibt es JA3 abc123 in unserer Umgebung?"
  → Hunt in Proxy-Logs: "Port 8080 zu externen IPs?"

3. Situational-Awareness Hunting:

Ausgangspunkt: Baselining
  → Normale Umgebung dokumentieren
  → Hunt: was weicht von der Baseline ab?
  → Besonders nach: Incidents, Penetrationstests, Systemänderungen

Beispiel:
  → Baseline: 5 DNS-Anfragen/Minute pro Workstation
  → Hunt: welche Hosts haben >50 DNS-Anfragen/Minute?
  → Ergebnis: DNS-Tunneling oder übertriebene Beacon-Frequenz?

Tools für Threat Hunting

Velociraptor (Endpoint-Artefakt-Sammlung):

Installation (Server + Client):
  # Server (Linux):
  wget https://github.com/Velocidex/velociraptor/releases/latest/.../velociraptor-linux-amd64
  ./velociraptor config generate -i  # Interactive Setup
  ./velociraptor --config server.config.yaml frontend -v

  # Client deployen (Windows):
  # Velociraptor-GUI → Deployments → Client MSI generieren
  # Stilles Deployment via GPO/SCCM

VQL (Velociraptor Query Language) für Hunting:
  # Alle laufenden Prozesse mit Netzwerkverbindungen:
  SELECT Name, Pid, CommandLine,
    { SELECT LocalAddress, RemoteAddress, Status FROM connections() WHERE Pid = ProcInfo.Pid }
    AS Network
  FROM process_tracker_all()
  WHERE Network

  # PowerShell-Ausführungen der letzten 24h:
  SELECT *
  FROM Artifact.Windows.EventLogs.PowerShell.ISEScriptBlockLogging()
  WHERE Timestamp > now() - 86400

  # Scheduled Tasks mit verdächtigen Befehlen:
  SELECT *
  FROM Artifact.Windows.System.ScheduledTasks()
  WHERE Command =~ "(powershell|cmd|wscript|cscript|mshta)"

  # Registry-Persistenz:
  SELECT *
  FROM Artifact.Windows.Registry.RunKeys()
  WHERE Data =~ "(http|.exe|powershell|cmd)"

KAPE (Kroll Artifact Parser and Extractor):
  # Forensik-Triage ohne Vollimage:
  # Sammelt: Registry Hives, Event Logs, Prefetch, LNK, $MFT
  kape.exe --tsource C: --tdest C:\KAPEOutput \
    --target RegistryHives,EventLogs,Prefetch,LNKFiles

  # Targets (was gesammelt wird):
  # Modules (wie analysiert wird):
  kape.exe --msource C:\KAPEOutput \
    --mdest C:\KAPEParsed \
    --module EvtxECmd,RECmd,LECmd

Sigma-Rules (Detection-as-Code):
  # Sigma: SIEM-agnostische Erkennungsregeln
  # Konvertierung zu SIEM-Query:

  # sigma-cli convert:
  sigma convert -t splunk -p ecs-windows \
    rules/windows/process_creation/proc_creation_win_powershell_download.yml

  # Ausgabe (Splunk):
  source="WinEventLog:Security" EventCode=4688
  (CommandLine="*IEX*" CommandLine="*DownloadString*")

  # Beispiel-Sigma-Rule (YAML):
  title: PowerShell Download Cradle
  id: a7a...
  status: stable
  logsource:
    category: process_creation
    product: windows
  detection:
    selection:
      CommandLine|contains|all:
        - 'IEX'
        - 'DownloadString'
    condition: selection
  falsepositives:
    - Legitimate management scripts
  level: high

Praktische Hunt-Beispiele

Hunt 1: Kerberoasting-Spuren finden:

Hypothese: "Angreifer hat Kerberoasting durchgeführt und SPN-Accounts geknackt"

Datensource: Windows Security Event Log (DC)
Event ID 4769: Kerberos Service Ticket Request

Suche in Splunk:
  index=windows EventCode=4769 TicketOptions="0x40810000"
  ServiceName!="$*"  # Keine Computer-Accounts
  | stats count by Account_Name, ServiceName, Client_Address
  | sort -count
  | where count > 5  # Viele TGS-Anfragen = Kerberoasting!

Auswertung:
  → Normales Verhalten: wenige TGS-Anfragen pro Account
  → Kerberoasting: 100+ TGS-Anfragen für viele SPNs in kurzer Zeit
  → Wenn Account plötzlich viele SPNs abfragt → Alert

Hunt 2: Living-Off-the-Land Detection:

Hypothese: "Angreifer nutzt native Windows-Tools für Post-Exploitation"

LOLBin-Abuse Suche (Sysmon Event ID 1):
  index=sysmon EventCode=1
  (
    (ParentImage="*\\winword.exe" Image="*\\powershell.exe") OR
    (ParentImage="*\\excel.exe" Image="*\\cmd.exe") OR
    (Image="*\\mshta.exe" CommandLine="*http*") OR
    (Image="*\\regsvr32.exe" CommandLine="*/i:http*")
  )
  | table _time, Computer, User, Image, CommandLine, ParentImage

  Rote Flags:
  → Office-App spawnt PowerShell/CMD → Makro-Malware!
  → mshta.exe mit HTTP-Parameter → Phishing
  → regsvr32 mit Internet-URL → Squiblydoo

Hunt 3: Exfiltration Detection:

Hypothese: "Daten werden über DNS exfiltriert"

DNS-Log-Analyse (Zeek):
  # Durchschnittliche Subdomain-Länge pro Domain:
  cat dns.log | zeek-cut query | \
    awk -F'.' '{print NF, length($1), $0}' | \
    sort -rn | head -50
  # Lange erste Labels = verdächtig (Base64-Daten!)

  # Hohe Anfragehäufigkeit zu einer Domain:
  cat dns.log | zeek-cut query | \
    awk -F'.' '{for(i=NF-1;i<=NF;i++) printf "%s.",$i; print ""}' | \
    sort | uniq -c | sort -rn | head -20
  # > 1000 Anfragen zu einer Domain in kurzer Zeit = verdächtig

Hunting-Workflow und Dokumentation

Strukturierter Hunting-Prozess:

TaHiTI (Targeted Hunting integrating Threat Intelligence):
  → Framework für strukturiertes Threat Hunting
  → ENISA-Empfehlung für SOCs

Schritte:
  1. Trigger:       Was initiiert den Hunt? (TI, Alert, Routine)
  2. Hunting Scope: Welche Systeme, welcher Zeitraum?
  3. Hypothese:     Was suchen wir? Warum?
  4. Hunt:          Queries ausführen, Daten analysieren
  5. Findings:      Was wurde gefunden?
  6. Response:      Incident? Neue Detection-Rule?
  7. Documentation: Hunt-Bericht schreiben

Hunt-Bericht Vorlage:
  Hunt ID:          HUNT-2026-042
  Datum:            2026-03-04
  Hunter:           Max Müller
  Trigger:          Routine (monatlicher Hunt)
  Hypothese:        "Kerberoasting in der Domäne durchgeführt"
  TTPs:             MITRE T1558.003
  Datensources:     DC Security Events (4769)
  Zeitraum:         letzten 30 Tage
  Findings:         Keine Anomalien gefunden → Baseline OK
  New Rules:        Sigma-Rule für >10 TGS-Anfragen/min hinzugefügt
  Dauer:            2 Stunden

KPIs für Threat Hunting:
  □ Hunts pro Monat: Ziel ≥ 4 (mind. 1/Woche)
  □ True Positive Rate: % Hunts die echte Threats fanden
  □ MTTD-Reduktion: wie viel früher werden Threats erkannt?
  □ New Detection Rules: wie viele neue Rules aus Hunts entstanden?
  □ Dwell Time: hat sich die durchschnittliche Dwell Time reduziert?

Cookielose Analyse via Matomo (selbst gehostet, kein Tracking-Cookie). Datenschutzerklärung