AWS - ECS Enum

Support 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つあります:

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

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

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

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

  • DAEMON:必要な要件を満たす各アクティブなコンテナインスタンスに正確に1つのタスクをデプロイします。希望するタスクの数、タスク配置戦略、またはサービス自動スケーリングポリシーを指定する必要はありません。

  • タスク定義は、実行されるコンテナを定義する責任があります。また、ポートマッピング環境変数、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>

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

権限昇格

次のページでは、ECSの権限を悪用して権限を昇格させる方法を確認できます:

ポストエクスプロイト

永続性

HackTricksをサポートする

Last updated