5.2 KiB
AWS - ECR Enum
{{#include ../../../banners/hacktricks-training.md}}
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が有効な暗号化を表示します。
- プルスルーキャッシュの列はそのステータスを示し、プルスルーキャッシュのステータスがアクティブであれば、外部パブリックリポジトリのリポジトリをプライベートリポジトリにキャッシュします。
- 特定のIAMポリシーを設定して異なる権限を付与できます。
- スキャン設定により、リポジトリ内に保存されたイメージの脆弱性をスキャンできます。
- パブリックレジストリ:
- パブリックアクセス: ECRパブリックレジストリに保存されたコンテナイメージは、インターネット上の誰でも認証なしにアクセス可能です。
- パブリックリポジトリのURIは
public.ecr.aws/<random>/<name>のようになります。<random>部分は管理者によって覚えやすい別の文字列に変更できます。
リポジトリ
これらは プライベートレジストリ または パブリック にある イメージ です。
Note
リポジトリにイメージをアップロードするには、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>
認証されていない列挙
{{#ref}} ../aws-unauthenticated-enum-access/aws-ecr-unauthenticated-enum/README.md {{#endref}}
権限昇格
次のページでは、ECRの権限を悪用して権限を昇格させる方法を確認できます:
{{#ref}} ../aws-privilege-escalation/aws-ecr-privesc/README.md {{#endref}}
ポストエクスプロイト
{{#ref}} ../aws-post-exploitation/aws-ecr-post-exploitation/README.md {{#endref}}
永続性
{{#ref}} ../aws-persistence/aws-ecr-persistence/README.md {{#endref}}
参考文献
{{#include ../../../banners/hacktricks-training.md}}