Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 31 additions & 23 deletions detections/endpoint/short_lived_scheduled_task.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,34 @@
name: Short Lived Scheduled Task
id: 6fa31414-546e-11ec-adfa-acde48001122
version: 11
version: 12
creation_date: '2021-12-03'
modification_date: '2026-05-13'
modification_date: '2026-07-07'
author: Mauricio Velazco, Splunk
status: production
type: TTP
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 is significant as it 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.
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=4698 OR EventCode=4699
| xmlkv Message
| transaction Task_Name startswith=(EventCode=4698) endswith=(EventCode=4699)
| eval short_lived=case((duration<30),"TRUE")
| search short_lived = TRUE
| rename ComputerName as dest
| table _time, dest, Account_Name, Command, Task_Name, short_lived
| `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.
`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`
Comment thread
nasbench marked this conversation as resolved.
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
Expand All @@ -33,12 +41,12 @@ drilldown_searches:
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"
finding:
title: A windows scheduled task was created and deleted in 30 seconds on $dest$
entity:
field: dest
type: system
score: 50
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
Expand All @@ -57,7 +65,7 @@ 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.log
source: WinEventLog:Security
sourcetype: WinEventLog
- 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
Loading