AWS - ECS Enum
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)、また、タスク定義をダンプすることもできます。
列挙
認証されていないアクセス
pageAWS - ECS Unauthenticated EnumPrivesc
以下のページで、ECS権限を悪用して特権を昇格する方法を確認できます:
pageAWS - ECS PrivescPost Exploitation
pageAWS - ECS Post ExploitationPersistence
pageAWS - ECS Persistence最終更新