Skip to content

Commit 2e7660b

Browse files
XML Windows Event Log Cleanup continued (#3887)
* Ported to XmlWinEventlog * missed one change --------- Co-authored-by: Bhavin Patel <bhavin.j.patel91@gmail.com>
1 parent a43838a commit 2e7660b

File tree

1 file changed

+43
-40
lines changed

1 file changed

+43
-40
lines changed
Lines changed: 43 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
name: Kerberos Pre-Authentication Flag Disabled in UserAccountControl
22
id: 0cb847ee-9423-11ec-b2df-acde48001122
3-
version: 8
4-
date: '2026-01-14'
3+
version: 9
4+
date: '2026-02-02'
55
author: Mauricio Velazco, Splunk
66
status: production
77
type: 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.
1617
data_source:
17-
- Windows Event Log Security 4738
18+
- Windows Event Log Security 4738
1819
search: >
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.
2529
known_false_positives: No false positives have been identified at this time.
2630
references:
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/
3034
drilldown_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$
4449
rba:
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: []
5156
tags:
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
6368
tests:
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

Comments
 (0)