GCP - Artifact Registry Enum
Informações Básicas
O Google Cloud Artifact Registry é um serviço totalmente gerenciado que permite gerenciar, armazenar e proteger seus artefatos de software. É basicamente um repositório para armazenar dependências de construção, como imagens Docker, Maven, pacotes npm e outros tipos de artefatos. É comumente usado em pipelines CI/CD para armazenar e versionar os artefatos produzidos durante o processo de desenvolvimento de software.
Principais características do Artifact Registry incluem:
Repositório Unificado: Suporta vários tipos de artefatos, permitindo que você tenha um único repositório para imagens Docker, pacotes de linguagens (como Maven do Java, npm do Node.js) e outros tipos de artefatos, possibilitando controles de acesso consistentes e uma visão unificada de todos os seus artefatos.
Totalmente Gerenciado: Como um serviço gerenciado, cuida da infraestrutura subjacente, escalabilidade e segurança, reduzindo a sobrecarga de manutenção para os usuários.
Controle de Acesso Granular: Integra-se com o Gerenciamento de Identidade e Acesso (IAM) do Google Cloud, permitindo que você defina quem pode acessar, fazer upload ou baixar artefatos em seus repositórios.
Geo-replicação: Suporta a replicação de artefatos em várias regiões, melhorando a velocidade de downloads e garantindo disponibilidade.
Integração com Serviços do Google Cloud: Funciona de forma integrada com outros serviços do GCP como Cloud Build, Kubernetes Engine e Compute Engine, tornando-se uma escolha conveniente para equipes que já trabalham dentro do ecossistema do Google Cloud.
Segurança: Oferece recursos como varredura de vulnerabilidades e análise de contêineres para ajudar a garantir que os artefatos armazenados sejam seguros e livres de problemas de segurança conhecidos.
Formatos e Modos
Ao criar um novo repositório é possível selecionar o formato/tipo do repositório entre vários, como Docker, Maven, npm, Python... e o modo, que geralmente pode ser um dos três:
Repositório Padrão: Modo padrão para armazenar seus próprios artefatos (como imagens Docker, pacotes Maven) diretamente no GCP. É seguro, escalável e integra-se bem ao ecossistema do Google Cloud.
Repositório Remoto (se disponível): Atua como um proxy para armazenar em cache artefatos de repositórios públicos externos. Ajuda a prevenir problemas com mudanças nas dependências a montante e reduz a latência ao armazenar em cache artefatos frequentemente acessados.
Repositório Virtual (se disponível): Fornece uma interface unificada para acessar múltiplos repositórios (padrão ou remoto) através de um único ponto de acesso, simplificando a configuração do lado do cliente e o gerenciamento de acesso para artefatos distribuídos em vários repositórios.
Para um repositório virtual, você precisará selecionar repositórios e dar-lhes uma prioridade (o repositório com a maior prioridade será utilizado).
Você pode misturar repositórios remotos e padrão em um virtual, se a prioridade do remoto for maior que a do padrão, pacotes do remoto (PyPi, por exemplo) serão utilizados. Isso pode levar a uma Confusão de Dependência.
Note que na versão Remota do Docker é possível fornecer um nome de usuário e token para acessar o Docker Hub. O token é então armazenado no Secret Manager.
Criptografia
Como esperado, por padrão é utilizado uma chave gerenciada pelo Google, mas pode ser indicada uma chave gerenciada pelo cliente (CMEK).
Políticas de Limpeza
Excluir artefatos: Artefatos serão excluídos de acordo com critérios de política de limpeza.
Execução de teste: (Padrão) Artefatos não serão excluídos. Políticas de limpeza serão avaliadas, e eventos de exclusão de teste enviados para o Cloud Audit Logging.
Varredura de Vulnerabilidades
É possível ativar o scanner de vulnerabilidades que verificará a existência de vulnerabilidades dentro de imagens de contêineres.
Enumeração
Escalada de Privilégios
pageGCP - Artifact Registry PrivescAcesso Não Autenticado
pageGCP - Artifact Registry Unauthenticated EnumPós-Exploração
pageGCP - Artifact Registry Post ExploitationPersistência
pageGCP - Artifact Registry PersistenceÚltima actualización