GCP - Logging 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)
Ta usługa pozwala użytkownikom na przechowywanie, wyszukiwanie, analizowanie, monitorowanie i alertowanie na podstawie danych i zdarzeń logów z GCP.
Cloud Logging jest w pełni zintegrowany z innymi usługami GCP, oferując scentralizowane repozytorium dla logów ze wszystkich zasobów GCP. Automatycznie zbiera logi z różnych usług GCP takich jak App Engine, Compute Engine i Cloud Functions. Możesz również używać Cloud Logging dla aplikacji działających lokalnie lub w innych chmurach, korzystając z agenta Cloud Logging lub API.
Kluczowe funkcje:
Centralizacja danych logów: Agreguj dane logów z różnych źródeł, oferując całościowy widok na swoje aplikacje i infrastrukturę.
Zarządzanie logami w czasie rzeczywistym: Strumieniuj logi w czasie rzeczywistym dla natychmiastowej analizy i reakcji.
Potężna analiza danych: Użyj zaawansowanych możliwości filtrowania i wyszukiwania, aby szybko przeszukiwać duże ilości danych logów.
Integracja z BigQuery: Eksportuj logi do BigQuery w celu szczegółowej analizy i zapytań.
Metryki oparte na logach: Twórz niestandardowe metryki z danych logów do monitorowania i alertowania.
W zasadzie zlewy i metryki oparte na logach określają, gdzie log powinien być przechowywany.
Cloud Logging jest wysoce konfigurowalny, aby dostosować się do różnych potrzeb operacyjnych:
Log Buckets (Przechowywanie logów w sieci): Zdefiniuj zbiory w Cloud Logging, aby zarządzać retencją logów, zapewniając kontrolę nad tym, jak długo twoje wpisy logów są przechowywane.
Domyślnie tworzone są zbiory _Default
i _Required
(jeden rejestruje to, czego nie rejestruje drugi).
_Required to:
Okres przechowywania danych jest konfigurowany dla każdego koszyka i musi wynosić co najmniej 1 dzień. Jednak okres przechowywania _Required wynosi 400 dni i nie może być modyfikowany.
Zauważ, że koszyki logów są niewidoczne w Cloud Storage.
Skrzynki logów (Log router w sieci): Twórz skrzynki, aby eksportować wpisy logów do różnych miejsc docelowych, takich jak Pub/Sub, BigQuery lub Cloud Storage na podstawie filtru.
Domyślnie skrzynki dla koszyków _Default
i _Required
są tworzone:
_Required logging.googleapis.com/projects//locations/global/buckets/_Required LOG_ID("cloudaudit.googleapis.com/activity") OR LOG_ID("externalaudit.googleapis.com/activity") OR LOG_ID("cloudaudit.googleapis.com/system_event") OR LOG_ID("externalaudit.googleapis.com/system_event") OR LOG_ID("cloudaudit.googleapis.com/access_transparency") OR LOG_ID("externalaudit.googleapis.com/access_transparency") _Default logging.googleapis.com/projects//locations/global/buckets/_Default NOT LOG_ID("cloudaudit.googleapis.com/activity") AND NOT LOG_ID("externalaudit.googleapis.com/activity") AND NOT LOG_ID("cloudaudit.googleapis.com/system_event") AND NOT LOG_ID("externalaudit.googleapis.com/system_event") AND NOT LOG_ID("cloudaudit.googleapis.com/access_transparency") AND NOT LOG_ID("externalaudit.googleapis.com/access_transparency")
Domyślnie operacje Admin Write (znane również jako logi audytowe aktywności administratora) są logowane (zapisują metadane lub informacje konfiguracyjne) i nie mogą być wyłączone.
Następnie użytkownik może włączyć logi audytowe dostępu do danych, które obejmują Admin Read, Data Write i Data Read.
Więcej informacji na temat każdego typu logu można znaleźć w dokumentacji: https://cloud.google.com/iam/docs/audit-logging
Należy jednak zauważyć, że oznacza to, iż domyślnie działania GetIamPolicy
i inne działania odczytu nie są logowane. Tak więc, domyślnie atakujący próbujący zenumerować środowisko nie zostanie złapany, jeśli administrator systemu nie skonfigurował generowania większej liczby logów.
Aby włączyć więcej logów w konsoli, administrator systemu musi przejść do https://console.cloud.google.com/iam-admin/audit i je włączyć. Istnieją 2 różne opcje:
Domyślna konfiguracja: Możliwe jest utworzenie domyślnej konfiguracji i logowanie wszystkich logów Admin Read i/lub Data Read i/lub Data Write oraz dodanie zwolnionych podmiotów:
Wybierz usługi: Lub po prostu wybierz usługi, dla których chcesz generować logi oraz typ logów i zwolniony podmiot dla tej konkretnej usługi.
Należy również zauważyć, że domyślnie generowane są tylko te logi, ponieważ generowanie większej liczby logów zwiększy koszty.
Narzędzie wiersza poleceń gcloud
jest integralną częścią ekosystemu GCP, umożliwiając zarządzanie zasobami i usługami. Oto jak możesz użyć gcloud
, aby zarządzać konfiguracjami logowania i uzyskiwać dostęp do logów.
Przykład sprawdzenia logów cloudresourcemanager
(używanego do BF uprawnień): https://console.cloud.google.com/logs/query;query=protoPayload.serviceName%3D%22cloudresourcemanager.googleapis.com%22;summaryFields=:false:32:beginning;cursorTimestamp=2024-01-20T00:07:14.482809Z;startTime=2024-01-01T11:12:26.062Z;endTime=2024-02-02T17:12:26.062Z?authuser=2&project=digital-bonfire-410512
Nie ma logów testIamPermissions
:
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)