GCP - Cloud Build Unauthenticated Enum
Cloud Build
Aby uzyskać więcej informacji na temat Cloud Build, sprawdź:
pageGCP - Cloud Build Enumcloudbuild.yml
Jeśli uzyskasz dostęp do zapisu w repozytorium zawierającym plik o nazwie cloudbuild.yml
, możesz zaszczepić ten plik, który określa polecenia, które zostaną wykonane wewnątrz Cloud Build i wycieczeć tajne informacje, naruszyć to, co zostało zrobione, a także naruszyć konto usługi Cloud Build.
Zauważ, że GCP ma opcję pozwalającą administratorom kontrolować wykonanie systemów budowania z zewnętrznych PR poprzez "Kontrolę komentarzy". Kontrola komentarzy to funkcja, w której współpracownicy/właściciele projektu muszą skomentować “/gcbrun”, aby uruchomić budowanie w odpowiedzi na PR, a korzystanie z tej funkcji z założenia uniemożliwia komukolwiek z internetu uruchomienie systemów budowania.
Dla dodatkowych informacji możesz sprawdzić stronę dotyczącą atakowania działań w Githubie (podobnych do tego):
pageAbusing Github ActionsZatwierdzanie PR
Kiedy wyzwalaczem jest PR, ponieważ każdy może wykonać PR do publicznych repozytoriów, byłoby bardzo niebezpiecznie po prostu pozwolić na wykonanie wyzwalacza z dowolnym PR. Dlatego domyślnie wykonanie będzie automatyczne dla właścicieli i współpracowników, a aby wykonać wyzwalacz z PR innych użytkowników, właściciel lub współpracownik musi skomentować /gcbrun
.
Dlatego jeśli jest to ustawione na Not required
, atakujący mógłby wykonać PR do gałęzi, co spowoduje wykonanie dodania złośliwego kodu do pliku cloudbuild.yml
i naruszenie wykonania cloudbuild (zauważ, że cloudbuild pobierze kod Z PR, więc wykonana zostanie złośliwa cloudbuild.yml
).
Co więcej, łatwo zauważyć, czy jakieś wykonanie cloudbuild musi zostać wykonane, gdy wysyłasz PR, ponieważ pojawia się to w Githubie:
W takim razie, nawet jeśli cloudbuild nie zostanie wykonany, atakujący będzie mógł zobaczyć nazwę projektu projektu GCP, który należy do firmy.
Last updated