Adversaries may deploy a container into an environment to facilitate execution or evade defenses. In some cases, adversaries may deploy a new container to execute processes associated with a particular image or deployment, such as processes that execute or download malware. In others, an adversary may deploy a new container configured without network rules, user limitations, etc. to bypass existing defenses within the environment. In Kubernetes environments, an adversary may attempt to deploy a privileged or vulnerable container into a specific node in order to Escape to Host and access other containers running on the node. (Citation: AppSecco Kubernetes Namespace Breakout 2020)
Containers can be deployed by various means, such as via Docker's create and start APIs or via a web application such as the Kubernetes dashboard or Kubeflow. (Citation: Docker Container)(Citation: Kubernetes Dashboard)(Citation: Kubeflow Pipelines) In Kubernetes environments, containers may be deployed through workloads such as ReplicaSets or DaemonSets, which can allow containers to be deployed across multiple nodes.(Citation: Kubernetes Workload Management) Adversaries may deploy containers based on retrieved or built malicious images or from benign images that download and execute malicious payloads at runtime.(Citation: Aqua Build Images on Hosts)
T1610「Deploy Container」(コンテナの展開) は、攻撃者がターゲットの環境(DockerホストやKubernetesクラスターなど)に、自分たちが用意した 「悪意のあるコンテナイメージ」 を新しくデプロイ(配備)して実行する手法です。
T1609(既存コンテナへの介入)が「今あるものを使う」のに対し、T1610は「自分の道具を持ち込む」攻撃です。
この手法で攻撃者は、「完全に制御可能な、独自の攻撃プラットフォームの構築」を実現します。
攻撃者は、コンテナ管理APIへのアクセス権を奪った後にこの段階へ進みます。
kubectl の認証情報を使用して、管理エンドポイントへ接続します。docker run --privileged -it [悪意あるイメージ] /bin/sh のようなコマンドを送り込みます。kubectl apply -f でクラスター内に配備します。restart: always等)し、安定した拠点を築きます。「出所不明なものの実行禁止」と「権限の最小化」が基本です。
ImagePolicyWebhook 等)。--privileged フラグ付きでデプロイされると、コンテナ内からホストの全デバイスにアクセス可能になり、実質的にホストOSを乗っ取られたのと同義になります。CWE-306: Missing Authentication for Critical Function:
認証なしでコンテナをデプロイできてしまう状態。
CWE-285: Improper Authorization:
開発者権限などの低い権限で、特権コンテナをデプロイできてしまう設定不備。
CWE-912: Managed Service API with Insecure Functions:
管理APIが、悪意あるイメージのロードを許容してしまう設計上の不備。
CVE-2020-11601 (Docker API 関連):
認証設定の不備により、リモートからAPIを叩いて新しいコンテナをデプロイできてしまうリスクに関連します。
CVE-2018-18264 (Kubernetes Dashboard):
ダッシュボードの脆弱性を突き、GUI経由で悪意あるPodをデプロイされる事案が発生しました。
CVE-2019-5736 (runc):
新しくデプロイされた「悪意あるコンテナ」が起動する瞬間に、ホスト側の runc を上書きしてホスト権限を奪う攻撃(T1611への移行)で、T1610がその前段階として利用されます。
「本番環境で、これまでに一度も使われたことがないイメージ名がプル(Pull)された」というログを検知することは、T1610の攻撃を早期発見するための非常に効果的なトリガーとなります。
この攻撃手法を利用する脅威アクターは登録されていません。