GCP - Logging Enum
Podstawowe informacje
Ta usługa pozwala użytkownikom przechowywać, wyszukiwać, analizować, monitorować i powiadamiać o danych i zdarzeniach logów z GCP.
Cloud Logging jest w pełni zintegrowany z innymi usługami GCP, zapewniają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 swoich aplikacji i infrastruktury.
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 powiadamiania.
Przepływ logów
Zasadniczo zlewy i metryki oparte na logach określają, gdzie log powinien być przechowywany.
Konfiguracje wspierane przez GCP Logging
Cloud Logging jest wysoce konfigurowalny, aby dostosować się do różnych potrzeb operacyjnych:
Kosze logów (Przechowywanie logów w sieci): Zdefiniuj kosze 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ą kosze
_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 kosze 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 koszy
_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ślne logi
Domyślnie operacje Admin Write (nazywane również logami audytu 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 audytu dostępu do danych, które obejmują Admin Read, Data Write i Data Write.
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.
Enumeracja
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
:
Post Exploitation
GCP - Logging Post ExploitationPersistence
GCP - Logging PersistenceReferences
Last updated