GCP - Artifact Registry Enum

Support HackTricks

Basic Information

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

Vipengele muhimu vya Artifact Registry ni pamoja na:

  1. Hifadhi Iliyounganishwa: Inasaidia aina nyingi za bidhaa, ikikuruhusu kuwa na hazina moja kwa picha za Docker, pakiti za lugha (kama Maven ya Java, npm ya Node.js), na aina nyingine za bidhaa, ikiruhusu udhibiti wa ufikiaji wa kawaida na mtazamo uliounganishwa katika bidhaa zako zote.

  2. Imesimamiwa Kikamilifu: Kama huduma inayosimamiwa, inashughulikia miundombinu ya msingi, kupanua, 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 bidhaa katika hazina zako.

  4. Urejeleaji wa Kijiografia: Inasaidia urejeleaji wa bidhaa 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 bidhaa zilizohifadhiwa ni salama na hazina matatizo ya usalama yanayojulikana.

Formats and Modes

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

  • Hifadhi ya Kawaida: Hali ya chaguo-msingi kwa kuhifadhi bidhaa zako mwenyewe (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 bidhaa kutoka kwa hazina za umma za nje. Inasaidia kuzuia matatizo kutokana na mabadiliko ya utegemezi na kupunguza ucheleweshaji kwa kuficha bidhaa zinazopatikana mara kwa mara.

  • Hifadhi ya Kijadi (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 bidhaa zilizosambazwa katika hazina mbalimbali.

  • Kwa hifadhi ya kijadi utahitaji kuchagua hazina na kuwapa kipaumbele (hifadhi yenye kipaumbele kikubwa itatumika).

  • Unaweza kuchanganya hazina za mbali na za kawaida katika hifadhi ya kijadi, ikiwa kipaumbele cha mbali ni kikubwa kuliko cha kawaida, pakiti kutoka mbali (kama PyPi kwa mfano) 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 kuashiriwa (CMEK).

Cleanup Policies

  • Futa bidhaa: Bidhaa zitafutwa kulingana na vigezo vya sera ya usafishaji.

  • Kimbilio kavu: (Chaguo-msingi) Bidhaa hazitafutwa. Sera za usafishaji zitaangaliwa, na matukio ya kufuta ya majaribio yatatumwa kwa Usajili wa Ukaguzi wa Cloud.

Vulnerability Scanning

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

Enumeration

# 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 Mamlaka

GCP - Artifact Registry Privesc

Ufikiaji Usio Na Uthibitisho

GCP - Artifact Registry Unauthenticated Enum

Baada ya Kutekeleza

GCP - Artifact Registry Post Exploitation

Kudumu

GCP - Artifact Registry Persistence
Support HackTricks

Last updated