GCP - Workflows Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podstawowe informacje:
GCP - Workflows Enumworkflows.workflows.create
, iam.serviceAccounts.ActAs
, workflows.executions.create
, (workflows.workflows.get
, workflows.operations.get
)Z tego co wiem, nie jest możliwe uzyskanie powłoki z dostępem do punktu końcowego metadanych zawierającego dane uwierzytelniające SA przypisanego do Workflow. Jednak możliwe jest nadużycie uprawnień SA, dodając działania do wykonania wewnątrz Workflow.
Możliwe jest znalezienie dokumentacji konektorów. Na przykład, oto strona konektora Secretmanager. W pasku bocznym można znaleźć kilka innych konektorów.
A tutaj można znaleźć przykład konektora, który drukuje sekret:
Aktualizacja z CLI:
Jeśli otrzymasz błąd taki jak ERROR: (gcloud.workflows.deploy) FAILED_PRECONDITION: Workflows service agent does not exist
, po prostu poczekaj minutę i spróbuj ponownie.
Jeśli nie masz dostępu do sieci, możliwe jest wywołanie i zobaczenie wykonania Workflow za pomocą:
Możesz również sprawdzić wyniki wcześniejszych wykonania, aby poszukać wrażliwych informacji
Zauważ, że nawet jeśli otrzymasz błąd taki jak PERMISSION_DENIED: Permission 'workflows.operations.get' denied on...
ponieważ nie masz tej zgody, workflow został wygenerowany.
Zgodnie z dokumentacją możliwe jest użycie kroków workflow, które wyślą żądanie HTTP z tokenem OAuth lub OIDC. Jednak, podobnie jak w przypadku Cloud Scheduler, żądanie HTTP z tokenem Oauth musi być skierowane do hosta .googleapis.com
.
Dlatego możliwe jest wyciekanie tokena OIDC poprzez wskazanie punktu końcowego HTTP kontrolowanego przez użytkownika, ale aby wyciekać token OAuth, potrzebujesz obejścia tej ochrony. Jednak nadal możesz kontaktować się z dowolnym API GCP, aby wykonywać działania w imieniu SA za pomocą konektorów lub żądań HTTP z tokenem OAuth.
workflows.workflows.update
...Dzięki temu uprawnieniu, zamiast workflows.workflows.create
, możliwe jest zaktualizowanie już istniejącego workflow i przeprowadzenie tych samych ataków.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)