Short Lived Scheduled Task


Description

The following analytic detects the creation and deletion of scheduled tasks within a short time frame (less than 30 seconds) using Windows Security EventCodes 4698 and 4699. This behavior is identified by analyzing Windows Security Event Logs and leveraging the Windows TA for parsing. Such activity may indicate lateral movement or remote code execution attempts by adversaries. If confirmed malicious, this could lead to unauthorized access, data exfiltration, or execution of malicious payloads, necessitating prompt investigation and response by security analysts.

Query · spl

`wineventlog_security`
EventCode IN (4698, 4699)
| xmlkv object_attrs
| transaction TaskName dest startswith=(EventCode=4698) endswith=(EventCode=4699) maxspan=30s
| stats count min(_time) AS firstTime
              max(_time) AS lastTime
    by Command TaskName user dest RunLevel
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `short_lived_scheduled_task_filter`

Implementation guide

To successfully implement this search, you need to be ingesting Windows Security Event Logs with 4698 EventCode enabled. The Windows TA is also required.

Known false positives

  • Although uncommon, legitimate applications may create and delete a Scheduled Task within 30 seconds. Filter as needed.

Analyst notes

Known false positives: Although uncommon, legitimate applications may create and delete a Scheduled Task within 30 seconds. Filter as needed.

Raw source Short Lived Scheduled Task · SPL
Esc
Published by splunk/security_content ↗, licensed under Apache 2.0 ↗. Reproduced here unmodified.
name: Short Lived Scheduled Task
id: 6fa31414-546e-11ec-adfa-acde48001122
version: 12
creation_date: '2021-12-03'
modification_date: '2026-07-07'
author: Mauricio Velazco, Splunk
status: production
type: Anomaly
description: |-
    The following analytic detects the creation and deletion of scheduled tasks within a short time frame (less than 30 seconds) using Windows Security EventCodes 4698 and 4699.
    This behavior is identified by analyzing Windows Security Event Logs and leveraging the Windows TA for parsing.
    Such activity may indicate lateral movement or remote code execution attempts by adversaries.
    If confirmed malicious, this could lead to unauthorized access, data exfiltration, or execution of malicious payloads, necessitating prompt investigation and response by security analysts.
data_source:
    - Windows Event Log Security 4698
    - Windows Event Log Security 4699
search: |-
    `wineventlog_security`
    EventCode IN (4698, 4699)
    | xmlkv object_attrs
    | transaction TaskName dest startswith=(EventCode=4698) endswith=(EventCode=4699) maxspan=30s
    | stats count min(_time) AS firstTime
                  max(_time) AS lastTime
        by Command TaskName user dest RunLevel
    | `security_content_ctime(firstTime)`
    | `security_content_ctime(lastTime)`
    | `short_lived_scheduled_task_filter`
how_to_implement: |-
    To successfully implement this search, you need to be ingesting Windows Security Event Logs with 4698 EventCode enabled. The Windows TA is also required.
known_false_positives: |-
    Although uncommon, legitimate applications may create and delete a Scheduled Task within 30 seconds. Filter as needed.
references:
    - https://attack.mitre.org/techniques/T1053/005/
    - https://docs.microsoft.com/en-us/windows/win32/taskschd/about-the-task-scheduler
drilldown_searches:
    - name: View the detection results for - "$dest$"
      search: '%original_detection_search% | search  dest = "$dest$"'
      earliest_offset: $info_min_time$
      latest_offset: $info_max_time$
    - name: View risk events for the last 7 days for - "$dest$"
      search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$") | stats count min(_time) as firstTime max(_time) as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories) as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
      earliest_offset: 7d
      latest_offset: "0"
intermediate_findings:
    entities:
        - field: dest
          type: system
          score: 20
          message: A windows scheduled task [$TaskName$] with the command [$Command$] was created by [$user$] and deleted in less than 30 seconds on [$dest$]
analytic_story:
    - Active Directory Lateral Movement
    - CISA AA22-257A
    - CISA AA23-347A
    - Compromised Windows Host
    - Scheduled Tasks
asset_type: Endpoint
mitre_attack_id:
    - T1053.005
product:
    - Splunk Enterprise
    - Splunk Enterprise Security
    - Splunk Cloud
category: endpoint
security_domain: endpoint
tests:
    - name: True Positive Test
      attack_data:
        - data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1053.005/lateral_movement/windows-security-task.log
          source: XmlWinEventLog:Security
          sourcetype: XmlWinEventLog
      test_type: unit

Detection rules belong to the projects that publish them and remain under their own licenses. This site indexes and links to them; it claims no rights in them.