AWS - ECS Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Amazon Elastic Container Services lub ECS zapewnia platformę do hostowania aplikacji kontenerowych w chmurze. ECS ma dwie metody wdrażania, 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ń.
Klastery 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 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 harmonogramowania replik 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!
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 w nich znaleźć wiele informacji.
Pacu może enumerować ECS (list-clusters, list-container-instances, list-services, list-task-definitions), może również zrzucać definicje zadań.
Na następnej stronie możesz sprawdzić, jak nadużywać uprawnień ECS, aby eskalować uprawnienia:
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)