AWS - ECS Enum

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

ECS

Grundlegende Informationen

Amazon Elastic Container Services oder ECS bietet eine Plattform zum Hosten 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öglicht Ihnen, Ihre containerisierten Anwendungen ohne die Notwendigkeit zur Bereitstellung und Verwaltung der Backend-Infrastruktur" definiert.

  • Services werden innerhalb eines Clusters erstellt und sind für das Ausführen der Tasks verantwortlich. In einer Service-Definition 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 Batch-Job.

  • Unter den Service-Anwendungen 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

pageAWS - ECS Unauthenticated Enum

Privilege Escalation

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

pageAWS - ECS Privesc

Post-Exploitation

pageAWS - ECS Post Exploitation

Persistenz

pageAWS - ECS Persistence
Erlernen Sie AWS-Hacking von Null auf Heldenniveau mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated