GCP - Cloud Run Enum
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)
Cloud Run to zarządzana platforma obliczeniowa bezserwerowa, która pozwala na uruchamianie kontenerów bezpośrednio na skalowalnej infrastrukturze Google'a.
Możesz uruchomić swój kontener lub, jeśli używasz Go, Node.js, Pythona, Javy, .NET Core lub Rubiego, możesz skorzystać z opcji wdrożenia opartego na źródle, która buduje kontener za Ciebie.
Google stworzył Cloud Run, aby dobrze współpracował z innymi usługami w Google Cloud, dzięki czemu możesz budować w pełni funkcjonalne aplikacje.
Na Cloud Run Twój kod może działać ciągle jako usługa lub jako zadanie. Zarówno usługi, jak i zadania działają w tym samym środowisku i mogą korzystać z tych samych integracji z innymi usługami w Google Cloud.
Usługi Cloud Run. Używane do uruchamiania kodu, który odpowiada na żądania sieciowe lub zdarzenia.
Zadania Cloud Run. Używane do uruchamiania kodu, który wykonuje pracę (zadanie) i kończy działanie, gdy praca jest zakończona.
Google Cloud Run to kolejna oferta bezserwerowa, w której możesz również wyszukiwać zmienne środowiskowe. Cloud Run tworzy mały serwer WWW, działający domyślnie na porcie 8080 wewnątrz kontenera, który czeka na żądanie HTTP GET. Gdy żądanie zostanie odebrane, wykonywane jest zadanie, a logi zadania są zwracane w odpowiedzi HTTP.
Domyślnie dostęp do serwera WWW jest publiczny, ale może być również ograniczony do ruchu wewnętrznego (VPC...) Ponadto uwierzytelnienie do kontaktu z serwerem WWW może być zezwalające na wszystko lub wymagać uwierzytelnienia za pomocą IAM.
Domyślnie szyfrowanie używa klucza zarządzanego przez Google, ale można również wybrać CMEK (Klucz Szyfrowania Zarządzany przez Klienta) z KMS.
Domyślnie używane jest konto usługi, które jest domyślnym kontem Compute Engine, które ma dostęp Edytora do projektu i ma zakres cloud-platform
.
Możliwe jest zdefiniowanie zmiennych środowiskowych w postaci czystego tekstu do wykonania, a nawet zamontowanie tajemnic w chmurze lub dodanie tajemnic w chmurze do zmiennych środowiskowych.
Możliwe jest również dodanie połączeń z Cloud SQL i zamontowanie systemu plików.
URL-e wdrożonych usług są podobne do https://<svc-name>-<random>.a.run.app
Usługa Run może mieć więcej niż 1 wersję lub rewizję, a ruch może być dzielony między kilka rewizji.
Cloud Run jobs są lepszym rozwiązaniem dla kontenerów, które kończą działanie i nie obsługują żądań. Zadania nie mają możliwości obsługi żądań ani nasłuchiwania na porcie. Oznacza to, że w przeciwieństwie do usług Cloud Run, zadania nie powinny zawierać serwera WWW. Zamiast tego kontenery zadań powinny zakończyć działanie, gdy skończą.
Na następnej stronie możesz sprawdzić, jak nadużywać uprawnień cloud run, aby eskalować uprawnienia:
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)