Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ECS-cape – Hijacking IAM Privileges in Amazon E...

Avatar for kuzushiki kuzushiki
August 27, 2025
180

ECS-cape – Hijacking IAM Privileges in Amazon ECSを解説する

Black Hat USA 2025にてNaor Haziz氏によって発表された、Amazon ECSの攻撃手法であるECS-capeの概要を解説した資料です。
こちらの勉強会で解説を行いました。

Avatar for kuzushiki

kuzushiki

August 27, 2025
Tweet

More Decks by kuzushiki

Transcript

  1. ECS-cape – Hijacking IAM Privileges in Amazon ECS Amazon ECSの異なるタスクが同一のEC2インスタンス上で動いている場合に、タスク

    間の侵害ができるというもの。 例えば低権限のタスクと高権限のタスクを同時に動かしていると、低権限のタスクが侵 害された際に高権限のタスクのクレデンシャルにもアクセスされてしまう。
  2. Amazon ECSとは? Amazon Elastic Container Service フルマネージドのコンテナオーケストレーションサービス 3つの起動モードが存在 - EC2

    - EC2インスタンス上で動作 ←ECS-capeが刺さる可能性あり - Fargate - マネージドの隔離された環境で動作 - ECS Anyware - AWS以外の環境やオンプレで動作
  3. Step 3:WebSocket URLを推測 攻撃者はECS Agentが利用するWebSocket URLを推測する。 他コンテナの情報が必要になるが、侵害したコンテナからECS Agent用のIntrospection API (http://localhost:51578/v1/metadata)

    を呼び出せるため取得できてしまう! コンテナから Introspection APIにアクセスできること がこの攻撃の肝。ECS Agentか らのみアクセスできるように制限すべきだった。
  4. Step 4:ECS Agentになりすまして接続 推測したURLを用いて、Control Planeと偽の接続を試みる。 ECS Agentとまったく同じリクエストを送るため、Control Planeは見分けがつかず、接続 を許可してしまう。 同時接続数が

    1インスタンスにつき 1エージェントに制限されてない ことも問題。 接続数が1に制限されていれば正規のECS Agentが先に接続するため偽の接続は失 敗する。
  5. ECS-capeの特長 - タスク間の権限昇格 - 情報収集に悪用可能 - ACSではクレデンシャル以外にもネットワーク情報などが流れる - ステルス性 -

    ACSとのやりとりはCloudTrailのログには残らない - API呼び出しは正規のECS Agentも行うため見分けがつきにくい - デフォルトの設定で悪用可能 - ECS on EC2の環境はデフォルトで脆弱 - とはいえ、攻撃者は少なくとも 1つのコンテナを侵害する必要があるので悪用ハードルは高い
  6. ECS-capeの対策 - IMDSアクセスの無効化または制限 - コンテナ内からIMDSへのアクセスをブロックする - IMDS IP (169.254.169.254) へのegressを拒否するセキュリティグループを適用

    - ECS_AWSVPC_BLOCK_IMDSの設定  https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task-iam-roles.ht ml#task-iam-role-considerations - 高権限タスクは隔離された環境で動かす - EC2インスタンスを分ける、もしくは Fargateを利用する - 監視 - CloudTrailなどを設定してIAMロールの異常な利用に気づけるように - GuardDutyでインスタンスのクレデンシャルが外部に持ち出された場合に検知