forked from elastic/detection-rules
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcredential_access_seenabledelegationprivilege_assigned_to_user.toml
115 lines (91 loc) · 4.89 KB
/
credential_access_seenabledelegationprivilege_assigned_to_user.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
[metadata]
creation_date = "2022/01/27"
maturity = "production"
updated_date = "2022/05/09"
[rule]
author = ["Elastic"]
description = """
Identifies the assignment of the SeEnableDelegationPrivilege sensitive "user right" to a user. The
SeEnableDelegationPrivilege "user right" enables computer and user accounts to be trusted for delegation. Attackers can
abuse this right to compromise Active Directory accounts and elevate their privileges.
"""
from = "now-9m"
index = ["winlogbeat-*", "logs-system.*"]
language = "kuery"
license = "Elastic License v2"
name = "Sensitive Privilege SeEnableDelegationPrivilege assigned to a User"
note = """## Triage and analysis
### Investigating Sensitive Privilege SeEnableDelegationPrivilege assigned to a User
Kerberos delegation is an Active Directory feature that allows user and computer accounts to impersonate other accounts,
act on their behalf, and use their privileges. Delegation (constrained and unconstrained) can be configured
for user and computer objects.
Enabling unconstrained delegation for a computer causes the computer to store the ticket-granting ticket
(TGT) in memory at any time an account connects to the computer, so it can be used by the computer for impersonation
when needed. Risk is heightened if an attacker compromises computers with unconstrained delegation enabled, as they
could extract TGTs from memory and then replay them to move laterally on the domain. If the attacker coerces a privileged
user to connect to the server, or if the user does so routinely, the account will be compromised and the attacker will
be able to pass-the-ticket to privileged assets.
SeEnableDelegationPrivilege is a user right that is controlled within the Local Security Policy of a domain controller
and is managed through Group Policy. This setting is named **Enable computer and user accounts to be trusted for
delegation**.
It is critical to control the assignment of this privilege. A user with this privilege and write access to a computer
can control delegation settings, perform the attacks described above, and harvest TGTs from any user that connects to
the system.
#### Possible investigation steps
- Investigate how the privilege was assigned to the user and who assigned it.
- Investigate other potentially malicious activity that was performed by the user that assigned the privileges using the
`user.id` and `winlog.activity_id` fields as a filter during the past 48 hours.
- Investigate other alerts associated with the users/host during the past 48 hours.
### False positive analysis
- The SeEnableDelegationPrivilege privilege should not be assigned to users. If this rule is triggered in your
environment legitimately, the security team should notify the administrators about the risks of using it.
### Related rules
- KRBTGT Delegation Backdoor - e052c845-48d0-4f46-8a13-7d0aba05df82
### Response and remediation
- Initiate the incident response process based on the outcome of the triage.
- Remove the privilege from the account.
- Review the privileges of the administrator account that performed the action.
- Determine the initial vector abused by the attacker and take action to prevent reinfection through the same vector.
- Using the incident response data, update logging and audit policies to improve the mean time to detect (MTTD) and the
mean time to respond (MTTR).
## Config
The 'Audit Authorization Policy Change' logging policy must be configured for (Success, Failure).
Steps to implement the logging policy with Advanced Audit Configuration:
```
Computer Configuration >
Windows Settings >
Security Settings >
Advanced Audit Policy Configuration >
Audit Policies >
Policy Change >
Audit Authorization Policy Change (Success,Failure)
```
"""
references = [
"https://blog.harmj0y.net/activedirectory/the-most-dangerous-user-right-you-probably-have-never-heard-of/",
"https://github.com/SigmaHQ/sigma/blob/master/rules/windows/builtin/security/win_alert_active_directory_user_control.yml",
"https://twitter.com/_nwodtuhs/status/1454049485080907776",
"https://www.thehacker.recipes/ad/movement/kerberos/delegations",
"https://github.com/atc-project/atomic-threat-coverage/blob/master/Atomic_Threat_Coverage/Logging_Policies/LP_0105_windows_audit_authorization_policy_change.md",
]
risk_score = 73
rule_id = "f494c678-3c33-43aa-b169-bb3d5198c41d"
severity = "high"
tags = ["Elastic", "Host", "Windows", "Threat Detection", "Credential Access", "Active Directory"]
timestamp_override = "event.ingested"
type = "query"
query = '''
event.action: "Authorization Policy Change" and event.code:4704 and winlog.event_data.PrivilegeList:"SeEnableDelegationPrivilege"
'''
[[rule.threat]]
framework = "MITRE ATT&CK"
[rule.threat.tactic]
name = "Credential Access"
reference = "https://attack.mitre.org/tactics/TA0006/"
id = "TA0006"
[[rule.threat]]
framework = "MITRE ATT&CK"
[rule.threat.tactic]
name = "Persistence"
reference = "https://attack.mitre.org/tactics/TA0003/"
id = "TA0003"