T1613 Container and Resource Discovery — Attack Simulation
Adversaries may attempt to discover containers and other resources that are available within a containers environment. Other resources may include images, deployments, pods, nodes, and other information such as the status of a cluster. These resources can be viewed within web applications such as the Kubernetes dashboard or can be queried via the Docker and Kubernetes APIs. In Docker, logs may leak information about the environment, such as the…
Complete technique description
Adversaries may attempt to discover containers and other resources that are available within a containers environment. Other resources may include images, deployments, pods, nodes, and other information such as the status of a cluster.
These resources can be viewed within web applications such as the Kubernetes dashboard or can be queried via the Docker and Kubernetes APIs.[Docker API][Kubernetes API] In Docker, logs may leak information about the environment, such as the environment’s configuration, which services are available, and what cloud provider the victim may be utilizing. The discovery of these resources may inform an adversary’s next steps in the environment, such as how to perform lateral movement and which methods to utilize for execution.
These contracts are selected through exact technique-to-data-component relationships or explicitly labelled planning overrides. Configure a collector at the relevant observation point; a telemetry name alone is not coverage.
Container Enumeration · source-mapped
DC0091 collection page — Use authorized Docker API access auditing/instrumentation for list requests; a read-only inventory snapshot gives state but does not prove someone else enumerated containers.
Providers and collection configuration
Docker Engine events: Daemon lifecycle events for containers and images; collect continuously.
Kubernetes API audit: Control-plane context in Kubernetes, not a replacement for runtime observations.
Subscribe to the lab daemon event stream with filters for the relevant object/action; send it to a durable collector.
Record runtime/container ID, image digest, action, timestamp and host. Join orchestrator identities where available.
Use a protected collector connection. Docker socket access is privileged; never expose it publicly or grant it to the website.
Project-normalized synthetic JSON, not a native provider log, captured event, attack verdict or validated detection. A parser/adapter is required for a real SIEM. Example names, IPs and values are fictional.
Visibility limits: Runtime event history is bounded and can be lost without continuous collection. Image tags are mutable; pin digests. A lifecycle event is not a full process or file audit.
Pod Enumeration · source-mapped
DC0037 collection page — Include list/get/watch for pods where relevant; retain actor, namespace, user-agent and audit stage. Watches can be long-lived.
Providers and collection configuration
Kubernetes API audit: Who requested a resource action and how the API server handled it.
Configure a lab audit policy and log/webhook backend, or the managed service audit export. Start with Metadata for the required verbs/resources and namespace.
Add narrowly scoped Request or RequestResponse only when bodies are required; secrets and tokens can leak into audit data.
Keep auditID, stage, user, verb, objectRef, sourceIPs and responseStatus. Correlate API requests with scheduler, kubelet or runtime state before asserting execution.
Project-normalized synthetic JSON, not a native provider log, captured event, attack verdict or validated detection. A parser/adapter is required for a real SIEM. Example names, IPs and values are fictional.
Visibility limits: An API create request does not prove a container ran. Audit stage and response code matter. Pod logs and API audit logs serve different purposes.
Detection of adversary attempts to enumerate containers, pods, nodes, and related resources within containerized environments. Defenders may observe anomalous API calls to Docker or Kubernetes (e.g., 'docker ps', 'kubectl get pods', 'kubectl get nodes'), unusual account activity against the Kubernetes dashboard, or unexpected queries against container metadata endpoints. These events should be correlated with user context and network activity to reveal resource discovery attempts.
Platforms: Containers.
Pod Enumeration — kubernetes:apiserver; channel list or get requests against pods, deployments, or nodes.
Read the actual condition and logsource; identify attacker-side, victim-side or third-party visibility.
Map native sensor fields, parse times and identities, then compile for the selected backend.
Replay a behavior-positive case, a normal control, an authorized look-alike and a missing-telemetry case.
Record matches and misses with rule version and source events. No match is inconclusive when required telemetry is absent.
Anomaly-based detection
No exact technique-specific Atlas model is present for T1613 in the selected source snapshot. The following is a design worksheet, not a newly validated model.
Anomaly engineering worksheet
Start from the exact analytic above. The collection-specific lenses below are analyst recommendations; they do not assert that an arbitrary statistical deviation detects this technique.
Container runtime: Per workload image and namespace: rare process starts, unexpected image/privilege changes and new network relationships. Use workload/deployment identity, not short-lived container IDs alone.
Kubernetes: Per service account and namespace: rare API verbs/resources, exec sessions and role-binding changes. Separate controllers, GitOps reconciliation and emergency operations.
Define an entity/peer group and feature; exclude the evaluation period from baseline training.
Use representative normal and maintenance activity. Do not invent a production threshold from a synthetic example.
Evaluate held-out behavior-positive and benign cases; measure false positives, misses and telemetry loss separately.
Keep abnormality separate from maliciousness. Correlate with the behavior-specific source evidence.
These are exact ATT&CK software-use relationships, including malware. They provide behavior context, not recommendations to download or execute malware. No safety or detector claim is inherited.
Atomic evidence: 2 compatible documented candidates. Live lab status: not run for these imported procedures.
Use disposable lab hosts and test accounts, explicit target allowlists, a clean snapshot, bounded egress and a restore plan. Review every candidate and dependency before any execution.
Docker Container and Resource Discovery
Adversaries may attempt to discover containers and other resources that are available within a containers environment.
Elevation: not declared required. Cleanup: defined upstream; review required. This is source documentation, not an execution approval.
No input arguments declared.
Review the upstream command, dependencies and cleanup at the source link. Source defaults may refer to real infrastructure or destructive actions; they are not authorized targets. No automatic install, prerequisite download or command execution is provided.
2 prerequisite definitions:
Verify Docker is installed.
Verify Docker service is running.
Podman Container and Resource Discovery
Adversaries may attempt to discover containers and other resources that are available within a containers environment.
Elevation: not declared required. Cleanup: defined upstream; review required. This is source documentation, not an execution approval.
No input arguments declared.
Review the upstream command, dependencies and cleanup at the source link. Source defaults may refer to real infrastructure or destructive actions; they are not authorized targets. No automatic install, prerequisite download or command execution is provided.
2 prerequisite definitions:
Verify Podman is installed.
Verify Podman service is running.
Technique-specific experiment contract
Choose one procedure implementing T1613 Container and Resource Discovery; identify the observable behavior in the source definition, not just its tactic.
Record exact target, tool/version, inputs, privileges, network limits and approval. Never run an imported default target automatically.
Enable the collection sources above and verify a benign baseline reaches the detector.
Run only the approved isolated scenario; capture native events and an independent behavior observable.
Evaluate the exact rule/model, restore the lab, and preserve configuration, event hashes, alerts, controls and misses.
This fixture exercises the listed collection fields. It does not reproduce Container and Resource Discovery, label its example events as malicious, or measure detection effectiveness. Use the exact analytic and selected procedure to build an independently labelled behavior-positive dataset.
Not run in this browser. No network scan or attack command is executed by this control.
Validation status and remaining work
Source identity
Joined by exact technique/object IDs against hash-pinned sources.
Collection fixture
Available for offline schema exercises; not attack emulation.
Native telemetry / backend / real attack
Not validated for these imported procedures. Source fidelity and page tests cannot establish sensor or detector effectiveness.
Pinned MITRE STIX source · SHA-256 81113ba98afa2928f3dcff62022539f7ce30c315c32e14422f11ff95ce534352. Definition and procedure context are reproduced from this snapshot, not independently re-investigated incidents.
Enforce the principle of least privilege by limiting dashboard visibility to only the required users. When using Kubernetes, avoid giving users wildcard permissions or adding users to the `system:masters` group, and use `RoleBindings` rather than `ClusterRoleBindings` to limit user privileges to specific namespaces.[Kubernetes RBAC]
Limit communications with the container service to managed and secured channels, such as local Unix sockets or remote access via SSH. Require secure port access to communicate with the APIs over TLS by disabling unauthenticated access to the Docker API and Kubernetes API Server.[Docker Daemon Socket Protect][Kubernetes API Control Access] In Kubernetes clusters deployed in cloud environments, use native cloud platform features to restrict the IP ranges that are permitted to access to API server.[Kubernetes Cloud Native Security] Where possible, consider enabling just-in-time (JIT) access to the Kubernetes API to place additional restrictions on access.[Microsoft AKS Azure AD 2023]
These are explicit actor-to-technique associations in the existing Threat Matrix snapshot, not attribution of an event or proof that a detector identifies the actor. No tool-to-actor relationship is inferred.
Pinned research references. No browser attack runner or production-validated detector is asserted. Imported procedures remain unvalidated; any bounded lab evidence has its own scope. ATT&CK / Atomic provenance · Detection provenance.