GCP - Run 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)
Aby uzyskać więcej informacji o Cloud Run, sprawdź:
GCP - Cloud Run Enumrun.services.create
, iam.serviceAccounts.actAs
, run.routes.invoke
Atakujący z tymi uprawnieniami może utworzyć usługę uruchamiającą dowolny kod (dowolny kontener Docker), dołączyć do niej konto usługi i sprawić, aby kod wyekstrahował token konta usługi z metadanych.
Skrypt exploitujący tę metodę można znaleźć tutaj, a obraz Dockera można znaleźć tutaj.
Zauważ, że używając gcloud run deploy
zamiast po prostu tworzenia usługi potrzebne są uprawnienia update
. Sprawdź przykład tutaj.
run.services.update
, iam.serviceAccounts.actAs
Jak w poprzednim przypadku, ale aktualizując usługę:
run.services.setIamPolicy
Przyznaj sobie wcześniejsze uprawnienia w chmurze Run.
run.jobs.create
, run.jobs.run
, iam.serviceaccounts.actAs
,(run.jobs.get
)Uruchom zadanie z odwróconym shellem, aby ukraść konto usługi wskazane w poleceniu. Możesz znaleźć eksploit tutaj.
run.jobs.update
,run.jobs.run
,iam.serviceaccounts.actAs
,(run.jobs.get
)Podobnie jak w poprzednim przypadku, możliwe jest aktualizowanie zadania i aktualizowanie SA, wykonanie polecenia i uruchomienie go:
run.jobs.setIamPolicy
Przyznaj sobie wcześniejsze uprawnienia do Cloud Jobs.
run.jobs.run
, run.jobs.runWithOverrides
, (run.jobs.get
)Wykorzystaj zmienne środowiskowe wykonania zadania, aby wykonać dowolny kod i uzyskać odwróconą powłokę do zrzucenia zawartości kontenera (kod źródłowy) oraz uzyskać dostęp do SA w metadanych:
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)