AWS - ECS Enum

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

ECS

Podstawowe informacje

Amazon Elastic Container Services lub ECS zapewnia platformę do hostowania aplikacji kontenerowych w chmurze. ECS ma dwie metody wdrożenia, typ instancji EC2 oraz opcję serverless, Fargate. Usługa umożliwia łatwe i bezproblemowe uruchamianie kontenerów w chmurze.

ECS działa na podstawie trzech podstawowych elementów: Klasterów, Usług i Definicji zadań.

  • Klastry to grupy kontenerów, które działają w chmurze. Jak wcześniej wspomniano, istnieją dwa typy uruchamiania kontenerów, EC2 i Fargate. AWS definiuje typ uruchamiania EC2 jako umożliwiający klientom „uruchamianie [ich] aplikacji kontenerowych na klastrze instancji Amazon EC2, które [oni] zarządzają”. Fargate jest podobny i definiowany jest jako „[umożliwiający] uruchamianie aplikacji kontenerowych bez potrzeby provisionowania i zarządzania infrastrukturą zaplecza”.
  • Usługi są tworzone wewnątrz klastra i odpowiedzialne za uruchamianie zadań. W definicji usługi definiujesz liczbę zadań do uruchomienia, automatyczne skalowanie, dostawcę pojemności (Fargate/EC2/Zewnętrzny), informacje o sieci takie jak VPC, podsieci i grupy zabezpieczeń.
  • Istnieją 2 typy aplikacji:
  • Usługa: Grupa zadań obsługujących długoterminową pracę obliczeniową, którą można zatrzymać i wznowić. Na przykład aplikacja internetowa.
  • Zadanie: Samodzielne zadanie, które działa i kończy się. Na przykład zadanie wsadowe.
  • Wśród aplikacji usługowych istnieją 2 typy harmonogramów usług:
  • REPLIKA: Strategia harmonogramu repliki umieszcza i utrzymuje pożądaną liczbę zadań w całym klastrze. Jeśli z jakiegoś powodu zadanie zostanie zamknięte, uruchamiane jest nowe w tym samym lub innym węźle.
  • DAEMON: Uruchamia dokładnie jedno zadanie na każdej aktywnej instancji kontenera, która ma wymagane wymagania. Nie ma potrzeby określania pożądanej liczby zadań, strategii umieszczania zadań ani korzystania z polityk automatycznego skalowania usług.
  • Definicje zadań są odpowiedzialne za definiowanie, jakie kontenery będą uruchamiane oraz różne parametry, które będą konfigurowane z kontenerami, takie jak mapowania portów z hostem, zmienne środowiskowe, Docker entrypoint
  • Sprawdź zmienne środowiskowe pod kątem wrażliwych informacji!

Wrażliwe dane w definicjach zadań

Definicje zadań są odpowiedzialne za konfigurowanie rzeczywistych kontenerów, które będą działać w ECS. Ponieważ definicje zadań definiują, jak będą działać kontenery, można znaleźć w nich wiele informacji.

Pacu może enumerować ECS (list-clusters, list-container-instances, list-services, list-task-definitions), może również zrzucać definicje zadań.

Enumeracja

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

Nieautoryzowany dostęp

AWS - ECS Unauthenticated Enum

Podwyższenie uprawnień

Na poniższej stronie możesz sprawdzić, jak wykorzystać uprawnienia ECS do podwyższenia uprawnień:

AWS - ECS Privesc

Po eksploatacji

AWS - ECS Post Exploitation

Utrzymywanie dostępu

AWS - ECS Persistence

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks