Outbound Scheduled Task Activity via PowerShell
editOutbound Scheduled Task Activity via PowerShell
editIdentifies the PowerShell process loading the Task Scheduler COM DLL followed by an outbound RPC network connection within a short time period. This may indicate lateral movement or remote discovery via scheduled tasks.
Rule type: eql
Rule indices:
- winlogbeat-*
- logs-endpoint.events.*
- logs-windows.*
Severity: medium
Risk score: 47
Runs every: 5 minutes
Searches indices from: now-9m (Date Math format, see also Additional look-back time
)
Maximum alerts per execution: 100
References:
Tags:
- Elastic
- Host
- Windows
- Threat Detection
- Execution
Version: 6 (version history)
Added (Elastic Stack release): 7.11.0
Last modified (Elastic Stack release): 8.4.0
Rule authors: Elastic
Rule license: Elastic License v2
Potential false positives
editLegitimate scheduled tasks may be created during installation of new software.
Rule query
editsequence by host.id, process.entity_id with maxspan = 5s [any where (event.category == "library" or (event.category == "process" and event.action : "Image loaded*")) and (dll.name : "taskschd.dll" or file.name : "taskschd.dll") and process.name : ("powershell.exe", "pwsh.exe", "powershell_ise.exe")] [network where process.name : ("powershell.exe", "pwsh.exe", "powershell_ise.exe") and destination.port == 135 and not destination.address in ("127.0.0.1", "::1")]
Threat mapping
editFramework: MITRE ATT&CKTM
-
Tactic:
- Name: Execution
- ID: TA0002
- Reference URL: https://attack.mitre.org/tactics/TA0002/
-
Technique:
- Name: Scheduled Task/Job
- ID: T1053
- Reference URL: https://attack.mitre.org/techniques/T1053/
Rule version history
edit- Version 6 (8.4.0 release)
-
-
Updated query, changed from:
sequence by host.id, process.entity_id with maxspan = 5s [library where dll.name : "taskschd.dll" and process.name : ("powershell.exe", "pwsh.exe", "powershell_ise.exe")] [network where process.name : ("powershell.exe", "pwsh.exe", "powershell_ise.exe") and destination.port == 135 and not destination.address in ("127.0.0.1", "::1")]
-
- Version 4 (7.16.0 release)
-
-
Updated query, changed from:
sequence by host.id, process.entity_id with maxspan = 5s [library where dll.name : "taskschd.dll" and process.name : ("powershell.exe", "pwsh.exe")] [network where process.name : ("powershell.exe", "pwsh.exe") and destination.port == 135 and not destination.address in ("127.0.0.1", "::1")]
-
- Version 2 (7.12.0 release)
-
-
Updated query, changed from:
sequence by host.id, process.entity_id with maxspan = 5s [library where file.name: "taskschd.dll" and process.name: ("powershell.exe", "pwsh.exe")] [network where process.name : ("powershell.exe", "pwsh.exe") and destination.port == 135 and not destination.address in ("127.0.0.1", "::1")]
-