GCP - Workflows Privesc
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Workflows
Grundinformationen:
GCP - Workflows Enumworkflows.workflows.create
, iam.serviceAccounts.ActAs
, workflows.executions.create
, (workflows.workflows.get
, workflows.operations.get
)
workflows.workflows.create
, iam.serviceAccounts.ActAs
, workflows.executions.create
, (workflows.workflows.get
, workflows.operations.get
)Soweit ich weiß, ist es nicht möglich, eine Shell mit Zugriff auf den Metadaten-Endpunkt zu erhalten, der die SA-Anmeldeinformationen des SA enthält, der an einen Workflow angehängt ist. Es ist jedoch möglich, die Berechtigungen des SA zu missbrauchen, indem man die Aktionen hinzufügt, die innerhalb des Workflows ausgeführt werden sollen.
Es ist möglich, die Dokumentation der Connectoren zu finden. Zum Beispiel ist dies die Seite des Secretmanager-Connectors. In der Seitenleiste sind mehrere andere Connectoren zu finden.
Und hier findest du ein Beispiel für einen Connector, der ein Geheimnis ausgibt:
Aktualisierung über die CLI:
Wenn Sie einen Fehler wie ERROR: (gcloud.workflows.deploy) FAILED_PRECONDITION: Workflows service agent does not exist
erhalten, warten Sie einfach eine Minute und versuchen Sie es erneut.
Wenn Sie keinen Webzugang haben, ist es möglich, die Ausführung eines Workflows auszulösen und zu sehen mit:
Sie können auch die Ausgabe vorheriger Ausführungen überprüfen, um nach sensiblen Informationen zu suchen.
Beachten Sie, dass selbst wenn Sie einen Fehler wie PERMISSION_DENIED: Permission 'workflows.operations.get' denied on...
erhalten, weil Sie diese Berechtigung nicht haben, der Workflow generiert wurde.
Leak OIDC-Token (und OAuth?)
Laut den Dokumenten ist es möglich, Workflow-Schritte zu verwenden, die eine HTTP-Anfrage mit dem OAuth- oder OIDC-Token senden. Allerdings muss die HTTP-Anfrage mit dem Oauth-Token, wie im Fall von Cloud Scheduler, an den Host .googleapis.com
gerichtet sein.
Daher ist es möglich, das OIDC-Token zu leaken, indem man einen HTTP-Endpunkt angibt, der vom Benutzer kontrolliert wird, aber um das OAuth-Token zu leaken, bräuchten Sie einen Bypass für diesen Schutz. Sie können jedoch weiterhin jede GCP-API kontaktieren, um im Namen des SA Aktionen auszuführen, entweder über Connectoren oder HTTP-Anfragen mit dem OAuth-Token.
OAuth
OIDC
workflows.workflows.update
...
workflows.workflows.update
...Mit dieser Berechtigung anstelle von workflows.workflows.create
ist es möglich, einen bereits bestehenden Workflow zu aktualisieren und die gleichen Angriffe durchzuführen.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Last updated