11name : Kerberos Pre-Authentication Flag Disabled in UserAccountControl
22id : 0cb847ee-9423-11ec-b2df-acde48001122
3- version : 8
4- date : ' 2026-01-14 '
3+ version : 9
4+ date : ' 2026-02-02 '
55author : Mauricio Velazco, Splunk
66status : production
77type : TTP
8- description : The following analytic detects when the Kerberos Pre-Authentication flag
8+ description :
9+ The following analytic detects when the Kerberos Pre-Authentication flag
910 is disabled in a user account, using Windows Security Event 4738. This event indicates
1011 a change in the UserAccountControl property of a domain user object. Disabling this
1112 flag allows adversaries to perform offline brute force attacks on the user's password
@@ -14,57 +15,59 @@ description: The following analytic detects when the Kerberos Pre-Authentication
1415 If confirmed malicious, this could lead to unauthorized access and potential compromise
1516 of sensitive information.
1617data_source :
17- - Windows Event Log Security 4738
18+ - Windows Event Log Security 4738
1819search : >
19- `wineventlog_security` EventCode=4738 MSADChangedAttributes="*\'Don\'t Require Preauth\'
20- - Enabled*" |rename Account_Name as user | table EventCode, user, dest, Security_ID,
21- MSADChangedAttributes | `kerberos_pre_authentication_flag_disabled_in_useraccountcontrol_filter`
22- how_to_implement : To successfully implement this search, you need to be ingesting
20+ `wineventlog_security` EventCode=4738 UserAccountControl="*%%2096*"
21+ | rename TargetUserName as user, SubjectUserName as actor | stats count earliest(_time) as firstTime latest(_time) as lastTime by actor, user, dest
22+ | `security_content_ctime(firstTime)`
23+ | `security_content_ctime(lastTime)`
24+ | `kerberos_pre_authentication_flag_disabled_in_useraccountcontrol_filter`
25+ how_to_implement :
26+ To successfully implement this search, you need to be ingesting
2327 Domain Controller events. The Advanced Security Audit policy setting `User Account
2428 Management` within `Account Management` needs to be enabled.
2529known_false_positives : No false positives have been identified at this time.
2630references :
27- - https://docs.microsoft.com/en-us/troubleshoot/windows-server/identity/useraccountcontrol-manipulate-account-properties
28- - https://m0chan.github.io/2019/07/31/How-To-Attack-Kerberos-101.html
29- - https://stealthbits.com/blog/cracking-active-directory-passwords-with-as-rep-roasting/
31+ - https://docs.microsoft.com/en-us/troubleshoot/windows-server/identity/useraccountcontrol-manipulate-account-properties
32+ - https://m0chan.github.io/2019/07/31/How-To-Attack-Kerberos-101.html
33+ - https://stealthbits.com/blog/cracking-active-directory-passwords-with-as-rep-roasting/
3034drilldown_searches :
31- - name : View the detection results for - "$user$"
32- search : ' %original_detection_search% | search user = "$user$"'
33- earliest_offset : $info_min_time$
34- latest_offset : $info_max_time$
35- - name : View risk events for the last 7 days for - "$user$"
36- search : ' | from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user$")
37- starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
38- values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
39- as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
40- as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
41- | `security_content_ctime(lastTime)`'
42- earliest_offset : $info_min_time$
43- latest_offset : $info_max_time$
35+ - name : View the detection results for - "$user$"
36+ search : ' %original_detection_search% | search user = "$user$"'
37+ earliest_offset : $info_min_time$
38+ latest_offset : $info_max_time$
39+ - name : View risk events for the last 7 days for - "$user$"
40+ search :
41+ ' | from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user$")
42+ starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime
43+ values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories)
44+ as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic)
45+ as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)`
46+ | `security_content_ctime(lastTime)`'
47+ earliest_offset : $info_min_time$
48+ latest_offset : $info_max_time$
4449rba :
4550 message : Kerberos Pre Authentication was Disabled for $user$
4651 risk_objects :
47- - field : user
48- type : user
49- score : 45
52+ - field : user
53+ type : user
54+ score : 45
5055 threat_objects : []
5156tags :
5257 analytic_story :
53- - Active Directory Kerberos Attacks
54- - BlackSuit Ransomware
58+ - Active Directory Kerberos Attacks
59+ - BlackSuit Ransomware
5560 asset_type : Endpoint
5661 mitre_attack_id :
57- - T1558.004
62+ - T1558.004
5863 product :
59- - Splunk Enterprise
60- - Splunk Enterprise Security
61- - Splunk Cloud
64+ - Splunk Enterprise
65+ - Splunk Enterprise Security
66+ - Splunk Cloud
6267 security_domain : endpoint
6368tests :
64- - name : True Positive Test
65- attack_data :
66- - data :
67- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1558.004/powershell/windows-security.log
68- source : WinEventLog:Security
69- sourcetype : WinEventLog
70-
69+ - name : True Positive Test
70+ attack_data :
71+ - data : https://media.githubusercontent.com/media/splunk/attack_data/refs/heads/master/datasets/attack_techniques/T1558.004/powershell/windows-security-xml.log
72+ source : XmlWinEventLog:Security
73+ sourcetype : XmlWinEventLog
0 commit comments