Container Orchestration Job T1053.007
- Tactics
- Execution, Persistence, Privilege Escalation
- Platform
- Containers
- Version
- 1.4
- Created
- 29 March 2021
- Last modified
- 24 October 2025
- Contributors
- Center for Threat-Informed Defense (CTID); Vishwas Manral, McAfee; Yossi Weizman, Azure Defender Research Team
Adversaries may abuse task scheduling functionality provided by container orchestration tools such as Kubernetes to schedule deployment of containers configured to execute malicious code. Container orchestration jobs run these automated tasks at a specific date and time, similar to cron jobs on a Linux system. Deployments of this type can also be configured to maintain a quantity of containers over time, automating the process of maintaining persistence within a cluster.
Offense vs defense T1053.007
Is defensive coverage keeping up with adversary use? Eight counts, each ranked against all 697 ATT&CK techniques. Attack sits left, defense right, so a shape leaning left means adversaries are better documented here than defenders are equipped. Hover any spoke for its percentile and the share of techniques that have more. The timeline below shows when each side arrived.
How it got here
Adversary activity (campaign spans) over cumulative rule output. Each source is plotted independently from zero, so neither line includes the other. Campaign dates are year-granularity.
Container Orchestration Job detection strategy DET0206
MITRE names one behaviour worth catching for this technique and breaks it into 1 analytic, one per platform. Each carries the log sources it needs and the fields you tune per environment.
Detection of Malicious Kubernetes CronJob Scheduling
AN0582 · Containers
Detects abuse of container orchestration platforms (e.g., Kubernetes) where adversaries create CronJobs to maintain persistence or execute malicious Jobs across the cluster.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Scheduled Job CreationDC0001 | kubernetes:apiserver | verb=create, resource=cronjobs, group=batch |
| Container CreationDC0072 | kubernetes:events | container start/stop activity via Docker, containerd, or CRI-O |
| Network Traffic ContentDC0085 | container:proxy | outbound/inbound network activity from spawned pods |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| NamespaceScope | Kubernetes namespace the job is deployed to—scoping this to known trusted namespaces may reduce noise. |
| ImageRepository | The container image registry or repository the job pulls from—can be filtered by trusted registries. |
| ScheduleWindow | Time window or frequency of CronJob execution (e.g., ‘@hourly’)—jobs running at odd hours may be suspicious. |
| ExecutionCommand | The command or entrypoint executed by the Job—unexpected shell commands or interpreters may warrant inspection. |
Ensure containers are not running as root by default. In Kubernetes environments, consider defining Pod Security Standards that prevent pods from running privileged containers.
Limit privileges of user accounts and remediate privilege escalation vectors so only authorized administrators can create container orchestration jobs.
Tests from Atomic Red Team (MIT licence) · technique definition