AWS - ECS Enum

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

ECS

Podstawowe informacje

Amazon Elastic Container Services lub ECS dostarcza platformę do hostowania aplikacji w kontenerach w chmurze. ECS ma dwa metody wdrażania, typ instancji EC2 i opcję bezserwerową, Fargate. Usługa ta ułatwia uruchamianie kontenerów w chmurze.

ECS działa przy użyciu trzech podstawowych elementów: Klastry, Usługi i Definicje 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 w kontenerach na klastrze instancji Amazon EC2, które [są] zarządzane przez [nich]". Fargate jest podobny i jest definiowany jako "pozwalający na uruchamianie aplikacji w kontenerach bez konieczności dostarczania i zarządzania infrastrukturą backendową".

  • Usługi są tworzone wewnątrz klastra i są odpowiedzialne za uruchamianie zadań. W definicji usługi określasz liczbę zadań do uruchomienia, skalowanie automatyczne, dostawcę pojemności (Fargate/EC2/Zewnętrzny), informacje o sieci takie jak VPC, podsieci i grupy zabezpieczeń.

  • Istnieją 2 rodzaje aplikacji:

  • Usługa: Grupa zadań obsługujących długotrwałą pracę obliczeniową, która może być zatrzymywana i ponownie uruchamiana. Na przykład aplikacja internetowa.

  • Zadanie: Samodzielne zadanie, które jest uruchamiane i zatrzymywane. Na przykład zadanie wsadowe.

  • Wśród aplikacji usługowych istnieją 2 rodzaje planistów usług:

  • REPLICA: Strategia planowania replik umieszcza i utrzymuje żądaną liczbę zadań w klastrze. Jeśli z jakiegoś powodu zadanie zostanie zatrzymane, uruchamiane jest nowe zadanie na tym samym lub innym węźle.

  • DAEMON: Wdraża dokładnie jedno zadanie na każdej aktywnej instancji kontenera, która spełnia wymagania. Nie trzeba określać żądanej liczby zadań, strategii umieszczania zadań ani korzystać z polityk automatycznego skalowania usługi.

  • Definicje zadań są odpowiedzialne za określanie, jakie kontenery będą uruchamiane oraz różne parametry, które zostaną skonfigurowane wraz z kontenerami, takie jak mapowanie portów z hostem, zmienne środowiskowe, punkt wejścia Docker...

  • Sprawdź zmienne środowiskowe w celu znalezienia poufnych informacji!

Poufne dane w definicjach zadań

Definicje zadań są odpowiedzialne za konfigurowanie rzeczywistych kontenerów, które będą uruchamiane w ECS. Ponieważ definicje zadań określają sposób uruchamiania kontenerów, można w nich znaleźć wiele informacji.

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

Wyliczanie

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

Nieuwierzytelniony dostęp

pageAWS - ECS Unauthenticated Enum

Przywileje

Na następnej stronie możesz sprawdzić, jak wykorzystać uprawnienia ECS do eskalacji przywilejów:

pageAWS - ECS Privesc

Po eksploatacji

pageAWS - ECS Post Exploitation

Trwałość

pageAWS - ECS Persistence
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated