AWS - ECR Enum

AWS - ECR Enum

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

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

ECR

基本情報

Amazon Elastic Container Registry(Amazon ECR)は、管理されたコンテナイメージレジストリサービスです。顧客がよく知られたインターフェースを使用してコンテナイメージとやり取りできる環境を提供するよう設計されています。具体的には、Docker CLIや任意のクライアントを使用して、プッシュ、プル、およびコンテナイメージの管理などのアクティビティをサポートしています。

ECRはレジストリリポジトリの2種類のオブジェクトで構成されています。

レジストリ

すべてのAWSアカウントには、プライベートパブリックの2つのレジストリがあります。

  1. プライベートレジストリ

  • デフォルトでプライベート:Amazon ECRプライベートレジストリに格納されているコンテナイメージは、AWSアカウント内の承認されたユーザーまたは許可されたユーザーにのみアクセス可能です。

  • プライベートリポジトリのURIは、<account_id>.dkr.ecr.<region>.amazonaws.com/<repo-name>の形式に従います。

  • アクセス制御:プライベートコンテナイメージへのアクセスをIAMポリシーを使用して制御でき、ユーザーやロールに基づいて細かい権限を構成できます。

  • AWSサービスとの統合:Amazon ECRプライベートレジストリは、EKS、ECSなどの他のAWSサービスと簡単に統合できます。

  • その他のプライベートレジストリオプション

  • タグの不変性列には、有効になっている場合、既存のタグを持つイメージのプッシュがイメージを上書きするのを防止します。

  • 暗号化タイプ列には、リポジトリの暗号化プロパティがリストされ、AES-256などのデフォルトの暗号化タイプやKMSが有効になっている暗号化が表示されます。

  • Pull through cache列には、Pull through cacheステータスがActiveの場合、外部のパブリックリポジトリ内のリポジトリをプライベートリポジトリにキャッシュします。

  • 特定のIAMポリシーを構成して異なる権限を付与できます。

  • スキャン構成を使用して、リポジトリ内に保存されているイメージの脆弱性をスキャンできます。

  1. パブリックレジストリ

  • パブリックアクセス:ECRパブリックレジストリに格納されているコンテナイメージは、認証なしでインターネット上の誰でもアクセスできます。

  • パブリックリポジトリのURIは、public.ecr.aws/<random>/<name>のような形式です。ただし、<random>部分は管理者によって別の文字列に変更され、覚えやすいものになる可能性があります。

リポジトリ

これらはプライベートレジストリまたはパブリックの中にあるイメージです。

リポジトリにイメージをアップロードするには、ECRリポジトリがイメージと同じ名前である必要があります

レジストリとリポジトリポリシー

レジストリとリポジトリには、他の主体/アカウントに権限を付与するために使用できるポリシーもあります。たとえば、次のリポジトリポリシー画像では、組織全体のユーザーがイメージにアクセスできるようになります。

列挙

# Get repos
aws ecr describe-repositories
aws ecr describe-registry

# Get image metadata
aws ecr list-images --repository-name <repo_name>
aws ecr describe-images --repository-name <repo_name>
aws ecr describe-image-replication-status --repository-name <repo_name> --image-id <image_id>
aws ecr describe-image-scan-findings --repository-name <repo_name> --image-id <image_id>
aws ecr describe-pull-through-cache-rules --repository-name <repo_name> --image-id <image_id>

# Get public repositories
aws ecr-public describe-repositories

# Get policies
aws ecr get-registry-policy
aws ecr get-repository-policy --repository-name <repo_name>

認証されていない列挙

pageAWS - ECR Unauthenticated Enum

特権昇格

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

pageAWS - ECR Privesc

攻撃後の利用

pageAWS - ECR Post Exploitation

永続化

pageAWS - ECR Persistence

参考文献

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

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

最終更新