GCP - Enum za Artifact Registry
Reading time: 5 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovne informacije
Google Cloud Artifact Registry je potpuno upravljana usluga koja vam omogućava da upravljate, skladištite i obezbeđujete svoje softverske artefakte. U suštini, to je repozitorijum za skladištenje zavisnosti za izgradnju, kao što su Docker slike, Maven, npm paketi i drugi tipovi artefakata. Obično se koristi u CI/CD procesima za skladištenje i verzionisanje artefakata proizvedenih tokom procesa razvoja softvera.
Ključne karakteristike Artifact Registry uključuju:
- Ujedinjeni repozitorijum: Podržava više tipova artefakata, omogućavajući vam da imate jedan repozitorijum za Docker slike, jezičke pakete (kao što su Java Maven, Node.js npm) i druge tipove artefakata, omogućavajući dosledne kontrole pristupa i ujedinjeni pregled svih vaših artefakata.
- Potpuno upravljano: Kao upravljana usluga, brine o osnovnoj infrastrukturi, skaliranju i bezbednosti, smanjujući troškove održavanja za korisnike.
- Fino podešavanje kontrole pristupa: Integrira se sa Google Cloud-ovim upravljanjem identitetom i pristupom (IAM), omogućavajući vam da definišete ko može da pristupi, otpremi ili preuzme artefakte u vašim repozitorijumima.
- Geo-replikacija: Podržava replikaciju artefakata širom više regiona, poboljšavajući brzinu preuzimanja i osiguravajući dostupnost.
- Integracija sa Google Cloud uslugama: Besprekorno funkcioniše sa drugim GCP uslugama kao što su Cloud Build, Kubernetes Engine i Compute Engine, čineći ga pogodnim izborom za timove koji već rade unutar Google Cloud ekosistema.
- Bezbednost: Nudi funkcije kao što su skeniranje ranjivosti i analiza kontejnera kako bi se osiguralo da su skladišteni artefakti sigurni i bez poznatih bezbednosnih problema.
Formati i režimi
Kada kreirate novi repozitorijum, moguće je izabrati format/tip repozitorijuma među nekoliko kao što su Docker, Maven, npm, Python... i režim koji obično može biti jedan od ova tri:
- Standardni repozitorijum: Podrazumevani režim za skladištenje vaših vlastitih artefakata (kao što su Docker slike, Maven paketi) direktno u GCP. Siguran je, skalabilan i dobro se integriše unutar Google Cloud ekosistema.
- Daljinski repozitorijum (ako je dostupan): Deluje kao proxy za keširanje artefakata iz spoljašnjih, javnih repozitorijuma. Pomaže u sprečavanju problema sa promenama zavisnosti na višem nivou i smanjuje latenciju keširanjem često pristupanih artefakata.
- Virtuelni repozitorijum (ako je dostupan): Pruža ujedinjeni interfejs za pristup više (standardnih ili daljinskih) repozitorijuma kroz jedan krajnji tačku, pojednostavljujući konfiguraciju na klijentskoj strani i upravljanje pristupom za artefakte raspoređene širom različitih repozitorijuma.
- Za virtuelni repozitorijum biće potrebno izabrati repozitorijume i dati im prioritet (repo sa najvećim prioritetom će se koristiti).
- Možete mešati daljinske i standardne repozitorijume u virtuelnom, ako je prioritet daljinskog veći od standardnog, paketi iz daljinskog (npr. PyPi) će se koristiti. Ovo može dovesti do Zbunjenosti zavisnosti.
Napomena: u daljinskoj verziji Dockera moguće je dati korisničko ime i token za pristup Docker Hub-u. Token se zatim čuva u Secret Manager-u.
Enkripcija
Kao što se očekuje, podrazumevano se koristi ključ koji upravlja Google, ali može se naznačiti ključ koji upravlja korisnik (CMEK).
Politike čišćenja
- Obriši artefakte: Artefakti će biti obrisani prema kriterijumima politike čišćenja.
- Suvo pokretanje: (Podrazumevani) Artefakti neće biti obrisani. Politike čišćenja će biti evaluirane, a testni događaji brisanja poslati u Cloud Audit Logging.
Skeniranje ranjivosti
Moguće je omogućiti skener ranjivosti koji će proveravati ranjivosti unutar slika kontejnera.
Enumeracija
# 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>
Eskalacija privilegija
GCP - Artifact Registry Privesc
Neautentifikovani pristup
GCP - Artifact Registry Unauthenticated Enum
Post-eksploatacija
GCP - Artifact Registry Post Exploitation
Postojanost
GCP - Artifact Registry Persistence
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.