Scheduled Task/Job: Container Orchestration Job T1053.007

Tactics: Execution, Persistence, Privilege Escalation

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.

Authoring guide

Patterns shared across the 4 rules above: which fields they filter on, what specific values they look for, and what they exclude. The catalog normalizes field names across vendors so Sigma's Image, Elastic's process.name, and Splunk's process_name collapse into one row. Each rule contributes at most once per row.

Fields filtered most (11 distinct)

The fields most rules look at when detecting this technique. The How column shows the operators authors use (eq, wildcard, regex_match, match) and how often each appears. Sample values are concrete examples to start from, not an exhaustive list.

FieldRulesHowSample values
host.os.type2eq 2
process_name2eq 1, in 1, starts_with 1., awk, base64, cron, crond
"objectRef.resource"1eq 1cronjobs
EventType1in 1exec, executed
TargetFilename1wildcard 1/etc/kubernetes/*.conf, /etc/kubernetes/manifests/*, /etc/kubernetes/pki/*
event.category1eq 1process
event.type1ne 1deletion
pod_name1ne 1
process.args1contains 1/etc/kubernetes/manifests/
sourcetype1eq 1cisco:isovalent:processExec
verb1eq 1create

Top indicator values (43 distinct)

Specific (field, operator, value) combinations the rules check for, ranked by how many rules under this technique use each one. The Corpus reach column counts how many rules across the entire catalog (any technique) check the same combination. High numbers point to widely-used indicators that are likely noisy on their own; combine them with another condition for useful signal. Blank means the combination is specific to rules under this technique. Click a value to expand the rules under this technique that use it.

FieldKindValueRules (here)Corpus reach
"objectRef.resource"eq
cronjobs
1
EventTypein
exec
1171
EventTypein
executed
188
TargetFilenamewildcard
/etc/kubernetes/*.conf
1
TargetFilenamewildcard
/etc/kubernetes/manifests/*
1
TargetFilenamewildcard
/etc/kubernetes/pki/*
1
event.categoryeq
process
1128
event.typene
deletion
128
process.argscontains
/etc/kubernetes/manifests/
1
process_nameeq
awk
17
process_nameeq
base64
13
process_nameeq
bash
17
process_nameeq
busybox
18
process_nameeq
cat
15
process_nameeq
cp
14
process_nameeq
curl
118
process_nameeq
dash
17
process_nameeq
dd
17
process_nameeq
echo
1
process_nameeq
mv
13
process_nameeq
nano
1
process_nameeq
node
19
process_nameeq
openssl
18
process_nameeq
scp
14
process_nameeq
sed
13
process_nameeq
sh
18
process_nameeq
tee
14
process_nameeq
touch
13
process_nameeq
vi
1
process_nameeq
vim
1

Exclusions (17 distinct)

Field/operator/value combinations excluded by rules under this technique (top-level not() clauses), sorted by how many rules exclude each. These are the false-positive paths the community has learned to filter out. A new rule that ignores the high-count entries here will likely fire on the same noisy paths. Click a value to expand the rules under this technique that exclude it.

FieldKindValueRules excluding
CurrentDirectorywildcard
/home/*-svc-nessus
1
ParentImagein
/opt/nessus/sbin/nessusd
1
ParentImagein
/opt/nessus_agent/sbin/nessus-agent-module
1
file.extensionin
swp
1
file.extensionin
swx
1
process.argsstarts_with
/etc/kubernetes/manifests/etcd
1
process.argsstarts_with
/etc/kubernetes/manifests/kube-apiserver
1
process.argsstarts_with
/etc/kubernetes/manifests/kube-controller-manager
1
process.argsstarts_with
/etc/kubernetes/manifests/kube-scheduler
1
process.argsstarts_with
printf
1
process_namein
dpkg
1
process_namein
kubeadm
1
process_namein
kubelet
1
process_namein
sed
1
process_namein
vi
1

Rules under this technique

Every rule in the catalog tagged with this technique, grouped by vendor. Click a rule title for its full predicates, exclusions, and indicators.

Platform (all)
Domain (all)

Elastic 2 rules

Splunk 2 rules