GCP - Sourcerepos Privesc
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.
Source Repositories
Für weitere Informationen zu Source Repositories siehe:
GCP - Source Repositories Enum
source.repos.get
Mit dieser Berechtigung ist es möglich, das Repository lokal herunterzuladen:
Clone source repository
```bash gcloud source repos clonesource.repos.update
Ein Principal mit dieser Berechtigung wird in der Lage sein, Code in ein Repository zu schreiben, das mit gcloud source repos clone <repo> geklont wurde. Beachte jedoch, dass diese Berechtigung nicht an benutzerdefinierte Rollen angehängt werden kann, sie muss also über eine vordefinierte Rolle vergeben werden, z. B.:
- Owner
- Editor
- Source Repository Administrator (
roles/source.admin) - Source Repository Writer (
roles/source.writer)
Um zu schreiben, führe einfach ein normales git push aus.
source.repos.setIamPolicy
Mit dieser Berechtigung könnte ein Angreifer sich selbst die vorherigen Berechtigungen gewähren.
Secret access
Wenn der Angreifer Zugriff auf die Secrets hat, in denen die Tokens gespeichert sind, kann er diese stehlen. Für mehr Infos darüber, wie man auf ein Secret zugreift, siehe:
Add SSH keys
Es ist möglich, SSH-Keys zum Source Repository Projekt in der Web-Konsole hinzuzufügen. Dabei wird eine POST-Anfrage an /v1/sshKeys:add gesendet und das lässt sich unter https://source.cloud.google.com/user/ssh_keys konfigurieren
Sobald dein SSH-Key gesetzt ist, kannst du auf ein Repo zugreifen mit:
Repository mit SSH klonen
```bash git clone ssh://username@domain.com@source.developers.google.com:2022/p/Und dann verwendet man wie gewohnt die git-Befehle.
Manual Credentials
Es ist möglich, manuelle Credentials zu erstellen, um auf die Source Repositories zuzugreifen:
.png)
Ein Klick auf den ersten Link leitet dich zu https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3
Das öffnet ein Oauth authorization prompt, um Zugriff auf Google Cloud Development zu gewähren. Dafür benötigst du entweder die Credentials des Benutzers oder eine offene Session im Browser.
Das führt dich zu einer Seite mit einem bash script to execute, das ein Git-Cookie in $HOME/.gitcookies konfiguriert.
.png)
Wenn du das Script ausführst, kannst du anschließend git clone, push … verwenden und es funktioniert.
source.repos.updateProjectConfig
Mit dieser Berechtigung ist es möglich, den Standard-Schutz von Source Repositories zu deaktivieren, der verhindert, dass Code mit enthaltenen Private Keys hochgeladen wird:
Disable pushblock and modify pub/sub configuration
```bash gcloud source project-configs update --disable-pushblock ``` Sie können auch ein anderes pub/sub-Topic konfigurieren oder es sogar vollständig deaktivieren: ```bash 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.
HackTricks Cloud

