Movatterモバイル変換


[0]ホーム

URL:


  1. Home
  2. Techniques
  3. Enterprise
  4. Scheduled Task/Job
  5. At

Scheduled Task/Job: At

Adversaries may abuse theat utility to perform task scheduling for initial or recurring execution of malicious code. Theat utility exists as an executable within Windows, Linux, and macOS for scheduling tasks at a specified time and date. Although deprecated in favor ofScheduled Task'sschtasks in Windows environments, usingat requires that the Task Scheduler service be running, and the user to be logged on as a member of the local Administrators group. In addition to explicitly running theat command, adversaries may also schedule a task withat by directly leveraging theWindows Management InstrumentationWin32_ScheduledJob WMI class.[1]

On Linux and macOS,at may be invoked by the superuser as well as any users added to theat.allow file. If theat.allow file does not exist, theat.deny file is checked. Every username not listed inat.deny is allowed to invokeat. If theat.deny exists and is empty, global use ofat is permitted. If neither file exists (which is often the baseline) only the superuser is allowed to useat.[2]

Adversaries may useat to execute programs at system startup or on a scheduled basis forPersistence.at can also be abused to conduct remoteExecution as part ofLateral Movement and/or to run a process under the context of a specified account (such as SYSTEM).

In Linux environments, adversaries may also abuseat to break out of restricted environments by using a task to spawn an interactive system shell or to run system commands. Similarly,at may also be used forPrivilege Escalation if the binary is allowed to run as superuser viasudo.[3]

ID: T1053.002
Sub-technique of: T1053
Platforms: Linux, Windows, macOS
Version: 2.4
Created: 27 November 2019
Last Modified: 24 October 2025

Procedure Examples

IDNameDescription
G0026 APT18

APT18 actors used the nativeat Windows task scheduler tool to use scheduled tasks for execution on a victim network.[4]

S0110 at

at can be used to schedule a task on a system to be executed at a specific date or time.[5][2]

G0060 BRONZE BUTLER

BRONZE BUTLER has usedat to register a scheduled task to execute malware during lateral movement.[6]

S0488 CrackMapExec

CrackMapExec can set a scheduled task on the target system to execute commands remotely usingat.[7]

S0233 MURKYTOP

MURKYTOP has the capability to schedule remote AT jobs.[8]

G0027 Threat Group-3390

Threat Group-3390 actors useat to schedule tasks to run self-extracting RAR archives, which installHTTPBrowser orPlugX on other victims on a network.[9]

Mitigations

IDMitigationDescription
M1047 Audit

Toolkits like the PowerSploit framework contain PowerUp modules that can be used to explore systems for permission weaknesses in scheduled tasks that could be used to escalate privileges.[10] Windows operating system also creates a registry key specifically associated with the creation of a scheduled task on the destination host at: Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\At1.[11] In Linux and macOS environments, scheduled tasks usingat can be audited locally, or through centrally collected logging, using syslog, or auditd events from the host.[12]

M1028 Operating System Configuration

Configure settings for scheduled tasks to force tasks to run under the context of the authenticated account instead of allowing them to run as SYSTEM. The associated Registry key is located atHKLM\SYSTEM\CurrentControlSet\Control\Lsa\SubmitControl. The setting can be configured through GPO: Computer Configuration > [Policies] > Windows Settings > Security Settings > Local Policies > Security Options: Domain Controller: Allow server operators to schedule tasks, set to disabled.[13]

M1026 Privileged Account Management

Configure the Increase Scheduling Priority option to only allow the Administrators group the rights to schedule a priority process. This can be configured through GPO: Computer Configuration > [Policies] > Windows Settings > Security Settings > Local Policies > User Rights Assignment: Increase scheduling priority.[14]

M1018 User Account Management

Limit privileges of user accounts and remediate Privilege Escalation vectors so only authorized administrators can create scheduled tasks on remote systems. In Linux environments, users account-level access toat can be managed usingat.allow andat.deny files. Users listed in the at.allow are enabled to schedule actions using at, whereas users listed in at.deny file disabled from the utility.

Detection Strategy

IDNameAnalytic IDAnalytic Description
DET0333Cross-Platform Detection of Scheduled Task/Job Abuse via `at` UtilityAN0943

Detects creation of scheduled tasks viaat.exe or WMIWin32_ScheduledJob class, followed by execution of anomalous processes by svchost.exe or taskeng.exe.

AN0944

Detects usage ofat command to schedule jobs, followed by job execution and modification of job files under /var/spool/cron/atjobs.

AN0945

Detects user or root invocation ofat command to schedule a job, followed by job execution using LaunchServices and activity in /usr/lib/cron/at.

References

  1. FireEye. (2018, March 16). Suspected Chinese Cyber Espionage Group (TEMP.Periscope) Targeting U.S. Engineering and Maritime Industries. Retrieved April 11, 2018.
  2. Dell SecureWorks Counter Threat Unit Threat Intelligence. (2015, August 5). Threat Group-3390 Targets Organizations for Cyberespionage. Retrieved August 18, 2018.
  3. PowerSploit. (n.d.). Retrieved December 4, 2014.
  4. Carvey, H.. (2014, September). Where You AT?: Indicators of Lateral Movement Using at.exe on Windows 7 Systems. Retrieved November 27, 2019.
  5. Koromicha. (2019, September 7). Scheduling tasks using at command in Linux. Retrieved December 3, 2019.
  6. Microsoft. (2012, November 15). Domain controller: Allow server operators to schedule tasks. Retrieved December 18, 2017.
  7. Microsoft. (2013, May 8). Increase scheduling priority. Retrieved December 18, 2017.
×

[8]ページ先頭

©2009-2026 Movatter.jp