AWS - ECS Enum

Support HackTricks

ECS

Grundinformationen

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] es Ihnen, Ihre containerisierten Anwendungen ohne die Notwendigkeit, die Backend-Infrastruktur bereitzustellen und zu verwalten“.

  • 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 benötigten 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 Entrypoint...

  • Überprüfen Sie Umgebungsvariablen auf sensible Informationen!

Sensible Daten in Aufgabendefinitionen

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.

Aufzählung

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

Unauthenticated Access

AWS - ECS Unauthenticated Enum

Privesc

Auf der folgenden Seite können Sie überprüfen, wie Sie ECS-Berechtigungen missbrauchen können, um Privilegien zu eskalieren:

AWS - ECS Privesc

Post Exploitation

AWS - ECS Post Exploitation

Persistence

AWS - ECS Persistence
Support HackTricks

Last updated