# AWS - ECR Enum ## AWS - ECR Enum {{#include ../../../banners/hacktricks-training.md}} ### ECR #### Información Básica Amazon **Elastic Container Registry** (Amazon ECR) es un **servicio de registro de imágenes de contenedor gestionado**. Está diseñado para proporcionar un entorno donde los clientes pueden interactuar con sus imágenes de contenedor utilizando interfaces bien conocidas. Específicamente, se admite el uso de la CLI de Docker o cualquier cliente preferido, lo que permite actividades como subir, bajar y gestionar imágenes de contenedor. ECR se compone de 2 tipos de objetos: **Registros** y **Repositorios**. **Registros** Cada cuenta de AWS tiene 2 registros: **Privados** y **Públicos**. 1. **Registros Privados**: - **Privado por defecto**: Las imágenes de contenedor almacenadas en un registro privado de Amazon ECR son **accesibles solo para usuarios autorizados** dentro de su cuenta de AWS o para aquellos a quienes se les ha otorgado permiso. - La URI de un **repositorio privado** sigue el formato `.dkr.ecr..amazonaws.com/` - **Control de acceso**: Puede **controlar el acceso** a sus imágenes de contenedor privadas utilizando **políticas de IAM**, y puede configurar permisos granulares basados en usuarios o roles. - **Integración con servicios de AWS**: Los registros privados de Amazon ECR se pueden **integrar fácilmente con otros servicios de AWS**, como EKS, ECS... - **Otras opciones de registro privado**: - La columna de inmutabilidad de etiquetas lista su estado, si la inmutabilidad de etiquetas está habilitada, **prevendrá** que las **subidas** de imágenes con **etiquetas preexistentes** sobrescriban las imágenes. - La columna de **tipo de cifrado** lista las propiedades de cifrado del repositorio, muestra los tipos de cifrado predeterminados como AES-256, o tiene cifrados habilitados de **KMS**. - La columna de **caché de tirón** lista su estado, si el estado de caché de tirón es Activo, almacenará en caché **repositorios en un repositorio público externo en su repositorio privado**. - Se pueden configurar **políticas de IAM** específicas para otorgar diferentes **permisos**. - La **configuración de escaneo** permite escanear en busca de vulnerabilidades en las imágenes almacenadas dentro del repositorio. 2. **Registros Públicos**: - **Accesibilidad pública**: Las imágenes de contenedor almacenadas en un registro público de ECR son **accesibles para cualquier persona en Internet sin autenticación.** - La URI de un **repositorio público** es como `public.ecr.aws//`. Aunque la parte `` puede ser cambiada por el administrador a otra cadena más fácil de recordar. **Repositorios** Estas son las **imágenes** que están en el **registro privado** o en el **público**. > [!NOTE] > Tenga en cuenta que para subir una imagen a un repositorio, el **repositorio ECR debe tener el mismo nombre que la imagen**. #### Políticas de Registro y Repositorio **Registros y repositorios** también tienen **políticas que se pueden usar para otorgar permisos a otros principales/cuentas**. Por ejemplo, en la siguiente política de repositorio, puede ver cómo cualquier usuario de toda la organización podrá acceder a la imagen:
#### Enumeración ```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 ``` #### Enum no autenticado {{#ref}} ../aws-unauthenticated-enum-access/aws-ecr-unauthenticated-enum.md {{#endref}} #### Escalación de privilegios En la siguiente página puedes verificar cómo **abusar de los permisos de ECR para escalar privilegios**: {{#ref}} ../aws-privilege-escalation/aws-ecr-privesc.md {{#endref}} #### Post Explotación {{#ref}} ../aws-post-exploitation/aws-ecr-post-exploitation.md {{#endref}} #### Persistencia {{#ref}} ../aws-persistence/aws-ecr-persistence.md {{#endref}} ## Referencias - [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}}