GCP - Artifact Registry Enum

Reading time: 5 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Basic Information

Google Cloud Artifact Registry ni huduma inayosimamiwa kikamilifu inayokuruhusu kusimamia, kuhifadhi, na kulinda artefaki zako za programu. Kimsingi ni hazina ya kuhifadhi utegemezi wa ujenzi, kama vile Docker picha, Maven, pakiti za npm, na aina nyingine za artefaki. Inatumika kawaida katika mipangilio ya CI/CD kwa ajili ya kuhifadhi na kuandika toleo la artefaki zinazozalishwa wakati wa mchakato wa maendeleo ya programu.

Vipengele muhimu vya Artifact Registry ni pamoja na:

  1. Hifadhi Iliyounganishwa: Inasaidia aina nyingi za artefaki, ikikuruhusu kuwa na hazina moja kwa picha za Docker, pakiti za lugha (kama Maven ya Java, npm ya Node.js), na aina nyingine za artefaki, ikiruhusu udhibiti wa ufikiaji wa kawaida na mtazamo uliounganishwa katika artefaki zako zote.
  2. Imesimamiwa Kikamilifu: Kama huduma inayosimamiwa, inashughulikia miundombinu ya msingi, upanuzi, na usalama, ikipunguza mzigo wa matengenezo kwa watumiaji.
  3. Udhibiti wa Ufikiaji wa Kina: Inajumuisha na Usimamizi wa Utambulisho na Ufikiaji wa Google Cloud (IAM), ikikuruhusu kufafanua nani anaweza kufikia, kupakia, au kupakua artefaki katika hazina zako.
  4. Geo-replication: Inasaidia kuiga artefaki katika maeneo mengi, ikiboresha kasi ya upakuaji na kuhakikisha upatikanaji.
  5. Ushirikiano na Huduma za Google Cloud: Inafanya kazi bila mshono na huduma nyingine za GCP kama Cloud Build, Kubernetes Engine, na Compute Engine, ikifanya kuwa chaguo rahisi kwa timu zinazofanya kazi ndani ya mfumo wa Google Cloud.
  6. Usalama: Inatoa vipengele kama uchambuzi wa udhaifu na uchambuzi wa kontena kusaidia kuhakikisha kuwa artefaki zilizohifadhiwa ni salama na hazina matatizo ya usalama yanayojulikana.

Formats and Modes

Unapounda hazina mpya inawezekana kuchagua muundo/aina ya hazina kati ya kadhaa kama Docker, Maven, npm, Python... na hali ambayo kwa kawaida inaweza kuwa moja ya hizi tatu:

  • Hifadhi ya Kawaida: Hali ya chaguo-msingi kwa kuhifadhi artefaki zako (kama picha za Docker, pakiti za Maven) moja kwa moja katika GCP. Ni salama, inapanuka, na inajumuika vizuri ndani ya mfumo wa Google Cloud.
  • Hifadhi ya Mbali (ikiwa inapatikana): Inafanya kazi kama proxy kwa kuficha artefaki kutoka kwa hazina za umma za nje. Inasaidia kuzuia matatizo kutokana na utegemezi kubadilika juu na inapunguza ucheleweshaji kwa kuficha artefaki zinazopatikana mara kwa mara.
  • Hifadhi ya Kijamii (ikiwa inapatikana): Inatoa kiwango kimoja cha ufikiaji wa hazina nyingi (za kawaida au za mbali) kupitia kiunganishi kimoja, ikirahisisha usanidi wa upande wa mteja na usimamizi wa ufikiaji wa artefaki zilizosambazwa katika hazina mbalimbali.
  • Kwa hifadhi ya kijamii utahitaji kuchagua hazina na kuwapa kipaumbele (hifadhi yenye kipaumbele kikubwa itatumika).
  • Unaweza kuchanganya hazina za mbali na za kawaida katika hifadhi ya kijamii, ikiwa kipaumbele cha mbali ni kikubwa kuliko cha kawaida, pakiti kutoka mbali (kama PyPi) zitatumika. Hii inaweza kusababisha Kuchanganyikiwa kwa Utegemezi.

Kumbuka kwamba katika toleo la Mbali la Docker inawezekana kutoa jina la mtumiaji na tokeni ili kufikia Docker Hub. Tokeni hiyo kisha inahifadhiwa katika Meneja wa Siri.

Encryption

Kama inavyotarajiwa, kwa chaguo-msingi funguo inayosimamiwa na Google inatumika lakini funguo inayosimamiwa na Mteja inaweza kuonyeshwa (CMEK).

Cleanup Policies

  • Futa artefaki: Artefaki zitafutwa kulingana na sera za usafi.
  • Kimbilio kavu: (Chaguo-msingi) Artefaki hazitafutwa. Sera za usafi zitaangaliwa, na matukio ya kufuta majaribio yatatumwa kwa Cloud Audit Logging.

Vulnerability Scanning

Inawezekana kuwezesha scanner ya udhaifu ambayo itakagua udhaifu ndani ya picha za kontena.

Enumeration

bash
# Get repositories
gcloud artifacts repositories list
gcloud artifacts repositories describe --location <location> <repo-name>
gcloud artifacts versions list --repository=<repo-name> -location <location> --package <package-name>

# Get settings of a repository (example using python but could be other)
gcloud artifacts print-settings python --repository <repo-name> --location <location>

# Get docker images
gcloud artifacts docker images list us-central1-docker.pkg.dev/<proj-name>/<repo-name>

# Get packages (like python and others...)
gcloud artifacts packages list --repository <repo-name> --location <location>

# Get SBOMB artifacts
gcloud artifacts sbom list

# Get vulnerabilities (docker images)
gcloud artifacts vulnerabilities list us-east1-docker.pkg.dev/project123/repository123/someimage@sha256:49765698074d6d7baa82f
gcloud artifacts docker images list-vulnerabilities projects/<proj-name>/locations/<location>/scans/<scan-uuid>

Kuinua Haki

GCP - Artifact Registry Privesc

Ufikiaji Usio Na Uthibitisho

GCP - Artifact Registry Unauthenticated Enum

Baada ya Kuweka Haki

GCP - Artifact Registry Post Exploitation

Kudumu

GCP - Artifact Registry Persistence

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks