AWS - ECR Enum
Reading time: 4 minutes
AWS - ECR Enum
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
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 저장소가 이미지와 동일한 이름을 가져야 합니다.
레지스트리 및 저장소 정책
레지스트리 및 저장소는 다른 주체/계정에 권한을 부여하는 데 사용할 수 있는 정책도 가지고 있습니다. 예를 들어, 다음 저장소 정책 이미지에서 전체 조직의 모든 사용자가 이미지를 접근할 수 있는 방법을 볼 수 있습니다:
.png)
열거
# 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>
인증되지 않은 열거
AWS - ECR Unauthenticated Enum
권한 상승
다음 페이지에서 ECR 권한을 악용하여 권한을 상승시키는 방법을 확인할 수 있습니다:
포스트 익스플로잇
지속성
참고자료
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.