GCP - Sourcerepos Privesc
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Für weitere Informationen zu Quell-Repositorys siehe:
GCP - Source Repositories Enumsource.repos.get
Mit dieser Berechtigung ist es möglich, das Repository lokal herunterzuladen:
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 wie folgt vergeben werden:
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.
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:
GCP - Secretmanager PrivescEs 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 mit zugreifen:
Und dann verwenden Sie git
-Befehle wie gewohnt.
Es ist möglich, manuelle Anmeldeinformationen zu erstellen, um auf die Source Repositories zuzugreifen:
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.
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 das Hochladen von Code, der Private Keys enthält, zu verhindern:
Sie können auch ein anderes Pub/Sub-Thema konfigurieren oder es sogar vollständig deaktivieren:
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)