GCP - Persistência do Artifact Registry

Reading time: 3 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Artifact Registry

Para mais informações sobre o Artifact Registry, consulte:

GCP - Artifact Registry Enum

Confusão de Dependência

  • O que acontece se um repositório remoto e um padrão forem misturados em um virtual e um pacote existir em ambos?
  • O que tem a prioridade mais alta definida no repositório virtual é usado
  • Se a prioridade for a mesma:
  • Se a versão for a mesma, o nome da política em ordem alfabética primeiro no repositório virtual é usado
  • Se não, a versão mais alta é usada

caution

Portanto, é possível abusar de uma versão mais alta (confusão de dependência) em um registro de pacotes público se o repositório remoto tiver uma prioridade maior ou igual

Esta técnica pode ser útil para persistência e acesso não autenticado, pois para abusar dela, basta saber o nome de uma biblioteca armazenada no Artifact Registry e criar essa mesma biblioteca no repositório público (PyPi para python, por exemplo) com uma versão mais alta.

Para persistência, siga os seguintes passos:

  • Requisitos: Um repositório virtual deve existir e ser usado, um pacote interno com um nome que não exista no repositório público deve ser usado.
  • Crie um repositório remoto se ele não existir
  • Adicione o repositório remoto ao repositório virtual
  • Edite as políticas do registro virtual para dar uma prioridade mais alta (ou igual) ao repositório remoto.
    Execute algo como:
  • gcloud artifacts repositories update --upstream-policy-file ...
  • Baixe o pacote legítimo, adicione seu código malicioso e registre-o no repositório público com a mesma versão. Sempre que um desenvolvedor instalá-lo, ele instalará o seu!

Para mais informações sobre confusão de dependência, consulte:

Dependency Confusion - HackTricks

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks