mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-30 22:50:43 -08:00
81 lines
4.8 KiB
Markdown
81 lines
4.8 KiB
Markdown
# AWS - ECS Enum
|
|
|
|
{{#include ../../../banners/hacktricks-training.md}}
|
|
|
|
## ECS
|
|
|
|
### Grundlegende Informationen
|
|
|
|
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\] **verwaltet**“ 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 verwaltet, 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**](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html): 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**](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html): 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 Service-Auto-Scaling-Richtlinien 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**!
|
|
|
|
### 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
|
|
```bash
|
|
# 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>
|
|
```
|
|
### Unauthentifizierter Zugriff
|
|
|
|
{{#ref}}
|
|
../aws-unauthenticated-enum-access/aws-ecs-unauthenticated-enum.md
|
|
{{#endref}}
|
|
|
|
### Privilegieneskalation
|
|
|
|
Auf der folgenden Seite können Sie überprüfen, wie man **ECS-Berechtigungen missbraucht, um Privilegien zu eskalieren**:
|
|
|
|
{{#ref}}
|
|
../aws-privilege-escalation/aws-ecs-privesc.md
|
|
{{#endref}}
|
|
|
|
### Post-Exploitation
|
|
|
|
{{#ref}}
|
|
../aws-post-exploitation/aws-ecs-post-exploitation.md
|
|
{{#endref}}
|
|
|
|
### Persistenz
|
|
|
|
{{#ref}}
|
|
../aws-persistence/aws-ecs-persistence.md
|
|
{{#endref}}
|
|
|
|
{{#include ../../../banners/hacktricks-training.md}}
|