# AWS - ECR Enum {{#include ../../../banners/hacktricks-training.md}} ## ECR ### Grundlegende Informationen 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**. 1. **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 `.dkr.ecr..amazonaws.com/` - **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 **in andere AWS-Dienste** integriert werden, wie EKS, ECS... - **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 **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 **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. 2. **Öffentliche Registries**: - **Öffentliche Zugänglichkeit**: Container-Images, die in einer ECR Public Registry gespeichert sind, sind **für jeden im Internet ohne Authentifizierung zugänglich.** - Die URI eines **öffentlichen Repositories** ist wie `public.ecr.aws//`. Obwohl der ``-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 der **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:
### Enumeration ```bash # Get repos aws ecr describe-repositories aws ecr describe-registry # Get image metadata aws ecr list-images --repository-name aws ecr describe-images --repository-name aws ecr describe-image-replication-status --repository-name --image-id aws ecr describe-image-scan-findings --repository-name --image-id aws ecr describe-pull-through-cache-rules --repository-name --image-id # Get public repositories aws ecr-public describe-repositories # Get policies aws ecr get-registry-policy aws ecr get-repository-policy --repository-name ``` ### Unauthenticated Enum {{#ref}} ../aws-unauthenticated-enum-access/aws-ecr-unauthenticated-enum.md {{#endref}} ### Privesc Auf der folgenden Seite können Sie überprüfen, wie man **ECR-Berechtigungen missbraucht, um Privilegien zu eskalieren**: {{#ref}} ../aws-privilege-escalation/aws-ecr-privesc.md {{#endref}} ### Post Exploitation {{#ref}} ../aws-post-exploitation/aws-ecr-post-exploitation.md {{#endref}} ### Persistence {{#ref}} ../aws-persistence/aws-ecr-persistence.md {{#endref}} ## References - [https://docs.aws.amazon.com/AmazonECR/latest/APIReference/Welcome.html](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/Welcome.html) {{#include ../../../banners/hacktricks-training.md}}