1
1
name : Windows AD Replication Request Initiated from Unsanctioned Location
2
2
id : 50998483-bb15-457b-a870-965080d9e3d3
3
3
version : 11
4
- date : ' 2025-05-02 '
4
+ date : ' 2025-05-05 '
5
5
author : Dean Luxton
6
6
type : TTP
7
7
status : production
8
8
data_source :
9
- - Windows Event Log Security 4662
10
- - Windows Event Log Security 4624
11
- description : The following analytic identifies unauthorized Active Directory replication
9
+ - Windows Event Log Security 4662
10
+ - Windows Event Log Security 4624
11
+ description :
12
+ The following analytic identifies unauthorized Active Directory replication
12
13
requests initiated from non-domain controller locations. It leverages EventCode
13
14
4662 to detect when a computer account with replication permissions creates a handle
14
15
to domainDNS, filtering out known domain controller IP addresses. This activity
15
16
is significant as it may indicate a DCSync attack, where an attacker with privileged
16
17
access can request password hashes for any or all users within the domain. If confirmed
17
18
malicious, this could lead to unauthorized access to sensitive information and potential
18
19
full domain compromise.
19
- search : ' `wineventlog_security` EventCode=4662 ObjectType IN ("%{19195a5b-6da0-11d0-afd3-00c04fd930c9}",
20
+ search :
21
+ ' `wineventlog_security` EventCode=4662 ObjectType IN ("%{19195a5b-6da0-11d0-afd3-00c04fd930c9}",
20
22
"domainDNS") AND Properties IN ("*Replicating Directory Changes All*", "*{1131f6ad-9c07-11d1-f79f-00c04fc2dcd2}*",
21
23
"*{9923a32a-3607-11d2-b9be-0000f87a36b2}*","*{1131f6ac-9c07-11d1-f79f-00c04fc2dcd2}*")
22
24
AND AccessMask="0x100" AND (SubjectUserSid="NT AUT*" OR SubjectUserSid="S-1-5-18"
23
25
OR SubjectDomainName="Window Manager" OR SubjectUserName="*$") | stats min(_time)
24
26
as attack_time, count by SubjectDomainName SubjectUserName Computer Logon_ID ObjectName
25
27
ObjectServer ObjectType OperationType status action app authentication_method dest
26
28
dvc process process_id process_name process_path signature signature_id src src_port
27
- status subject user user_group vendor_product | rename SubjectDomainName as Target_Domain,
29
+ subject user user_group vendor_product | rename SubjectDomainName as Target_Domain,
28
30
SubjectUserName as user, Logon_ID as TargetLogonId | appendpipe [| map search="search
29
31
`wineventlog_security` EventCode=4624 TargetLogonId=$TargetLogonId$"] | table attack_time,
30
32
AuthenticationPackageName, LogonProcessName, LogonType, TargetUserSid, Target_Domain,
@@ -34,7 +36,8 @@ search: '`wineventlog_security` EventCode=4662 ObjectType IN ("%{19195a5b-6da0-1
34
36
values(Computer) as Computer, values(status) as status, values(src_category) as
35
37
src_category, values(src_ip) as src_ip by TargetLogonId | search NOT src_category="domain_controller"
36
38
| `windows_ad_replication_request_initiated_from_unsanctioned_location_filter`'
37
- how_to_implement : To successfully implement this search, you need to be ingesting
39
+ how_to_implement :
40
+ To successfully implement this search, you need to be ingesting
38
41
eventcode `4662`. The Advanced Security Audit policy settings `Audit Directory Services
39
42
Access` within `DS Access` needs to be enabled, as well as the following SACLs applied
40
43
to the domain root and all descendant objects. The principals `everybody`, `Domain
@@ -44,52 +47,55 @@ how_to_implement: To successfully implement this search, you need to be ingestin
44
47
category of domain_controller added for domain controllers.
45
48
known_false_positives : Genuine DC promotion may trigger this alert.
46
49
references :
47
- - https://adsecurity.org/?p=1729
48
- - https://www.linkedin.com/pulse/mimikatz-dcsync-event-log-detections-john-dwyer
49
- - https://github.com/SigmaHQ/sigma/blob/0.22-699-g29a5c6278/rules/windows/builtin/security/win_security_dcsync.yml
50
+ - https://adsecurity.org/?p=1729
51
+ - https://www.linkedin.com/pulse/mimikatz-dcsync-event-log-detections-john-dwyer
52
+ - https://github.com/SigmaHQ/sigma/blob/0.22-699-g29a5c6278/rules/windows/builtin/security/win_security_dcsync.yml
50
53
drilldown_searches :
51
- - name : View the detection results for - "$user$"
52
- search : ' %original_detection_search% | search user = "$user$"'
53
- earliest_offset : $info_min_time$
54
- latest_offset : $info_max_time$
55
- - name : View risk events for the last 7 days for - "$user$"
56
- search : ' | from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user$")
57
- starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
58
- values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
59
- as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
60
- as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
61
- | `security_content_ctime(lastTime)`'
62
- earliest_offset : $info_min_time$
63
- latest_offset : $info_max_time$
54
+ - name : View the detection results for - "$user$"
55
+ search : ' %original_detection_search% | search user = "$user$"'
56
+ earliest_offset : $info_min_time$
57
+ latest_offset : $info_max_time$
58
+ - name : View risk events for the last 7 days for - "$user$"
59
+ search :
60
+ ' | from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user$")
61
+ starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
62
+ values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
63
+ as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
64
+ as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
65
+ | `security_content_ctime(lastTime)`'
66
+ earliest_offset : $info_min_time$
67
+ latest_offset : $info_max_time$
64
68
rba :
65
- message : Windows Active Directory Replication Request Initiated from Unsanctioned
69
+ message :
70
+ Windows Active Directory Replication Request Initiated from Unsanctioned
66
71
Location $src_ip$ by $user$
67
72
risk_objects :
68
- - field : user
69
- type : user
70
- score : 100
71
- - field : src_ip
72
- type : system
73
- score : 100
73
+ - field : user
74
+ type : user
75
+ score : 100
76
+ - field : src_ip
77
+ type : system
78
+ score : 100
74
79
threat_objects : []
75
80
tags :
76
81
analytic_story :
77
- - Compromised Windows Host
78
- - Sneaky Active Directory Persistence Tricks
79
- - Credential Dumping
82
+ - Compromised Windows Host
83
+ - Sneaky Active Directory Persistence Tricks
84
+ - Credential Dumping
80
85
asset_type : Endpoint
81
86
mitre_attack_id :
82
- - T1003.006
87
+ - T1003.006
83
88
product :
84
- - Splunk Enterprise
85
- - Splunk Enterprise Security
86
- - Splunk Cloud
89
+ - Splunk Enterprise
90
+ - Splunk Enterprise Security
91
+ - Splunk Cloud
87
92
security_domain : endpoint
88
- manual_test : This detection runs correctly when run manually and given some time
93
+ manual_test :
94
+ This detection runs correctly when run manually and given some time
89
95
is given for data to settle in the splunk index.
90
96
tests :
91
- - name : True Positive Test
92
- attack_data :
93
- - data : https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003.006/impacket/windows-security-xml.log
94
- source : XmlWinEventLog:Security
95
- sourcetype : XmlWinEventLog
97
+ - name : True Positive Test
98
+ attack_data :
99
+ - data : https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003.006/impacket/windows-security-xml.log
100
+ source : XmlWinEventLog:Security
101
+ sourcetype : XmlWinEventLog
0 commit comments