GCP - Source Repositories Enum

Erfahren 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 Source Repositories ist ein voll ausgestatteter, skalierbarer, privater Git-Repository-Dienst. Es ist darauf ausgelegt, Ihren Quellcode in einer vollständig verwalteten Umgebung zu hosten, nahtlos mit anderen GCP-Tools und -Diensten zu integrieren. Es bietet einen kollaborativen und sicheren Ort für Teams, um ihren Code zu speichern, zu verwalten und zu verfolgen.

Zu den wichtigsten Funktionen von Cloud Source Repositories gehören:

  1. Vollständig verwaltetes Git-Hosting: Bietet die vertraute Funktionalität von Git, sodass Sie reguläre Git-Befehle und Workflows verwenden können.

  2. Integration mit GCP-Diensten: Integriert sich nahtlos mit anderen GCP-Diensten wie Cloud Build, Pub/Sub und App Engine für eine lückenlose Rückverfolgbarkeit vom Code bis zur Bereitstellung.

  3. Private Repositories: Stellt sicher, dass Ihr Code sicher und privat gespeichert wird. Sie können den Zugriff mithilfe von Cloud Identity and Access Management (IAM)-Rollen steuern.

  4. Quellcodeanalyse: Arbeitet mit anderen GCP-Tools zusammen, um eine automatisierte Analyse Ihres Quellcodes bereitzustellen, die potenzielle Probleme wie Fehler, Sicherheitslücken oder schlechte Codierungspraktiken identifiziert.

  5. Kollaborationswerkzeuge: Unterstützt kollaboratives Codieren mit Tools wie Merge-Anfragen, Kommentaren und Reviews.

  6. Spiegelunterstützung: Ermöglicht es Ihnen, Cloud Source Repositories mit Repositories zu verbinden, die auf GitHub oder Bitbucket gehostet sind, um eine automatische Synchronisierung zu ermöglichen und eine einheitliche Ansicht aller Ihrer Repositories bereitzustellen.

OffSec-Informationen

  • Die Konfiguration der Quellcode-Repositories in einem Projekt wird einen Service Account haben, der zum Veröffentlichen von Cloud Pub/Sub-Nachrichten verwendet wird. Der Standardaccount, der verwendet wird, ist der Compute SA. Es ist jedoch meiner Meinung nach nicht möglich, sein Token zu stehlen aus den Source Repositories, da es im Hintergrund ausgeführt wird.

  • Um den Code innerhalb der GCP Cloud Source Repositories-Webkonsole (https://source.cloud.google.com/) zu sehen, muss der Code standardmäßig im Master-Zweig enthalten sein.

  • Sie können auch ein Spiegel-Cloud-Repository erstellen, das auf ein Repository von Github oder Bitbucket zeigt (und Zugriff auf diese Plattformen gewährt).

  • Es ist möglich, im GCP zu codieren und zu debuggen.

  • Standardmäßig verhindern Source Repositories, dass private Schlüssel in Commits gepusht werden, aber dies kann deaktiviert werden.

In Cloud Shell öffnen

Es ist möglich, das Repository in Cloud Shell zu öffnen. Es erscheint eine Aufforderung wie diese:

Dies ermöglicht es Ihnen, in Cloud Shell zu codieren und zu debuggen (was zu einer Kompromittierung von Cloudshell führen könnte).

Enumeration

# Repos enumeration
gcloud source repos list #Get names and URLs
gcloud source repos describe <repo_name>
gcloud source repos get-iam-policy <repo_name>

# gcloud repo clone
gcloud source repos clone <REPO NAME>
gcloud source repos get-iam-policy <REPO NAME>
... git add & git commit -m ...
git push --set-upstream origin master
git push -u origin master

# Access via git
## To add a SSH key go to https://source.cloud.google.com/user/ssh_keys (no gcloud command)
git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>
git add, commit, push...

Privilege Escalation & Post Exploitation

pageGCP - Sourcerepos Privesc

Nicht authentifizierte Enumerierung

pageGCP - Source Repositories Unauthenticated Enum
Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated