GCP - Sourcerepos Privesc
Reading time: 4 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Quell-Repository
Für weitere Informationen zu Quell-Repositorys siehe:
GCP - Source Repositories Enum
source.repos.get
Mit dieser Berechtigung ist es möglich, das Repository lokal herunterzuladen:
gcloud source repos clone <repo-name> --project=<project-uniq-name>
source.repos.update
Ein Principal mit dieser Berechtigung wird in der Lage sein, Code in einem Repository zu schreiben, das mit gcloud source repos clone <repo>
geklont wurde. Beachten Sie jedoch, dass diese Berechtigung nicht an benutzerdefinierte Rollen angehängt werden kann, daher muss sie über eine vordefinierte Rolle vergeben werden, wie:
- Owner
- Editor
- Source Repository Administrator (
roles/source.admin
) - Source Repository Writer (
roles/source.writer
)
Um zu schreiben, führen Sie einfach einen regulären git push
aus.
source.repos.setIamPolicy
Mit dieser Berechtigung könnte ein Angreifer sich selbst die vorherigen Berechtigungen gewähren.
Geheimniszugriff
Wenn der Angreifer Zugriff auf die Geheimnisse hat, in denen die Tokens gespeichert sind, wird er in der Lage sein, sie zu stehlen. Für weitere Informationen darüber, wie man auf ein Geheimnis zugreift, siehe:
SSH-Schlüssel hinzufügen
Es ist möglich, SSH-Schlüssel zum Source Repository-Projekt in der Webkonsole hinzuzufügen. Es wird eine POST-Anfrage an /v1/sshKeys:add
gesendet und kann unter https://source.cloud.google.com/user/ssh_keys konfiguriert werden.
Sobald Ihr SSH-Schlüssel eingerichtet ist, können Sie auf ein Repository zugreifen mit:
git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>
Und dann verwenden Sie git
-Befehle wie gewohnt.
Manuelle Anmeldeinformationen
Es ist möglich, manuelle Anmeldeinformationen zu erstellen, um auf die Source Repositories zuzugreifen:
.png)
Wenn Sie auf den ersten Link klicken, werden Sie zu https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3 weitergeleitet.
Dies wird ein Oauth-Autorisierungsfenster anzeigen, um Zugriff auf Google Cloud Development zu gewähren. Sie benötigen entweder die Anmeldeinformationen des Benutzers oder eine offene Sitzung im Browser dafür.
Dies wird Sie zu einer Seite mit einem Bash-Skript zur Ausführung und zur Konfiguration eines Git-Cookies in $HOME/.gitcookies
senden.
.png)
Nachdem Sie das Skript ausgeführt haben, können Sie git clone, push... verwenden und es wird funktionieren.
source.repos.updateProjectConfig
Mit dieser Berechtigung ist es möglich, den standardmäßigen Schutz der Source Repositories zu deaktivieren, um keinen Code hochzuladen, der Private Keys enthält:
gcloud source project-configs update --disable-pushblock
Sie können auch ein anderes Pub/Sub-Thema konfigurieren oder es sogar vollständig deaktivieren:
gcloud source project-configs update --remove-topic=REMOVE_TOPIC
gcloud source project-configs update --remove-topic=UPDATE_TOPIC
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.