11name : Windows AD Replication Request Initiated from Unsanctioned Location
22id : 50998483-bb15-457b-a870-965080d9e3d3
33version : 11
4- date : ' 2025-05-02 '
4+ date : ' 2025-05-05 '
55author : Dean Luxton
66type : TTP
77status : production
88data_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
1213 requests initiated from non-domain controller locations. It leverages EventCode
1314 4662 to detect when a computer account with replication permissions creates a handle
1415 to domainDNS, filtering out known domain controller IP addresses. This activity
1516 is significant as it may indicate a DCSync attack, where an attacker with privileged
1617 access can request password hashes for any or all users within the domain. If confirmed
1718 malicious, this could lead to unauthorized access to sensitive information and potential
1819 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}",
2022 "domainDNS") AND Properties IN ("*Replicating Directory Changes All*", "*{1131f6ad-9c07-11d1-f79f-00c04fc2dcd2}*",
2123 "*{9923a32a-3607-11d2-b9be-0000f87a36b2}*","*{1131f6ac-9c07-11d1-f79f-00c04fc2dcd2}*")
2224 AND AccessMask="0x100" AND (SubjectUserSid="NT AUT*" OR SubjectUserSid="S-1-5-18"
2325 OR SubjectDomainName="Window Manager" OR SubjectUserName="*$") | stats min(_time)
2426 as attack_time, count by SubjectDomainName SubjectUserName Computer Logon_ID ObjectName
2527 ObjectServer ObjectType OperationType status action app authentication_method dest
2628 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,
2830 SubjectUserName as user, Logon_ID as TargetLogonId | appendpipe [| map search="search
2931 `wineventlog_security` EventCode=4624 TargetLogonId=$TargetLogonId$"] | table attack_time,
3032 AuthenticationPackageName, LogonProcessName, LogonType, TargetUserSid, Target_Domain,
@@ -34,7 +36,8 @@ search: '`wineventlog_security` EventCode=4662 ObjectType IN ("%{19195a5b-6da0-1
3436 values(Computer) as Computer, values(status) as status, values(src_category) as
3537 src_category, values(src_ip) as src_ip by TargetLogonId | search NOT src_category="domain_controller"
3638 | `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
3841 eventcode `4662`. The Advanced Security Audit policy settings `Audit Directory Services
3942 Access` within `DS Access` needs to be enabled, as well as the following SACLs applied
4043 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
4447 category of domain_controller added for domain controllers.
4548known_false_positives : Genuine DC promotion may trigger this alert.
4649references :
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
5053drilldown_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$
6468rba :
65- message : Windows Active Directory Replication Request Initiated from Unsanctioned
69+ message :
70+ Windows Active Directory Replication Request Initiated from Unsanctioned
6671 Location $src_ip$ by $user$
6772 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
7479 threat_objects : []
7580tags :
7681 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
8085 asset_type : Endpoint
8186 mitre_attack_id :
82- - T1003.006
87+ - T1003.006
8388 product :
84- - Splunk Enterprise
85- - Splunk Enterprise Security
86- - Splunk Cloud
89+ - Splunk Enterprise
90+ - Splunk Enterprise Security
91+ - Splunk Cloud
8792 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
8995 is given for data to settle in the splunk index.
9096tests :
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