Detection rules › Sigma
Kerberos key list attack for credential dumping
Detects scenarios where an attacker attempts to forge a special Kerberos service ticket in order to extract credentials from Read Only Domain Controllers (RODC).
Known false positives
- Applications or services performing delegation activities, ADFS servers
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Credential Access |
Telemetry coverage
| Provider | Record / event type |
|---|---|
| Security-Auditing | Event ID 4769: A Kerberos service ticket was requested. |
Rule body
title: Kerberos key list attack for credential dumping
description: Detects scenarios where an attacker attempts to forge a special Kerberos service ticket in order to extract credentials from Read Only Domain Controllers (RODC).
references:
- https://www.secureauth.com/blog/the-kerberos-key-list-attack-the-return-of-the-read-only-domain-controllers/
- https://www.tarlogic.com/blog/how-to-attack-kerberos/
tags:
- attack.credential_access
- attack.t1003 # credential dumping
- attack.t1558 # forget ticket
author: mdecrevoisier
status: experimental
logsource:
product: windows
service: security
detection:
selection:
EventID: 4769
Status: 0x0 # Success
TicketOptions: '0x10000' # proxiable ticket
filter:
- IpAddress: '%domain_controllers_ips%' # reduce amount of false positives
- TargetUserName: '%account_allowed_proxy%' # accounts allowed to perform proxiable requests
condition: selection and not filter
falsepositives:
- Applications or services performing delegation activities, ADFS servers
level: high
Stages and Predicates
Stage 0: condition
selection and not filterStage 1: selection
selection:
EventID: 4769
Status: 0x0
TicketOptions: '0x10000'
Stage 2: not filter
filter:
- IpAddress: '%domain_controllers_ips%'
- TargetUserName: '%account_allowed_proxy%'
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
IpAddress | eq | %domain_controllers_ips% | excludes:IpAddress field:"IpAddress" value:"%domain_controllers_ips%" |
TargetUserName | eq | %account_allowed_proxy% | excludes:TargetUserName field:"TargetUserName" value:"%account_allowed_proxy%" |
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
Status | eq |
| field:"Status" kind:eq value:"0" |
TicketOptions | eq |
| field:"TicketOptions" kind:eq value:"0x10000" |