AWS - ECR Enum

AWS - ECR Enum

htARTE (HackTricks AWS Red Team 전문가)를 통해 **제로**부터 **히어로**까지 AWS 해킹을 배우세요!

HackTricks를 지원하는 다른 방법:

ECR

기본 정보

Amazon Elastic Container Registry (Amazon ECR)는 관리형 컨테이너 이미지 레지스트리 서비스입니다. 고객이 잘 알려진 인터페이스를 사용하여 컨테이너 이미지와 상호 작용할 수 있는 환경을 제공하도록 설계되었습니다. 구체적으로 Docker CLI 또는 선호하는 클라이언트를 사용하여 푸시, 풀 및 컨테이너 이미지 관리와 같은 활동을 지원합니다.

ECR은 레지스트리저장소로 구성됩니다.

레지스트리

모든 AWS 계정에는 PrivatePublic 2개의 레지스트리가 있습니다.

  1. Private 레지스트리:

  • 기본적으로 비공개: Amazon ECR 비공개 레지스트리에 저장된 컨테이너 이미지는 AWS 계정 내의 권한이 있는 사용자 또는 권한이 부여된 사용자만 액세스할 수 있습니다.

  • 비공개 저장소의 URI는 <account_id>.dkr.ecr.<region>.amazonaws.com/<repo-name> 형식을 따릅니다.

  • 액세스 제어: IAM 정책을 사용하여 비공개 컨테이너 이미지에 대한 액세스를 제어할 수 있으며 사용자 또는 역할에 기반한 세밀한 권한을 구성할 수 있습니다.

  • AWS 서비스와의 통합: Amazon ECR 비공개 레지스트리는 EKS, ECS 등 다른 AWS 서비스와 쉽게 통합될 수 있습니다.

  • 기타 비공개 레지스트리 옵션:

  • Tag 불변성 열은 상태를 나열하며, 태그 불변성이 활성화되면 기존 태그로 이미지 푸시를 방지합니다.

  • 암호화 유형 열은 저장소의 암호화 속성을 나열하며, AES-256와 같은 기본 암호화 유형 또는 KMS가 활성화된 암호화를 보여줍니다.

  • Pull through cache 열은 상태를 나열하며, Pull through cache 상태가 활성화되면 외부 공개 저장소의 저장소를 개인 저장소로 캐시합니다.

  • 특정 IAM 정책을 구성하여 다른 권한을 부여할 수 있습니다.

  • 스캔 구성을 통해 저장소 내에 저장된 이미지의 취약점을 스캔할 수 있습니다.

  1. Public 레지스트리:

  • 공개 액세스: ECR Public 레지스트리에 저장된 컨테이너 이미지는 인증 없이 인터넷 상의 누구에게나 액세스할 수 있습니다.

  • 공개 저장소의 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>

인증되지 않은 Enum

pageAWS - ECR Unauthenticated Enum

권한 상승

다음 페이지에서 ECR 권한을 남용하여 권한 상승하는 방법을 확인할 수 있습니다:

pageAWS - ECR Privesc

사후 공격

pageAWS - ECR Post Exploitation

지속성

pageAWS - ECR Persistence

참고 자료

htARTE (HackTricks AWS Red Team Expert)를 통해 제로부터 AWS 해킹을 전문가로 배우세요!

HackTricks를 지원하는 다른 방법:

最終更新