AWS - ECS Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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)、またタスク定義をダンプすることもできます。
次のページでは、ECSの権限を悪用して権限を昇格させる方法を確認できます:
AWS - ECS PrivescAWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)