AWS - ECS Post Exploitation
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Für weitere Informationen siehe:
AWS - ECS EnumIn ECS kann eine IAM-Rolle der Aufgabe zugewiesen werden, die innerhalb des Containers ausgeführt wird. Wenn die Aufgabe innerhalb einer EC2-Instanz ausgeführt wird, hat die EC2-Instanz eine andere IAM-Rolle angehängt. Das bedeutet, dass, wenn Sie es schaffen, eine ECS-Instanz zu kompromittieren, Sie potenziell die IAM-Rolle, die mit dem ECR und der EC2-Instanz verbunden ist, erhalten können. Für weitere Informationen, wie Sie diese Anmeldeinformationen erhalten können, siehe:
Beachten Sie, dass, wenn die EC2-Instanz IMDSv2 durchsetzt, laut den Dokumenten, die Antwort der PUT-Anfrage ein Hop-Limit von 1 haben wird, was es unmöglich macht, auf die EC2-Metadaten von einem Container innerhalb der EC2-Instanz zuzugreifen.
Darüber hinaus verwendet EC2 Docker, um ECS-Aufgaben auszuführen. Wenn Sie also zum Knoten entkommen oder auf den Docker-Socket zugreifen können, können Sie überprüfen, welche anderen Container ausgeführt werden, und sogar in sie eindringen und ihre angehängten IAM-Rollen stehlen.
Darüber hinaus hat die EC2-Instanzrolle normalerweise genügend Berechtigungen, um den Zustand der Containerinstanz der EC2-Instanzen, die als Knoten im Cluster verwendet werden, zu aktualisieren. Ein Angreifer könnte den Zustand einer Instanz auf DRAINING ändern, dann wird ECS alle Aufgaben von ihr entfernen und die, die als REPLICA ausgeführt werden, werden in einer anderen Instanz ausgeführt, möglicherweise innerhalb der Instanz des Angreifers, sodass er ihre IAM-Rollen und potenziell sensible Informationen aus dem Container stehlen kann.
Die gleiche Technik kann durch das Abmelden der EC2-Instanz vom Cluster durchgeführt werden. Dies ist potenziell weniger heimlich, aber es wird die Aufgaben zwingen, auf anderen Instanzen ausgeführt zu werden:
Eine letzte Technik, um die erneute Ausführung von Aufgaben zu erzwingen, besteht darin, ECS anzuzeigen, dass der Task oder Container gestoppt wurde. Es gibt 3 potenzielle APIs, um dies zu tun:
Die EC2-Instanz hat wahrscheinlich auch die Berechtigung ecr:GetAuthorizationToken
, die es ihr ermöglicht, Bilder herunterzuladen (du könntest nach sensiblen Informationen darin suchen).
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)