AWS - ECR Enum
Reading time: 5 minutes
AWS - ECR Enum
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
ECR
Grundinformationen
Amazon Elastic Container Registry (Amazon ECR) ist ein verwalteter Container-Image-Registry-Dienst. Er wurde entwickelt, um eine Umgebung bereitzustellen, in der Kunden mit ihren Container-Images über bekannte Schnittstellen interagieren können. Insbesondere wird die Verwendung der Docker CLI oder eines bevorzugten Clients unterstützt, was Aktivitäten wie das Pushen, Pullen und Verwalten von Container-Images ermöglicht.
ECR besteht aus 2 Arten von Objekten: Registries und Repositories.
Registries
Jedes AWS-Konto hat 2 Registries: Privat & Öffentlich.
- Private Registries:
- Standardmäßig privat: Die in einer Amazon ECR privaten Registry gespeicherten Container-Images sind nur für autorisierte Benutzer innerhalb Ihres AWS-Kontos oder für diejenigen zugänglich, denen Berechtigungen erteilt wurden.
- Die URI eines privaten Repositories folgt dem Format
<account_id>.dkr.ecr.<region>.amazonaws.com/<repo-name>
- Zugriffskontrolle: Sie können den Zugriff auf Ihre privaten Container-Images mithilfe von IAM-Richtlinien steuern, und Sie können feingranulare Berechtigungen basierend auf Benutzern oder Rollen konfigurieren.
- Integration mit AWS-Diensten: Amazon ECR private Registries können leicht mit anderen AWS-Diensten wie EKS, ECS... integriert werden.
- Weitere Optionen für private Registries:
- Die Spalte zur Tag-Unveränderlichkeit listet ihren Status auf; wenn die Tag-Unveränderlichkeit aktiviert ist, wird sie verhindern, dass Images mit bereits vorhandenen Tags überschrieben werden.
- Die Spalte für den Verschlüsselungstyp listet die Verschlüsselungseigenschaften des Repositories auf; sie zeigt die Standardverschlüsselungstypen wie AES-256 oder hat KMS aktivierte Verschlüsselungen.
- Die Spalte für den Pull-through-Cache listet ihren Status auf; wenn der Pull-through-Cache-Status aktiv ist, werden Repositories in einem externen öffentlichen Repository in Ihr privates Repository zwischengespeichert.
- Spezifische IAM-Richtlinien können konfiguriert werden, um unterschiedliche Berechtigungen zu gewähren.
- Die Scan-Konfiguration ermöglicht das Scannen nach Schwachstellen in den im Repository gespeicherten Images.
- Öffentliche Registries:
- Öffentliche Zugänglichkeit: Container-Images, die in einer ECR-Öffentlichen Registry gespeichert sind, sind für jeden im Internet ohne Authentifizierung zugänglich.
- Die URI eines öffentlichen Repositories ist wie
public.ecr.aws/<random>/<name>
. Obwohl der<random>
-Teil vom Administrator in eine andere, leichter zu merkende Zeichenfolge geändert werden kann.
Repositories
Dies sind die Images, die in der privaten Registry oder in der öffentlichen gespeichert sind.
note
Beachten Sie, dass das ECR-Repository denselben Namen wie das Image haben muss, um ein Image in ein Repository hochzuladen.
Registry- & Repository-Richtlinien
Registries & Repositories haben auch Richtlinien, die verwendet werden können, um Berechtigungen an andere Prinzipale/Konten zu gewähren. Zum Beispiel können Sie im folgenden Repository-Richtlinienbild sehen, wie jeder Benutzer aus der gesamten Organisation auf das Image zugreifen kann:
.png)
Enumeration
# Get repos
aws ecr describe-repositories
aws ecr describe-registry
# Get image metadata
aws ecr list-images --repository-name <repo_name>
aws ecr describe-images --repository-name <repo_name>
aws ecr describe-image-replication-status --repository-name <repo_name> --image-id <image_id>
aws ecr describe-image-scan-findings --repository-name <repo_name> --image-id <image_id>
aws ecr describe-pull-through-cache-rules --repository-name <repo_name> --image-id <image_id>
# Get public repositories
aws ecr-public describe-repositories
# Get policies
aws ecr get-registry-policy
aws ecr get-repository-policy --repository-name <repo_name>
Unauthenticated Enum
AWS - ECR Unauthenticated Enum
Privesc
Auf der folgenden Seite können Sie überprüfen, wie man ECR-Berechtigungen missbraucht, um Privilegien zu eskalieren:
Post Exploitation
Persistence
References
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.