AWS - ECS Enum
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
Nicht authentifizierter Zugriff
AWS - ECS Unauthenticated EnumPrivilege Escalation
Auf der folgenden Seite können Sie nachsehen, wie Sie ECS-Berechtigungen missbrauchen, um Privilegien zu eskalieren:
AWS - ECS PrivescPost-Exploitation
AWS - ECS Post ExploitationPersistenz
AWS - ECS PersistenceLast updated