Sensitive Audit Policy Sub-Category Disabled
Identifies when a security-sensitive audit policy subcategory is disabled and left disabled. Attackers do this to evade detection and impair forensics.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2025/01/14"
3integration = ["windows", "system"]
4maturity = "production"
5min_stack_comments = "ES|QL inline stats became generally available in 9.3.0, MV_CONTAINS is in preview since 9.2."
6min_stack_version = "9.3.0"
7updated_date = "2026/10/19"
8
9[rule]
10author = ["Elastic"]
11description = """
12Identifies when a security-sensitive audit policy subcategory is disabled and left disabled. Attackers do this to evade
13detection and impair forensics.
14"""
15from = "now-11m"
16language = "esql"
17license = "Elastic License v2"
18name = "Sensitive Audit Policy Sub-Category Disabled"
19note = """## Triage and analysis
20
21### Investigating Sensitive Audit Policy Sub-Category Disabled
22
23Windows event logs are a fundamental data source for security monitoring, forensics, and incident response. Adversaries can tamper, clear, and delete this data to break SIEM detections, cover their tracks, and slow down incident response.
24
25This rule looks for attempts to disable security-sensitive audit policies.
26
27#### Possible investigation steps
28
29- Investigate the process execution chain (parent process tree) for unknown processes. Examine their executable files for prevalence, whether they are located in expected locations, and if they are signed with valid digital signatures.
30- Identify the user account that performed the action and whether it should perform this kind of action.
31- Contact the account owner and confirm whether they are aware of this activity.
32- Investigate other alerts associated with the user/host during the past 48 hours.
33 - Verify if any other anti-forensics behaviors were observed.
34- Investigate the event logs prior to the action for suspicious behaviors that an attacker may be trying to cover up.
35
36### False positive analysis
37
38- This activity is unlikely to happen legitimately. Benign true positives (B-TPs) can be added as exceptions if necessary.
39
40### Response and remediation
41
42- Initiate the incident response process based on the outcome of the triage.
43- Isolate the involved host to prevent further post-compromise behavior.
44- Re-enable affected logging components, services, and security monitoring.
45- Investigate credential exposure on systems compromised or used by the attacker to ensure all compromised accounts are identified. Reset passwords for these accounts and other potentially compromised credentials, such as email, business systems, and web services.
46- Run a full antimalware scan. This may reveal additional artifacts left in the system, persistence mechanisms, and malware components.
47- Determine the initial vector abused by the attacker and take action to prevent reinfection through the same vector.
48- 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).
49"""
50references = [
51 "https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/auditing/event-4719",
52 "https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-gpac/77878370-0712-47cd-997d-b07053429f6d",
53]
54risk_score = 47
55rule_id = "0ef5d3eb-67ef-43ab-93b7-305cfa5a21f6"
56setup = """## Setup
57
58Audit Policy Change must be enabled to generate the events used by this rule.
59Setup instructions: https://ela.st/audit-policy-change
60"""
61severity = "medium"
62tags = [
63 "Domain: Endpoint",
64 "OS: Windows",
65 "Use Case: Threat Detection",
66 "Tactic: Defense Evasion",
67 "Resources: Investigation Guide",
68 "Data Source: Windows Security Event Logs",
69 "Noise: High",
70 "Performance: Normal",
71 "Profile: Aggressive",
72 "Rule Type: ES|QL",
73 "Platform: Windows",
74]
75timestamp_override = "event.ingested"
76type = "esql"
77
78query = '''
79from logs-windows.forwarded*, logs-system.security* metadata _id, _version, _index
80| where host.os.type == "windows" and event.code == "4719" and
81 // The description field is multi-valued when success and failure change together
82 (
83 MV_CONTAINS(winlog.event_data.AuditPolicyChangesDescription, "Success removed") or
84 MV_CONTAINS(winlog.event_data.AuditPolicyChangesDescription, "Success Added")
85 ) and
86 winlog.event_data.SubCategory in (
87 "Logon",
88 "Audit Policy Change",
89 "Process Creation",
90 "Other System Events",
91 "Security Group Management",
92 "User Account Management"
93 )
94
95// Latest "Success Added" for this computer and subcategory in the lookback.
96| eval Esql.is_restore = MV_CONTAINS(winlog.event_data.AuditPolicyChangesDescription, "Success Added")
97| inline stats
98 Esql.restore_at = MAX(@timestamp) where Esql.is_restore
99 by winlog.computer_name, winlog.event_data.SubCategory
100
101// Keep a removal that was ingested at least 5 minutes ago and has no later restore.
102// The same timestamp counts as restored.
103| where MV_CONTAINS(winlog.event_data.AuditPolicyChangesDescription, "Success removed") and
104 event.ingested < NOW() - 5m and
105 (
106 Esql.restore_at is null or
107 Esql.restore_at < @timestamp
108 )
109| keep *
110'''
111
112
113[[rule.threat]]
114framework = "MITRE ATT&CK"
115[[rule.threat.technique]]
116id = "T1070"
117name = "Indicator Removal"
118reference = "https://attack.mitre.org/techniques/T1070/"
119[[rule.threat.technique.subtechnique]]
120id = "T1070.001"
121name = "Clear Windows Event Logs"
122reference = "https://attack.mitre.org/techniques/T1070/001/"
123
124
125[[rule.threat.technique]]
126id = "T1562"
127name = "Impair Defenses"
128reference = "https://attack.mitre.org/techniques/T1562/"
129[[rule.threat.technique.subtechnique]]
130id = "T1562.002"
131name = "Disable Windows Event Logging"
132reference = "https://attack.mitre.org/techniques/T1562/002/"
133
134[[rule.threat.technique.subtechnique]]
135id = "T1562.006"
136name = "Indicator Blocking"
137reference = "https://attack.mitre.org/techniques/T1562/006/"
138
139
140
141[rule.threat.tactic]
142id = "TA0005"
143name = "Defense Evasion"
144reference = "https://attack.mitre.org/tactics/TA0005/"
Triage and analysis
Investigating Sensitive Audit Policy Sub-Category Disabled
Windows event logs are a fundamental data source for security monitoring, forensics, and incident response. Adversaries can tamper, clear, and delete this data to break SIEM detections, cover their tracks, and slow down incident response.
This rule looks for attempts to disable security-sensitive audit policies.
Possible investigation steps
- Investigate the process execution chain (parent process tree) for unknown processes. Examine their executable files for prevalence, whether they are located in expected locations, and if they are signed with valid digital signatures.
- Identify the user account that performed the action and whether it should perform this kind of action.
- Contact the account owner and confirm whether they are aware of this activity.
- Investigate other alerts associated with the user/host during the past 48 hours.
- Verify if any other anti-forensics behaviors were observed.
- Investigate the event logs prior to the action for suspicious behaviors that an attacker may be trying to cover up.
False positive analysis
- This activity is unlikely to happen legitimately. Benign true positives (B-TPs) can be added as exceptions if necessary.
Response and remediation
- Initiate the incident response process based on the outcome of the triage.
- Isolate the involved host to prevent further post-compromise behavior.
- Re-enable affected logging components, services, and security monitoring.
- Investigate credential exposure on systems compromised or used by the attacker to ensure all compromised accounts are identified. Reset passwords for these accounts and other potentially compromised credentials, such as email, business systems, and web services.
- Run a full antimalware scan. This may reveal additional artifacts left in the system, persistence mechanisms, and malware components.
- 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).
References
Related rules
- Multiple Logon Failure from the same Source Address
- Privileged Accounts Brute Force
- Clearing Windows Event Logs
- Command Line Obfuscation via Whitespace Padding
- Disabling Windows Defender Security Settings via PowerShell