AWS - ECS Enum

Reading time: 4 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

ECS

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

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

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

  • Кластери — це групи контейнерів, які працюють у хмарі. Як вже згадувалося, існує два типи запуску контейнерів: EC2 та Fargate. AWS визначає тип запуску EC2 як можливість для клієнтів “запускати [свої] контейнеризовані додатки на кластері інстансів Amazon EC2, які [вони] керують”. Fargate подібний і визначається як “[дозволяючи] вам запускати ваші контейнеризовані додатки без необхідності забезпечувати та керувати бекенд-інфраструктурою”.
  • Служби створюються всередині кластера і відповідають за виконання завдань. У визначенні служби ви визначаєте кількість завдань для виконання, автоматичне масштабування, постачальника потужностей (Fargate/EC2/External), мережеву інформацію, таку як VPC, підмережі та групи безпеки.
  • Існує 2 типи додатків:
  • Служба: Група завдань, що обробляє тривалу обчислювальну роботу, яку можна зупинити та перезапустити. Наприклад, веб-додаток.
  • Завдання: Самостійне завдання, яке виконується та завершується. Наприклад, пакетна робота.
  • Серед службових додатків є 2 типи планувальників служб:
  • REPLICA: Стратегія планування реплік розміщує та підтримує бажану кількість завдань у вашому кластері. Якщо з якоїсь причини завдання зупиняється, нове запускається на тому ж або іншому вузлі.
  • DAEMON: Розгортає точно одне завдання на кожному активному контейнерному інстансі, який має необхідні вимоги. Немає необхідності вказувати бажану кількість завдань, стратегію розміщення завдань або використовувати політики автоматичного масштабування служби.
  • Визначення завдань відповідають за визначення того, які контейнери будуть запущені та різних параметрів, які будуть налаштовані з контейнерами, таких як відображення портів з хостом, змінні середовища, Docker точка входу...
  • Перевірте змінні середовища на наявність чутливої інформації!

Чутливі дані у визначеннях завдань

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

Pacu може перераховувати ECS (list-clusters, list-container-instances, list-services, list-task-definitions), він також може вивантажувати визначення завдань.

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

bash
# 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

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