Detection rules › Splunk

Windows Event Log Cleared

Status
production
Severity
medium
Group by
action, change_type, dest, dvc, group.name, object_category, signature_id, status, user, vendor_product
Author
Rico Valdez, Michael Haag, Splunk
Source
github.com/splunk/security_content

The following analytic detects the clearing of Windows event logs by identifying Windows Security Event ID 1102 or System log event 104. This detection leverages Windows event logs to monitor for log clearing activities. Such behavior is significant as it may indicate an attempt to cover tracks after malicious activities. If confirmed malicious, this action could hinder forensic investigations and allow attackers to persist undetected, making it crucial to investigate further and correlate with other alerts and data sources.

Known false positives

  • It is possible that these logs may be legitimately cleared by Administrators. Filter as needed.

MITRE ATT&CK coverage

Telemetry coverage

Rule body

name: Windows Event Log Cleared
id: ad517544-aff9-4c96-bd99-d6eb43bfbb6a
version: 21
creation_date: '2019-10-16'
modification_date: '2026-06-08'
author: Rico Valdez, Michael Haag, Splunk
status: production
type: TTP
description: The following analytic detects the clearing of Windows event logs by identifying Windows Security Event ID 1102 or System log event 104. This detection leverages Windows event logs to monitor for log clearing activities. Such behavior is significant as it may indicate an attempt to cover tracks after malicious activities. If confirmed malicious, this action could hinder forensic investigations and allow attackers to persist undetected, making it crucial to investigate further and correlate with other alerts and data sources.
data_source:
    - Windows Event Log Security 1102
    - Windows Event Log System 104
search: |-
    (`wineventlog_security` EventCode=1102)
    OR
    (`wineventlog_system` EventCode=104)
    | stats count min(_time) as firstTime max(_time) as lastTime
      by action change_type dest dvc object_category signature_id status user vendor_product object EventCode
    | `security_content_ctime(firstTime)`
    | `security_content_ctime(lastTime)`
    | `windows_event_log_cleared_filter`
how_to_implement: To successfully implement this search, you need to be ingesting Windows event logs from your hosts. In addition, the Splunk Windows TA is needed.
known_false_positives: It is possible that these logs may be legitimately cleared by Administrators. Filter as needed.
references:
    - https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/event-1102
    - https://www.ired.team/offensive-security/defense-evasion/disabling-windows-event-logs-by-suspending-eventlog-service-threads
    - https://attack.mitre.org/techniques/T1070/001/
    - https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1070.001/T1070.001.md
finding:
    title: Windows $object$ cleared on $dest$ via EventCode $EventCode$
    entity:
        field: dest
        type: system
        score: 50
analytic_story:
    - ShrinkLocker
    - Windows Log Manipulation
    - Ransomware
    - CISA AA22-264A
    - Compromised Windows Host
    - Clop Ransomware
    - Salat Stealer
asset_type: Endpoint
mitre_attack_id:
    - T1685.005
product:
    - Splunk Enterprise
    - Splunk Enterprise Security
    - Splunk Cloud
category: endpoint
security_domain: endpoint

Stages and Predicates

Stage 1: search

(`wineventlog_security` EventCode=1102)
OR
(`wineventlog_system` EventCode=104)

Stage 2: stats

| stats count min(_time) as firstTime max(_time) as lastTime
  by action change_type dest dvc object_category signature_id status user vendor_product object EventCode

Stage 3: search

| `security_content_ctime(firstTime)`

Stage 4: search

| `security_content_ctime(lastTime)`

Stage 5: search

| `windows_event_log_cleared_filter`

Indicators

These rows show field, operator, and value matches.

FieldKindValuesSearch
EventCodeeq
  • 104 corpus 2 (splunk 2)
  • 1102 corpus 4 (splunk 2, kusto 2)
field:"EventID" kind:eq