GCP - Persistence dans l’Artifact Registry

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

Artifact Registry

Pour plus d’informations sur l’Artifact Registry, consultez :

GCP - Artifact Registry Enum

Confusion de dépendance

  • Que se passe-t-il si des dĂ©pĂŽts distants et standards sont mĂ©langĂ©s dans un virtuel et qu’un package existe dans les deux ?
  • Celui avec la prioritĂ© la plus Ă©levĂ©e dĂ©finie dans le dĂ©pĂŽt virtuel est utilisĂ©
  • Si la prioritĂ© est la mĂȘme :
  • Si la version est la mĂȘme, le nom de la politique par ordre alphabĂ©tique dans le dĂ©pĂŽt virtuel est utilisĂ©
  • Sinon, la version la plus Ă©levĂ©e est utilisĂ©e

Caution

Par consĂ©quent, il est possible de profiter d’une version la plus Ă©levĂ©e (confusion de dĂ©pendance) dans un registre de packages public si le dĂ©pĂŽt distant a une prioritĂ© plus Ă©levĂ©e ou Ă©gale

Cette technique peut ĂȘtre utile pour la persistance et l’accĂšs non authentifiĂ©, car pour en abuser, il suffit de connaĂźtre le nom d’une bibliothĂšque stockĂ©e dans l’Artifact Registry et de crĂ©er cette mĂȘme bibliothĂšque dans le dĂ©pĂŽt public (PyPi pour Python par exemple) avec une version plus Ă©levĂ©e.

Pour la persistance, voici les étapes à suivre :

  • Exigences : Un dĂ©pĂŽt virtuel doit exister et ĂȘtre utilisĂ©, un package interne avec un nom qui n’existe pas dans le dĂ©pĂŽt public doit ĂȘtre utilisĂ©.
  • CrĂ©ez un dĂ©pĂŽt distant s’il n’existe pas
  • Ajoutez le dĂ©pĂŽt distant au dĂ©pĂŽt virtuel
  • Modifiez les politiques du registre virtuel pour donner une prioritĂ© plus Ă©levĂ©e (ou Ă©gale) au dĂ©pĂŽt distant.
    Exécutez quelque chose comme :
  • gcloud artifacts repositories update –upstream-policy-file 

  • TĂ©lĂ©chargez le package lĂ©gitime, ajoutez votre code malveillant et enregistrez-le dans le dĂ©pĂŽt public avec la mĂȘme version. Chaque fois qu’un dĂ©veloppeur l’installe, il installera le vĂŽtre !

Pour plus d’informations sur la confusion de dĂ©pendance, consultez :

Dependency Confusion - HackTricks

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks