AWS - ECS Enum
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Amazon Elastic Container Services oder ECS bietet eine Plattform, um containerisierte Anwendungen in der Cloud zu hosten. ECS hat zwei Bereitstellungsmethoden, EC2-Instanztyp und eine serverlose Option, Fargate. Der Dienst macht das Ausführen von Containern in der Cloud sehr einfach und schmerzfrei.
ECS funktioniert mit den folgenden drei Bausteinen: Cluster, Dienste und Aufgabendefinitionen.
Cluster sind Gruppen von Containern, die in der Cloud ausgeführt werden. Wie bereits erwähnt, gibt es zwei Starttypen für Container, EC2 und Fargate. AWS definiert den EC2-Starttyp als die Möglichkeit für Kunden, „[ihre] containerisierten Anwendungen auf einem Cluster von Amazon EC2-Instanzen, die [sie] verwalten“ auszuführen. Fargate ist ähnlich und wird definiert als „[ermöglicht] Ihnen, Ihre containerisierten Anwendungen ohne die Notwendigkeit, die Backend-Infrastruktur bereitzustellen und zu verwalten, auszuführen“.
Dienste werden innerhalb eines Clusters erstellt und sind verantwortlich für das Ausführen der Aufgaben. In einer Dienstdefinition definieren Sie die Anzahl der auszuführenden Aufgaben, die automatische Skalierung, den Kapazitätsanbieter (Fargate/EC2/Extern), Netzwerkinformationen wie VPCs, Subnetze und Sicherheitsgruppen.
Es gibt 2 Arten von Anwendungen:
Dienst: Eine Gruppe von Aufgaben, die eine lang laufende Rechenarbeit verwalten, die gestoppt und neu gestartet werden kann. Zum Beispiel eine Webanwendung.
Aufgabe: Eine eigenständige Aufgabe, die ausgeführt und beendet wird. Zum Beispiel ein Batch-Job.
Unter den Dienstanwendungen gibt es 2 Arten von Dienstplanern:
REPLICA: Die Replikationsplanungsstrategie platziert und pflegt die gewünschte Anzahl von Aufgaben in Ihrem Cluster. Wenn aus irgendeinem Grund eine Aufgabe heruntergefahren wird, wird eine neue auf demselben oder einem anderen Knoten gestartet.
DAEMON: Setzt genau eine Aufgabe auf jeder aktiven Containerinstanz ein, die die erforderlichen Anforderungen hat. Es ist nicht erforderlich, eine gewünschte Anzahl von Aufgaben, eine Aufgabenplatzierungsstrategie oder die Verwendung von Service-Auto-Skalierungsrichtlinien anzugeben.
Aufgabendefinitionen sind verantwortlich für die Definition, welche Container ausgeführt werden und die verschiedenen Parameter, die mit den Containern konfiguriert werden, wie Portzuordnungen mit dem Host, Umgebungsvariablen, Docker Einstiegspunkt...
Überprüfen Sie Umgebungsvariablen auf sensible Informationen!
Aufgabendefinitionen sind verantwortlich für die Konfiguration der tatsächlichen Container, die in ECS ausgeführt werden. Da Aufgabendefinitionen definieren, wie Container ausgeführt werden, kann eine Fülle von Informationen darin gefunden werden.
Pacu kann ECS auflisten (list-clusters, list-container-instances, list-services, list-task-definitions), es kann auch Aufgabendefinitionen dumpen.
Auf der folgenden Seite können Sie überprüfen, wie Sie ECS-Berechtigungen missbrauchen können, um Privilegien zu eskalieren:
AWS - ECS PrivescLernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)