Adversaries may abuse the Windows Task Scheduler to perform task scheduling for initial or recurring execution of malicious code. There are multiple ways to access the Task Scheduler in Windows. The schtasks utility can be run directly on the command line, or the Task Scheduler can be opened through the GUI within the Administrator Tools section of the Control Panel. In some cases, adversaries have used a .NET wrapper for the Windows Task Scheduler, and alternatively, adversaries have used the Windows netapi32 library to create a scheduled task.
The deprecated at utility could also be abused by adversaries (ex: At), though <code>at.exe</code> can not access tasks created with <code>schtasks</code> or the Control Panel.
An adversary may use Windows Task Scheduler to execute programs at system startup or on a scheduled basis for persistence. The Windows Task Scheduler can also be abused to conduct remote Execution as part of Lateral Movement and/or to run a process under the context of a specified account (such as SYSTEM). Similar to System Binary Proxy Execution, adversaries have also abused the Windows Task Scheduler to potentially mask one-time execution under signed/trusted system processes.(Citation: ProofPoint Serpent)
Adversaries may also create "hidden" scheduled tasks (i.e. Hide Artifacts) that may not be visible to defender tools and manual queries used to enumerate tasks. Specifically, an adversary may hide a task from schtasks /query
and the Task Scheduler by deleting the associated Security Descriptor (SD) registry value (where deletion of this value must be completed using SYSTEM permissions).(Citation: SigmaHQ)(Citation: Tarrask scheduled task) Adversaries may also employ alternate methods to hide tasks, such as altering the metadata (e.g., Index
value) within associated registry keys.(Citation: Defending Against Scheduled Task Attacks in Windows Environments)
Capability ID | Capability Description | Mapping Type | ATT&CK ID | ATT&CK Name |
---|---|---|---|---|
AC-02 | Account Management | Protects | T1053.005 | Scheduled Task |
AC-03 | Access Enforcement | Protects | T1053.005 | Scheduled Task |
AC-05 | Separation of Duties | Protects | T1053.005 | Scheduled Task |
AC-06 | Least Privilege | Protects | T1053.005 | Scheduled Task |
CA-08 | Penetration Testing | Protects | T1053.005 | Scheduled Task |
CM-02 | Baseline Configuration | Protects | T1053.005 | Scheduled Task |
CM-05 | Access Restrictions for Change | Protects | T1053.005 | Scheduled Task |
CM-06 | Configuration Settings | Protects | T1053.005 | Scheduled Task |
CM-07 | Least Functionality | Protects | T1053.005 | Scheduled Task |
CM-08 | System Component Inventory | Protects | T1053.005 | Scheduled Task |
IA-02 | Identification and Authentication (organizational Users) | Protects | T1053.005 | Scheduled Task |
IA-04 | Identifier Management | Protects | T1053.005 | Scheduled Task |
RA-05 | Vulnerability Monitoring and Scanning | Protects | T1053.005 | Scheduled Task |
SI-04 | System Monitoring | Protects | T1053.005 | Scheduled Task |