Escape to Host T1611

Tactic: Privilege Escalation

Adversaries may break out of a container or virtualized environment to gain access to the underlying host. This can allow an adversary access to other containerized or virtualized resources from the host level or to the host itself. In principle, containerized / virtualized resources should provide a clear separation of application functionality and be isolated from the host environment.

Events covered

5 catalog events are tagged with this technique by at least one rule.

Authoring guide

Patterns shared across the 51 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 (64 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
EventType25eq 14, in 11exec, ProcessRollup2, exec_event, executed, open
host.os.type23eq 23
event.type22eq 22start, change, creation
process_name22eq 18, in 7, starts_with 3docker, bash, busybox, chroot, mount
process.args16eq 9, in 6, starts_with 4, wildcard 3, ne 2, contains 1--privileged, -R, -t, /bin/chroot, /dev/sd
kubernetes.audit.objectRef.resource8eq 8pods, nodes
container.id7wildcard 4, starts_with 3*, ?
data_stream.dataset7eq 7kubernetes.audit_logs
kubernetes.audit.annotations.authorization_k8s_io/decision7eq 7allow
kubernetes.audit.verb7in 5, eq 2create, patch, update
username6contains 6serviceaccount
event.category5eq 5process, network
parent_process_name5in 4, eq 1java, zz-proxmox-boot, bash, containerd-shim-runc-v2, csh
process.interactive5eq 5true
CommandLine4in 2, contains 1, starts_with 1, wildcard 1 /:/, * --volume *, * -v *, * nc *, * nc.traditional *

Top indicator values (282 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
event.typeeq
start
19606
EventTypein
exec
11171
EventTypein
executed
888
EventTypein
start
6134
EventTypein
ProcessRollup2
5117
EventTypein
exec_event
5139
EventTypein
process_started
374
EventTypeeq
exec
10171
data_stream.dataseteq
kubernetes.audit_logs
736
kubernetes.audit.annotations.authorization_k8s_io/decisioneq
allow
723
kubernetes.audit.objectRef.resourceeq
pods
711
usernamecontains
serviceaccount
624
kubernetes.audit.verbin
patch
520
kubernetes.audit.verbin
update
519
kubernetes.audit.verbin
create
417
process.argseq
run
55
process.interactiveeq
true
542
container.idwildcard
*
425
event.categoryeq
process
4128
process.entry_leader.entry_meta.typeeq
container
412
container.idstarts_with
?
322
process_nameeq
chroot
33
process_nameeq
docker
33
process_nameeq
mount
36
process_namein
bash
388
process_namein
busybox
336
process_namein
csh
371
process_namein
dash
378
process_namein
fish
372
process_namein
ksh
373

Exclusions (231 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
resourcene
pods
6
responseStatus.codege
1
6
responseStatus.codege
400
6
responseStatus.codele
16
6
usernamein
aksService
6
usernamein
masterclient
6
usernamestarts_with
system:
6
verbne
create
6
kubernetes.audit.requestObject.spec.containers.imagestarts_with
rancher/system-agent
5
kubernetes.audit.requestObject.spec.containers.imagestarts_with
docker.elastic.co/beats/elastic-agent
4
kubernetes.audit.requestObject.spec.containers.imagestarts_with
registry.crowdstrike.com/falcon-sensor
4
namespacein
gke-system
5
namespacein
kube-node-lease
5
namespacein
kube-public
5
namespacein
kube-system
5

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)

Sigma 2 rules

Elastic 34 rules

Splunk 3 rules

Kusto 2 rules

Panther 10 rules