GCP - Cloud Run Enum
Cloud Run
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.
Usługi i zadania
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.
Usługa Cloud Run
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.
Istotne szczegóły
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.
Enumeracja
Cloud Run Jobs
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ą.
Enumeration
Eskalacja Uprawnień
Na następnej stronie możesz sprawdzić, jak nadużywać uprawnień cloud run, aby eskalować uprawnienia:
GCP - Run PrivescDostęp bez uwierzytelnienia
GCP - Cloud Run Unauthenticated EnumPo Eksploatacji
GCP - Cloud Run Post ExploitationUtrzymywanie
GCP - Cloud Run PersistenceReferencje
Last updated