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
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Artifact Registry
Para mais informações sobre o Artifact Registry, consulte:
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
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.