AWS - ECS Enum

Unterstützen Sie HackTricks

ECS

Grundlegende Informationen

Amazon Elastic Container Services oder ECS bietet eine Plattform zum Hosting containerisierter Anwendungen in der Cloud. ECS verfügt über zwei Bereitstellungsmethoden, den EC2-Instanztyp und eine serverlose Option, Fargate. Der Dienst vereinfacht das Ausführen von Containern in der Cloud sehr einfach und problemlos.

ECS arbeitet mit den folgenden drei Bausteinen: Clustern, Services und Task-Definitionen.

  • 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 auszuführen, die sie verwalten". Fargate ist ähnlich und wird als "Ermöglichen, dass Sie Ihre containerisierten Anwendungen ohne die Notwendigkeit zur Bereitstellung und Verwaltung der Backend-Infrastruktur ausführen".

  • Services werden innerhalb eines Clusters erstellt und sind für das Ausführen der Tasks verantwortlich. In einer Servicedefinition definieren Sie die Anzahl der auszuführenden Tasks, das automatische Skalieren, den Kapazitätsanbieter (Fargate/EC2/Extern), Netzwerkinformationen wie VPCs, Subnetze und Sicherheitsgruppen.

  • Es gibt 2 Arten von Anwendungen:

  • Service: Eine Gruppe von Tasks, die eine lang laufende Rechenarbeit bearbeiten, die gestoppt und neu gestartet werden kann. Zum Beispiel eine Webanwendung.

  • Task: Ein eigenständiger Task, der ausgeführt und beendet wird. Zum Beispiel ein Stapeljob.

  • Unter den Serviceanwendungen gibt es 2 Arten von Service-Schedulern:

  • REPLICA: Die Replikat-Zeitplanstrategie platziert und erhält die gewünschte Anzahl von Tasks über Ihren Cluster. Wenn aus irgendeinem Grund ein Task heruntergefahren wird, wird ein neuer auf demselben oder einem anderen Knoten gestartet.

  • DAEMON: Entfernt genau einen Task auf jeder aktiven Containerinstanz, die die erforderlichen Anforderungen hat. Es ist nicht erforderlich, eine gewünschte Anzahl von Tasks anzugeben, eine Task-Platzierungsstrategie zu definieren oder Service-Auto-Scaling-Richtlinien zu verwenden.

  • Task-Definitionen sind dafür verantwortlich, festzulegen, welche Container ausgeführt werden und die verschiedenen Parameter zu konfigurieren, die mit den Containern wie Portzuordnungen mit dem Host, Umgebungsvariablen, Docker-Einstiegspunkt... konfiguriert werden.

  • Überprüfen Sie Umgebungsvariablen auf sensible Informationen!

Sensible Daten in Task-Definitionen

Task-Definitionen sind dafür verantwortlich, die tatsächlichen Container zu konfigurieren, die in ECS ausgeführt werden. Da Task-Definitionen definieren, wie Container ausgeführt werden, können eine Vielzahl von Informationen darin gefunden werden.

Pacu kann ECS aufzählen (Liste-Cluster, Liste-Container-Instanzen, Liste-Services, Liste-Task-Definitionen), es kann auch Task-Definitionen 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>

Nicht authentifizierter Zugriff

AWS - ECS Unauthenticated Enum

Privilege Escalation

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

AWS - ECS Privesc

Post-Exploitation

AWS - ECS Post Exploitation

Persistenz

AWS - ECS Persistence
Unterstützen Sie HackTricks

Last updated