AWS - ECS Enum

ゼロからヒーローまでのAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

ECS

基本情報

Amazon Elastic Container ServicesまたはECSは、クラウドでコンテナ化されたアプリケーションをホストするプラットフォームを提供します。ECSには、EC2インスタンスタイプとサーバーレスオプションであるFargateの2つのデプロイメント方法があります。このサービスは、クラウドでのコンテナの実行を非常に簡単で痛みのないものにします

ECSは、次の3つの構成要素を使用して動作します:クラスタサービス、およびタスク定義

  • クラスタは、クラウドで実行されているコンテナのグループです。前述のように、コンテナの起動タイプにはEC2とFargateの2つがあります。AWSは、EC2起動タイプを「Amazon EC2インスタンスのクラスタでコンテナ化されたアプリケーションを実行できるようにする」と定義しています。Fargateは似ており、「バックエンドインフラストラクチャをプロビジョニングおよび管理する必要なしに、コンテナ化されたアプリケーションを実行できる」と定義されています。

  • サービスはクラスタ内に作成され、タスクの実行を担当します。サービス定義の中で、実行するタスクの数、オートスケーリング、キャパシティプロバイダ(Fargate/EC2/External)、VPC、サブネット、セキュリティグループなどのネットワーキング情報を定義します。

  • 2種類のアプリケーションがあります:

  • サービス:長時間実行される計算作業を処理するタスクのグループで、停止および再起動が可能です。例:Webアプリケーション。

  • タスク:実行されて終了するスタンドアロンのタスク。例:バッチジョブ。

  • サービスアプリケーションには、2種類のサービススケジューラがあります:

  • REPLICA:レプリカスケジューリング戦略は、クラスタ全体に必要な数のタスクを配置および維持します。何らかの理由でタスクがシャットダウンされた場合、新しいタスクが同じノードまたは異なるノードに起動されます。

  • DAEMON:必要な要件を持つアクティブなコンテナインスタンスごとに1つのタスクを展開します。タスクの数、タスク配置戦略、Service Auto Scalingポリシーの指定は不要です。

  • タスク定義は、どのコンテナが実行されるかと、ホストとのポートマッピング環境変数、Dockerのエントリーポイントなどのコンテナと構成されるさまざまなパラメータを定義する責任があります。

  • 機密情報の環境変数を確認してください

タスク定義内の機密データ

タスク定義は、ECSで実行される実際のコンテナを構成する責任があります。タスク定義はコンテナの実行方法を定義するため、多くの情報が含まれています。

PacuはECSを列挙できます(list-clusters、list-container-instances、list-services、list-task-definitions)、また、タスク定義をダンプすることもできます。

列挙

# Clusters info
aws ecs list-clusters
aws ecs describe-clusters --clusters <cluster>

# Container instances
## An Amazon ECS container instance is an Amazon EC2 instance that is running the Amazon ECS container agent and has been registered into an Amazon ECS cluster.
aws ecs list-container-instances --cluster <cluster>
aws ecs describe-container-instances --cluster <cluster> --container-instances <container_instance_arn>

# Services info
aws ecs list-services --cluster <cluster>
aws ecs describe-services --cluster <cluster> --services <services>
aws ecs describe-task-sets --cluster <cluster> --service <service>

# Task definitions
aws ecs list-task-definition-families
aws ecs list-task-definitions
aws ecs list-tasks --cluster <cluster>
aws ecs describe-tasks --cluster <cluster> --tasks <tasks>
## Look for env vars and secrets used from the task definition
aws ecs describe-task-definition --task-definition <TASK_NAME>:<VERSION>

認証されていないアクセス

pageAWS - ECS Unauthenticated Enum

Privesc

以下のページで、ECS権限を悪用して特権を昇格する方法を確認できます:

pageAWS - ECS Privesc

Post Exploitation

pageAWS - ECS Post Exploitation

Persistence

pageAWS - ECS Persistence
htARTE(HackTricks AWS Red Team Expert) を使って、ゼロからヒーローまでAWSハッキングを学びましょう!

HackTricksをサポートする他の方法:

最終更新