AWS - ECR Enum

AWS - ECR Enum

Support HackTricks

ECR

Basic Information

Amazon Elastic Container Registry (Amazon ECR) є керованою службою реєстрації контейнерних зображень. Вона призначена для забезпечення середовища, в якому клієнти можуть взаємодіяти зі своїми контейнерними зображеннями, використовуючи відомі інтерфейси. Зокрема, підтримується використання Docker CLI або будь-якого іншого улюбленого клієнта, що дозволяє виконувати такі дії, як завантаження, вивантаження та управління контейнерними зображеннями.

ECR складається з 2 типів об'єктів: Реєстрації та Репозиторії.

Реєстрації

Кожен обліковий запис AWS має 2 реєстрації: Приватні та Публічні.

  1. Приватні реєстрації:

  • Приватні за замовчуванням: Контейнерні зображення, збережені в приватній реєстрації Amazon ECR, доступні лише авторизованим користувачам у вашому обліковому записі AWS або тим, кому надано дозвіл.

  • URI приватного репозиторію має формат <account_id>.dkr.ecr.<region>.amazonaws.com/<repo-name>

  • Контроль доступу: Ви можете контролювати доступ до своїх приватних контейнерних зображень, використовуючи IAM політики, і ви можете налаштувати детальні дозволи на основі користувачів або ролей.

  • Інтеграція з AWS службами: Приватні реєстрації Amazon ECR можуть бути легко інтегровані з іншими службами AWS, такими як EKS, ECS...

  • Інші варіанти приватних реєстрацій:

  • Стовпець імутабельності тегів вказує на його статус, якщо імутабельність тегів увімкнена, це запобігатиме завантаженню зображень з існуючими тегами.

  • Стовпець Тип шифрування вказує на властивості шифрування репозиторію, він показує типи шифрування за замовчуванням, такі як AES-256, або має KMS увімкнене шифрування.

  • Стовпець Кешування через витяг вказує на його статус, якщо статус кешування через витяг активний, він буде кешувати репозиторії в зовнішньому публічному репозиторії у вашому приватному репозиторії.

  • Специфічні IAM політики можуть бути налаштовані для надання різних дозволів.

  • Конфігурація сканування дозволяє сканувати на вразливості в зображеннях, збережених у репозиторії.

  1. Публічні реєстрації:

  • Публічна доступність: Контейнерні зображення, збережені в публічній реєстрації ECR, доступні будь-кому в Інтернеті без аутентифікації.

  • URI публічного репозиторію виглядає як public.ecr.aws/<random>/<name>. Хоча частину <random> адміністратор може змінити на інший рядок, який легше запам'ятати.

Репозиторії

Це зображення, які знаходяться в приватній реєстрації або в публічній.

Зверніть увагу, що для завантаження зображення в репозиторій, репозиторій ECR повинен мати таку ж назву, як і зображення.

Політики реєстрації та репозиторію

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

Перерахування

# Get repos
aws ecr describe-repositories
aws ecr describe-registry

# Get image metadata
aws ecr list-images --repository-name <repo_name>
aws ecr describe-images --repository-name <repo_name>
aws ecr describe-image-replication-status --repository-name <repo_name> --image-id <image_id>
aws ecr describe-image-scan-findings --repository-name <repo_name> --image-id <image_id>
aws ecr describe-pull-through-cache-rules --repository-name <repo_name> --image-id <image_id>

# Get public repositories
aws ecr-public describe-repositories

# Get policies
aws ecr get-registry-policy
aws ecr get-repository-policy --repository-name <repo_name>

Неавтентифіковане перерахування

Підвищення привілеїв

На наступній сторінці ви можете перевірити, як зловживати дозволами ECR для підвищення привілеїв:

Постексплуатація

Постійність

Посилання

Підтримати HackTricks

Last updated