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)