AWS - ECR Enum
AWS - ECR Enum
ECR
기본 정보
Amazon Elastic Container Registry (Amazon ECR)는 관리형 컨테이너 이미지 레지스트리 서비스입니다. 고객이 잘 알려진 인터페이스를 사용하여 컨테이너 이미지와 상호 작용할 수 있는 환경을 제공하도록 설계되었습니다. 구체적으로 Docker CLI 또는 선호하는 클라이언트를 사용하여 푸시, 풀 및 컨테이너 이미지 관리와 같은 활동을 지원합니다.
ECR은 레지스트리와 저장소로 구성됩니다.
레지스트리
모든 AWS 계정에는 Private 및 Public 2개의 레지스트리가 있습니다.
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 정책을 구성하여 다른 권한을 부여할 수 있습니다.
스캔 구성을 통해 저장소 내에 저장된 이미지의 취약점을 스캔할 수 있습니다.
Public 레지스트리:
공개 액세스: ECR Public 레지스트리에 저장된 컨테이너 이미지는 인증 없이 인터넷 상의 누구에게나 액세스할 수 있습니다.
공개 저장소의 URI는
public.ecr.aws/<random>/<name>
와 같습니다.<random>
부분은 관리자가 다른 문자열로 변경할 수 있습니다.
저장소
이것은 비공개 레지스트리나 공개 레지스트리에 있는 이미지입니다.
이미지를 저장소에 업로드하려면 ECR 저장소가 이미지와 동일한 이름을 가져야 합니다.
레지스트리 및 저장소 정책
레지스트리 및 저장소에는 다른 주체/계정에 권한을 부여하는 데 사용할 수 있는 정책이 있습니다. 예를 들어, 다음 저장소 정책 이미지에서 조직 전체의 모든 사용자가 이미지에 액세스할 수 있는 방법을 볼 수 있습니다:
열거
인증되지 않은 Enum
AWS - ECR Unauthenticated Enum권한 상승
다음 페이지에서 ECR 권한을 남용하여 권한 상승하는 방법을 확인할 수 있습니다:
AWS - ECR Privesc사후 공격
AWS - ECR Post Exploitation지속성
AWS - ECR Persistence참고 자료
Last updated