GCP - Cloud Build Unauthenticated Enum

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks

Cloud Build

Aby uzyskać więcej informacji na temat Cloud Build, sprawdź:

GCP - Cloud Build Enum

cloudbuild.yml

Jeśli uzyskasz dostęp do zapisu w repozytorium zawierającym plik o nazwie cloudbuild.yml, możesz wprowadzić backdoora do tego pliku, który określa komendy, które będą wykonywane w ramach Cloud Build i wyeksportować sekrety, skompromitować to, co jest robione, a także skompromitować konto usługi Cloud Build.

Note

Zauważ, że GCP ma opcję umożliwiającą administratorom kontrolowanie wykonania systemów budowania z zewnętrznych PR-ów za pomocą “Comment Control”. Comment Control to funkcja, w której współpracownicy/właściciele projektu muszą skomentować “/gcbrun”, aby uruchomić budowę w odniesieniu do PR, a korzystanie z tej funkcji z natury zapobiega każdemu w internecie uruchomieniu twoich systemów budowania.

Aby uzyskać powiązane informacje, możesz sprawdzić stronę na temat atakowania Github Actions (podobnie jak to):

Abusing Github Actions

PR Approvals

Gdy wyzwalaczem jest PR, ponieważ każdy może wykonywać PR-y do publicznych repozytoriów, byłoby bardzo niebezpieczne po prostu zezwolić na wykonanie wyzwalacza z dowolnym PR. Dlatego domyślnie wykonanie będzie automatyczne tylko dla właścicieli i współpracowników, a aby wykonać wyzwalacz z PR-ami innych użytkowników, właściciel lub współpracownik musi skomentować /gcbrun.

Caution

Dlatego, jeśli jest to ustawione na Not required, atakujący mógłby wykonać PR do gałęzi, co spowoduje uruchomienie wykonania, dodając złośliwe wykonanie kodu do pliku cloudbuild.yml i skompromitować wykonanie cloudbuild (zauważ, że cloudbuild pobierze kod Z PR, więc wykona złośliwy cloudbuild.yml).

Co więcej, łatwo jest zobaczyć, czy jakieś wykonanie cloudbuild musi być wykonane, gdy wysyłasz PR, ponieważ pojawia się to w Github:

Warning

Wtedy, nawet jeśli cloudbuild nie jest wykonywany, atakujący będzie mógł zobaczyć nazwę projektu GCP, który należy do firmy.

Tip

Ucz się & ćwicz AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się & ćwicz GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ucz się & ćwicz Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Wspieraj HackTricks