Detection rules › Sigma

Kerberos AS-REP Roasting ticket request detected

Status
experimental
Severity
high
Log source
product windows, service security
Author
mdecrevoisier
Source
github.com/mdecrevoisier/SIGMA-detection-rules

Detects scenarios where an attacker abuse an account with UAC settings set to "Accounts Does not Require Pre-Authentication" in order to perform offline TGT brutforce. May also be triggered by an attacker performing some Kerberos user enumration with tools like "Kerbrute".

MITRE ATT&CK coverage

Event coverage

Rule body yaml

title: Kerberos AS-REP Roasting ticket request detected
description: Detects scenarios where an attacker abuse an account with UAC settings set to "Accounts Does not Require Pre-Authentication" in order to perform offline TGT brutforce. May also be triggered by an attacker performing some Kerberos user enumration with tools like "Kerbrute".
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0006-Credential%20Access/T1558-Steal%20or%20Forge%20Kerberos%20Tickets
- https://github.com/HarmJ0y/ASREPRoast
- https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/as-rep-roasting-using-rubeus-and-hashcat
- https://m0chan.github.io/2019/07/31/How-To-Attack-Kerberos-101.html#as-rep-roasting
- https://medium.com/@jsecurity101/ioc-differences-between-kerberoasting-and-as-rep-roasting-4ae179cdf9ec
- https://rioasmara.com/2020/07/04/kerberoasting-as-req-pre-auth-vs-non-pre-auth/
- https://www.hackingarticles.in/as-rep-roasting/
tags:
- attack.credential_access
- attack.t1558.004
author: mdecrevoisier
status: experimental
logsource:
  product: windows
  service: security
detection:
  selection:
    EventID: 4768
    Status: 0x0 # Success
    ServiceSid|endswith: '-502'
    PreAuthType: 0  # Logon without Pre-Authentication.
    #TicketOptions:
    #  - 0x40800010 # triggered by ASREPRoast & Rubeus
    #  - 0x50800000 # user enumeration triggered by Kerbrute (proxiable ticket)
  filter:
    - IpAddress: '%domain_controllers_ips%' # reduce amount of false positives
  condition: selection and not filter
falsepositives:
- Account configured to not require pre-authentication
level: high

Stages and Predicates

Stage 0: condition

selection and not filter

Stage 1: selection

selection:
  EventID: 4768
  Status: 0x0
  ServiceSid|endswith: '-502'
  PreAuthType: 0

Stage 2: not filter

filter:
  - IpAddress: '%domain_controllers_ips%'

Exclusions

Top-level NOT(...) conjuncts: predicates this rule actively suppresses.

FieldKindExcluded values
IpAddresseq%domain_controllers_ips%

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
PreAuthTypeeq
  • 0 corpus 2 (sigma 2)
ServiceSidends_with
  • -502 corpus 4 (sigma 4)
Statuseq
  • 0 corpus 7 (sigma 7)