Try in Splunk Security Cloud

Description

The following analytic detects the disabling of audit policies on a domain controller. The detection is made by identifying changes made to audit policies and checks for the removal of success or failure auditing, which are common indicators of policy tampering. The detection is important because it indicates that an attacker has gained access to the domain controller and is attempting to evade detection and cover up malicious activity. The impact of such an attack can be severe, including data theft, privilege escalation, and compromise of the entire network. False positives might occur since legitimate changes to audit policies might also trigger the analytic. Upon triage, review the audit policy change event and investigate the source of the change. Additionally, you must capture and inspect any relevant on-disk artifacts and review concurrent processes to identify the attack source."

  • Type: TTP
  • Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud
  • Datamodel: Change
  • Last Updated: 2023-01-26
  • Author: Dean Luxton
  • ID: fc3ccef1-60a4-4239-bd66-b279511b4d14

Annotations

ATT&CK

ATT&CK

ID Technique Tactic
T1562.001 Disable or Modify Tools Defense Evasion
Kill Chain Phase
  • Exploitation
NIST
  • DE.CM
CIS20
  • CIS 10
CVE
1
2
3
4
5
6
`wineventlog_security` EventCode=4719 (AuditPolicyChanges IN ("%%8448","%%8450","%%8448, %%8450") OR Changes IN ("Failure removed","Success removed","Success removed, Failure removed")) dest_category="domain_controller"
| replace "%%8448" with "Success removed", "%%8450" with "Failure removed", "%%8448, %%8450" with "Success removed, Failure removed" in AuditPolicyChanges 
| eval AuditPolicyChanges=coalesce(AuditPolicyChanges,Changes), SubcategoryGuid=coalesce(SubcategoryGuid,Subcategory_GUID) 
| stats min(_time) as _time values(host) as dest by AuditPolicyChanges SubcategoryGuid 
| lookup advanced_audit_policy_guids GUID as SubcategoryGuid OUTPUT Category SubCategory 
| `windows_ad_domain_controller_audit_policy_disabled_filter`

Macros

The SPL above uses the following Macros:

:information_source: windows_ad_domain_controller_audit_policy_disabled_filter is a empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.

Lookups

The SPL above uses the following Lookups:

Required fields

List of fields required to use this analytic.

  • _time
  • EventCode
  • AuditPolicyChanges
  • SubcategoryGuid

How To Implement

Ensure you are ingesting EventCode 4719 from your domain controllers, the category domain_controller exists in assets and identities, and that assets and identities is enabled. If A&I is not configured, you will need to manually filter the results within the base search.

Known False Positives

Unknown

Associated Analytic Story

RBA

Risk Score Impact Confidence Message
60.0 100 60 GPO $SubCategory$ of $Category$ was disabled on $dest$

:information_source: The Risk Score is calculated by the following formula: Risk Score = (Impact * Confidence/100). Initial Confidence and Impact is set by the analytic author.

Reference

Test Dataset

Replay any dataset to Splunk Enterprise by using our replay.py tool or the UI. Alternatively you can replay a dataset into a Splunk Attack Range

source | version: 1