GCP - Artifact Registry Enum

Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Grundlegende Informationen

Google Cloud Artifact Registry ist ein vollständig verwalteter Dienst, der es Ihnen ermöglicht, Ihre Software-Artefakte zu verwalten, zu speichern und zu sichern. Es handelt sich im Wesentlichen um ein Repository zum Speichern von Build-Abhängigkeiten, wie z. B. Docker-Images, Maven-, npm-Paketen und anderen Arten von Artefakten. Es wird üblicherweise in CI/CD-Pipelines verwendet, um die Artefakte zu speichern und zu versionieren, die während des Softwareentwicklungsprozesses erstellt werden.

Zu den wichtigsten Funktionen von Artifact Registry gehören:

  1. Vereinheitlichtes Repository: Es unterstützt mehrere Arten von Artefakten, sodass Sie ein einziges Repository für Docker-Images, Sprachpakete (wie Java's Maven, Node.js's npm) und andere Arten von Artefakten haben können, was konsistente Zugriffssteuerungen und eine einheitliche Ansicht über alle Ihre Artefakte ermöglicht.

  2. Vollständig verwaltet: Als verwalteter Dienst kümmert er sich um die zugrunde liegende Infrastruktur, Skalierung und Sicherheit und reduziert den Wartungsaufwand für Benutzer.

  3. Feingranulare Zugriffssteuerung: Er integriert sich mit der Identitäts- und Zugriffsverwaltung (IAM) von Google Cloud, sodass Sie festlegen können, wer auf Ihre Repositories zugreifen, Artefakte hochladen oder herunterladen kann.

  4. Geo-Replikation: Er unterstützt die Replikation von Artefakten in mehreren Regionen, verbessert die Download-Geschwindigkeit und stellt die Verfügbarkeit sicher.

  5. Integration mit Google Cloud-Diensten: Er arbeitet nahtlos mit anderen GCP-Diensten wie Cloud Build, Kubernetes Engine und Compute Engine zusammen, was ihn zu einer bequemen Wahl für Teams macht, die bereits im Google Cloud-Ökosystem arbeiten.

  6. Sicherheit: Bietet Funktionen wie Vulnerability Scanning und Container-Analyse, um sicherzustellen, dass die gespeicherten Artefakte sicher und frei von bekannten Sicherheitsproblemen sind.

Formate und Modi

Beim Erstellen eines neuen Repositories ist es möglich, das Format/den Typ des Repositories aus mehreren auszuwählen, wie Docker, Maven, npm, Python... und den Modus, der in der Regel einer dieser drei sein kann:

  • Standard-Repository: Standardmodus zum Speichern eigener Artefakte (wie Docker-Images, Maven-Pakete) direkt in GCP. Es ist sicher, skalierbar und integriert sich gut in das Google Cloud-Ökosystem.

  • Remote-Repository (falls verfügbar): Dient als Proxy zum Zwischenspeichern von Artefakten aus externen, öffentlichen Repositories. Es hilft, Probleme zu verhindern, die durch Änderungen von Abhängigkeiten stromaufwärts entstehen, und reduziert die Latenz durch Zwischenspeichern häufig abgerufener Artefakte.

  • Virtuelles Repository (falls verfügbar): Bietet eine vereinheitlichte Schnittstelle zum Zugriff auf mehrere (Standard- oder Remote-) Repositories über einen einzigen Endpunkt, was die Konfiguration auf der Clientseite und den Zugriff auf Artefakte, die über verschiedene Repositories verteilt sind, vereinfacht.

  • Für ein virtuelles Repository müssen Sie Repositorien auswählen und ihnen eine Priorität geben (das Repository mit der höchsten Priorität wird verwendet).

  • Sie können Remote- und Standard- Repositories in einem virtuellen Repository mischen, wenn die Priorität des Remote- Repositories größer als die des Standard-Repositories ist, werden Pakete aus dem Remote-Repository (z. B. PyPi) verwendet. Dies könnte zu einer Abhängigkeitsverwirrung führen.

Beachten Sie, dass es in der Remote-Version von Docker möglich ist, einen Benutzernamen und ein Token anzugeben, um auf Docker Hub zuzugreifen. Das Token wird dann im Secret Manager gespeichert.

Verschlüsselung

Wie erwartet wird standardmäßig ein von Google verwalteter Schlüssel verwendet, aber es kann ein kundenverwalteter Schlüssel angegeben werden (CMEK).

Bereinigungspolitiken

  • Artefakte löschen: Artefakte werden gemäß den Kriterien der Bereinigungspolitik gelöscht.

  • Trockenlauf: (Standard) Artefakte werden nicht gelöscht. Bereinigungspolitiken werden ausgewertet und Testlöschereignisse an das Cloud Audit Logging gesendet.

Vulnerability Scanning

Es ist möglich, den Vulnerability Scanner zu aktivieren, der nach Schwachstellen in Container-Images sucht.

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>

Privilege Escalation

Unauthenticated Access

Post-Exploitation

Persistence

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated