AWS - ECR Enum
Last updated
Last updated
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
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が有効な暗号化を表示します。
プルスルーキャッシュ列はそのステータスを示し、プルスルーキャッシュのステータスがアクティブであれば、外部のパブリックリポジトリのリポジトリをプライベートリポジトリにキャッシュします。
特定のIAMポリシーを設定して異なる権限を付与できます。
スキャン設定により、リポジトリ内に保存されたイメージの脆弱性をスキャンできます。
パブリックレジストリ:
パブリックアクセス:ECRパブリックレジストリに保存されたコンテナイメージは、認証なしでインターネット上の誰でもアクセス可能です。
パブリックリポジトリのURIはpublic.ecr.aws/<random>/<name>
のようになります。ただし、<random>
部分は管理者によって覚えやすい別の文字列に変更できます。
リポジトリ
これらはプライベートレジストリまたはパブリックのイメージです。
リポジトリにイメージをアップロードするには、ECRリポジトリがイメージと同じ名前である必要があります。
レジストリとリポジトリには、他のプリンシパル/アカウントに権限を付与するために使用できるポリシーもあります。たとえば、次のリポジトリポリシーの画像では、組織全体の任意のユーザーがイメージにアクセスできることがわかります:
次のページでは、ECRの権限を悪用して権限を昇格させる方法を確認できます:
AWS - ECR PrivescAWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)