AWS - ECR Enum
Last updated
Last updated
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
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.
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 tu cuenta de AWS o para aquellos a quienes se les ha otorgado permiso.
La URI de un repositorio privado sigue el formato <account_id>.dkr.ecr.<region>.amazonaws.com/<repo-name>
Control de acceso: Puedes controlar el acceso a tus imágenes de contenedor privadas utilizando políticas de IAM, y puedes 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 tirones lista su estado, si el estado de caché de tirones es Activo, almacenará en caché repositorios en un repositorio público externo en tu 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.
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/<random>/<name>
. Aunque la parte <random>
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.
Ten en cuenta que para subir una imagen a un repositorio, el repositorio ECR debe tener el mismo nombre que la imagen.
Registros y repositorios también tienen políticas que se pueden usar para otorgar permisos a otros principales/cuentas. Por ejemplo, en la siguiente imagen de política de repositorio, puedes ver cómo cualquier usuario de toda la organización podrá acceder a la imagen:
En la siguiente página puedes verificar cómo abusar de los permisos de ECR para escalar privilegios:
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)