Detection rules › Sigma
Suspicious modification of a user account SPN to enable Kerberoast attack
Detects scenarios where an attacker update the Service Principal Name (SPN) of a user account in order to enable Kerberoast attack and crack its password.
Known false positives
- Rare administrator modifications on user objects
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Persistence |
Telemetry coverage
| Provider | Record / event type |
|---|---|
| Security-Auditing | Event ID 5136: A directory service object was modified. |
Rule body
title: Suspicious modification of a user account SPN to enable Kerberoast attack
description: Detects scenarios where an attacker update the Service Principal Name (SPN) of a user account in order to enable Kerberoast attack and crack its password.
requirements: auditing SACL ("Write all properties") must be placed on the OU to monitor using the Active Directory console (https://www.manageengine.com/products/active-directory-audit/active-directory-auditing-configuration-guide-configure-object-level-auditing-manually.html).
references:
- https://github.com/mdecrevoisier/EVTX-to-MITRE-Attack/tree/master/TA0003-Persistence/T1098.xxx-Account%20manipulation
- https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/event-5136
- https://github.com/S1ckB0y1337/Active-Directory-Exploitation-Cheat-Sheet#force-set-spn
- https://docs.microsoft.com/en-us/troubleshoot/windows-server/windows-security/use-audit-active-directory-objects-track-events
tags:
- attack.persistence
- attack.t1098
author: mdecrevoisier
status: experimental
logsource:
product: windows
service: security
detection:
selection:
EventID: 5136 # ID 4738 doesn't report any changes about SPN changes
AttributeLDAPDisplayName: servicePrincipalName
ObjectClass: user
OperationType: '%%14674' # Value is added
filter:
AttributeValue: '-'
condition: selection and not filter
falsepositives:
- Rare administrator modifications on user objects
level: high
Stages and Predicates
Stage 0: condition
selection and not filterStage 1: selection
selection:
EventID: 5136
AttributeLDAPDisplayName: servicePrincipalName
ObjectClass: user
OperationType: '%%14674'
Stage 2: not filter
filter:
AttributeValue: '-'
Exclusions
The rule actively suppresses these predicates.
| Field | Kind | Excluded values | Search |
|---|---|---|---|
AttributeValue | eq | - | excludes:AttributeValue field:"AttributeValue" value:"-" |
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
AttributeLDAPDisplayName | eq |
| field:"AttributeLDAPDisplayName" kind:eq value:"servicePrincipalName" |
ObjectClass | eq |
| field:"ObjectClass" kind:eq value:"user" |
OperationType | eq |
| field:"OperationType" kind:eq value:"%%14674" |