Kerberoasting SPN sweep

Severity highWindowsThresholdstablewindows.credential.kerberoasting_spn_sweep · v1.0.0

One account requesting RC4-HMAC (Ticket Encryption Type 0x17) Kerberos service tickets (Event ID 4769) for many DISTINCT services in a short window.

What it detects

One account requesting RC4-HMAC (Ticket Encryption Type 0x17) Kerberos service tickets (Event ID 4769) for many DISTINCT services in a short window. This is the low-and-slow companion to windows.credential.kerberoasting: that rule keys on VOLUME (a burst of RC4 requests), which a careful attacker evades by requesting each ticket once. Roasting is fundamentally about BREADTH — pulling crackable tickets for as many service accounts as possible — so counting DISTINCT services requested by one account (rather than raw volume) catches the sweep even at one request per SPN. Realises a catalogued behaviour (distinct-count spike).

MITRE ATT&CK mapping

  • T1558.003Steal or Forge Kerberos Tickets: Kerberoasting· Credential Access

False positives and triage

A vulnerability scanner or an account-discovery tool run by IT can also request tickets for many services. The signal is one account pulling RC4 (0x17) tickets for several DISTINCT service accounts in a short window when AES is otherwise standard in the domain. Confirm the requesting account is not a scanner/service-desk tool, and whether those SPNs map to high-value service accounts.

The rule

Declarative YAML read by the detection engine — data, never executed. Confidence 75%. Source: rules/windows/kerberoasting_spn_sweep.yaml, licensed under the Apache License 2.0.

id: windows.credential.kerberoasting_spn_sweep
version: 1.0.0
status: stable
severity: high
confidence: 0.75
platforms: [windows]
mitre_techniques: [T1558.003]
description: |
  One account requesting RC4-HMAC (Ticket Encryption Type 0x17) Kerberos service tickets
  (Event ID 4769) for many DISTINCT services in a short window. This is the low-and-slow
  companion to windows.credential.kerberoasting: that rule keys on VOLUME (a burst of RC4
  requests), which a careful attacker evades by requesting each ticket once. Roasting is
  fundamentally about BREADTH — pulling crackable tickets for as many service accounts as
  possible — so counting DISTINCT services requested by one account (rather than raw
  volume) catches the sweep even at one request per SPN. Realises behavioural catalog
  BEH-075 (distinct-count spike).
match:
  native_event_id: 4769
  raw_message_contains_any:
    - "0x17"
threshold:
  count: 5
  window_seconds: 600
  group_by: [user_name]
  distinct: service_name
correlation_keys: [user_name]
false_positive_guidance: |
  A vulnerability scanner or an account-discovery tool run by IT can also request tickets
  for many services. The signal is one account pulling RC4 (0x17) tickets for several
  DISTINCT service accounts in a short window when AES is otherwise standard in the domain.
  Confirm the requesting account is not a scanner/service-desk tool, and whether those SPNs
  map to high-value service accounts.

Related detections

Run this rule on your own logs — offline

KIROSEC runs this rule and the rest of the library over Windows, Linux, macOS and cloud audit logs on the analyst's own machine. Every alert links to the events that raised it, and nothing leaves the device.

Browse all detections