AWS - ECR Enum
AWS - ECR Enum
ECR
基本情報
Amazon Elastic Container Registry(Amazon ECR)は、管理されたコンテナイメージレジストリサービスです。顧客がよく知られたインターフェースを使用してコンテナイメージとやり取りできる環境を提供するよう設計されています。具体的には、Docker CLIや任意のクライアントを使用して、プッシュ、プル、およびコンテナイメージの管理などのアクティビティをサポートしています。
ECRはレジストリとリポジトリの2種類のオブジェクトで構成されています。
レジストリ
すべてのAWSアカウントには、プライベートとパブリックの2つのレジストリがあります。
プライベートレジストリ:
デフォルトでプライベート: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ポリシーを構成して異なる権限を付与できます。
スキャン構成を使用して、リポジトリ内に保存されているイメージの脆弱性をスキャンできます。
パブリックレジストリ:
パブリックアクセス:ECRパブリックレジストリに格納されているコンテナイメージは、認証なしでインターネット上の誰でもアクセスできます。
パブリックリポジトリのURIは、
public.ecr.aws/<random>/<name>
のような形式です。ただし、<random>
部分は管理者によって別の文字列に変更され、覚えやすいものになる可能性があります。
リポジトリ
これらはプライベートレジストリまたはパブリックの中にあるイメージです。
リポジトリにイメージをアップロードするには、ECRリポジトリがイメージと同じ名前である必要があります。
レジストリとリポジトリポリシー
レジストリとリポジトリには、他の主体/アカウントに権限を付与するために使用できるポリシーもあります。たとえば、次のリポジトリポリシー画像では、組織全体のユーザーがイメージにアクセスできるようになります。
列挙
認証されていない列挙
AWS - ECR Unauthenticated Enum特権昇格
次のページで、ECR権限を悪用して特権を昇格する方法を確認できます:
AWS - ECR Privesc攻撃後の利用
AWS - ECR Post Exploitation永続化
AWS - ECR Persistence参考文献
Last updated