GCP - Artifact Registry Enum
Información Básica
Google Cloud Artifact Registry es un servicio completamente gestionado que te permite administrar, almacenar y asegurar tus artefactos de software. Es esencialmente un repositorio para almacenar dependencias de compilación, como imágenes de Docker, Maven, paquetes npm y otros tipos de artefactos. Se utiliza comúnmente en pipelines de CI/CD para almacenar y versionar los artefactos producidos durante el proceso de desarrollo de software.
Las características clave de Artifact Registry incluyen:
Repositorio Unificado: Admite múltiples tipos de artefactos, permitiéndote tener un único repositorio para imágenes de Docker, paquetes de lenguajes (como Maven de Java, npm de Node.js) y otros tipos de artefactos, lo que permite controles de acceso consistentes y una vista unificada de todos tus artefactos.
Completamente Gestionado: Como un servicio gestionado, se encarga de la infraestructura subyacente, escalabilidad y seguridad, reduciendo la carga de mantenimiento para los usuarios.
Control de Acceso Granular: Se integra con la Gestión de Identidad y Acceso (IAM) de Google Cloud, permitiéndote definir quién puede acceder, subir o descargar artefactos en tus repositorios.
Geo-replicación: Admite la replicación de artefactos a través de múltiples regiones, mejorando la velocidad de descargas y asegurando la disponibilidad.
Integración con Servicios de Google Cloud: Funciona sin problemas con otros servicios de GCP como Cloud Build, Kubernetes Engine y Compute Engine, lo que lo convierte en una opción conveniente para equipos que ya trabajan dentro del ecosistema de Google Cloud.
Seguridad: Ofrece características como análisis de vulnerabilidades y análisis de contenedores para ayudar a asegurar que los artefactos almacenados estén seguros y libres de problemas de seguridad conocidos.
Formatos y Modos
Al crear un nuevo repositorio es posible seleccionar el formato/tipo del repositorio entre varios como Docker, Maven, npm, Python... y el modo, que generalmente puede ser uno de estos tres:
Repositorio Estándar: Modo predeterminado para almacenar tus propios artefactos (como imágenes de Docker, paquetes Maven) directamente en GCP. Es seguro, escalable e integra bien dentro del ecosistema de Google Cloud.
Repositorio Remoto (si está disponible): Actúa como un proxy para almacenar en caché artefactos de repositorios externos, públicos. Ayuda a prevenir problemas de cambios en las dependencias aguas arriba y reduce la latencia al almacenar en caché artefactos de acceso frecuente.
Repositorio Virtual (si está disponible): Proporciona una interfaz unificada para acceder a múltiples repositorios (estándar o remoto) a través de un único punto final, simplificando la configuración del lado del cliente y la gestión de acceso para artefactos distribuidos en varios repositorios.
Para un repositorio virtual necesitarás seleccionar repositorios y asignarles una prioridad (el repositorio con la mayor prioridad será utilizado).
Puedes mezclar repositorios remotos y estándar en uno virtual, si la prioridad del remoto es mayor que la del estándar, se utilizarán paquetes del remoto (por ejemplo, PyPi). Esto podría llevar a una Confusión de Dependencia.
Nota que en la versión Remota de Docker es posible dar un nombre de usuario y token para acceder a Docker Hub. El token se almacena entonces en el Secret Manager.
Encriptación
Como se espera, por defecto se utiliza una clave gestionada por Google pero se puede indicar una clave gestionada por el cliente (CMEK).
Políticas de Limpieza
Eliminar artefactos: Los artefactos serán eliminados de acuerdo a los criterios de la política de limpieza.
Ejecución en seco: (La opción predeterminada) Los artefactos no serán eliminados. Las políticas de limpieza serán evaluadas y se enviarán eventos de eliminación de prueba al Registro de Auditoría de Cloud.
Análisis de Vulnerabilidades
Es posible habilitar el escáner de vulnerabilidades que comprobará la existencia de vulnerabilidades dentro de imágenes de contenedores.
Enumeración
Escalación de Privilegios
pageGCP - Artifact Registry PrivescAcceso No Autenticado
pageGCP - Artifact Registry Unauthenticated EnumPost-Explotación
pageGCP - Artifact Registry Post ExploitationPersistencia
pageGCP - Artifact Registry PersistenceÚltima actualización