AWS - ECS Enum

Підтримайте HackTricks

ECS

Основна інформація

Amazon Elastic Container Services або ECS надає платформу для розміщення контейнеризованих додатків у хмарі. ECS має два методи розгортання, тип інстансу EC2 та опцію безсерверного режиму, Fargate. Сервіс робить запуск контейнерів у хмарі дуже простим та безболісним.

ECS працює за допомогою наступних трьох будівельних блоків: Кластери, Сервіси та Визначення завдань.

  • Кластери - це групи контейнерів, які працюють у хмарі. Як вже зазначалося, існують два типи запуску контейнерів, EC2 та Fargate. AWS визначає тип запуску EC2 як можливість клієнтам "запускати [їхні] контейнеризовані додатки на кластері інстансів Amazon EC2, які [вони] керують". Fargate схожий і визначається як "дозволяє вам запускати ваші контейнеризовані додатки без необхідності управління інфраструктурою на задньому плані".

  • Сервіси створюються всередині кластера і відповідальні за запуск завдань. У визначенні сервісу ви визначаєте кількість завдань для запуску, автомасштабування, постачальника потужності (Fargate/EC2/Зовнішній), мережеву інформацію, таку як VPC, підмережі та групи безпеки.

  • Існує 2 типи додатків:

  • Сервіс: Група завдань, які обробляють тривалу обчислювальну роботу, яку можна зупинити та перезапустити. Наприклад, веб-додаток.

  • Завдання: Самостійне завдання, яке запускається та завершується. Наприклад, пакетна робота.

  • Серед додатків сервісу існують 2 типи планувальників сервісів:

  • РЕПЛІКА: Стратегія планування репліки розміщує та підтримує бажану кількість завдань у вашому кластері. Якщо з якоїсь причини завдання вимкнено, запускається нове на тому ж або іншому вузлі.

  • ДЕМОН: Розгортає точно одне завдання на кожному активному екземплярі контейнера, який має необхідні вимоги. Не потрібно вказувати бажану кількість завдань, стратегію розміщення завдань або використовувати політики автомасштабування сервісу.

  • Визначення завдань відповідальні за визначення того, які контейнери будуть запущені та різні параметри, які будуть налаштовані з контейнерами, такі як відображення портів з хостом, змінні середовища, Docker entrypoint...

  • Перевірте змінні середовища для чутливої інформації!

Чутлива інформація в Визначеннях завдань

Визначення завдань відповідальні за налаштування фактичних контейнерів, які будуть запущені в ECS. Оскільки визначення завдань визначають, як будуть працювати контейнери, всередині можна знайти велику кількість інформації.

Pacu може перелічити ECS (список кластерів, список контейнерних екземплярів, список сервісів, список визначень завдань), він також може вивантажувати визначення завдань.

Перелік

# Clusters info
aws ecs list-clusters
aws ecs describe-clusters --clusters <cluster>

# Container instances
## An Amazon ECS container instance is an Amazon EC2 instance that is running the Amazon ECS container agent and has been registered into an Amazon ECS cluster.
aws ecs list-container-instances --cluster <cluster>
aws ecs describe-container-instances --cluster <cluster> --container-instances <container_instance_arn>

# Services info
aws ecs list-services --cluster <cluster>
aws ecs describe-services --cluster <cluster> --services <services>
aws ecs describe-task-sets --cluster <cluster> --service <service>

# Task definitions
aws ecs list-task-definition-families
aws ecs list-task-definitions
aws ecs list-tasks --cluster <cluster>
aws ecs describe-tasks --cluster <cluster> --tasks <tasks>
## Look for env vars and secrets used from the task definition
aws ecs describe-task-definition --task-definition <TASK_NAME>:<VERSION>

Неаутентифікований доступ

AWS - ECS Unauthenticated Enum

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

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

AWS - ECS Privesc

Післяексплуатаційна діяльність

AWS - ECS Post Exploitation

Постійність

AWS - ECS Persistence
Підтримайте HackTricks

Last updated