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)
Dieser Dienst ermöglicht es Benutzern, Protokolldaten und Ereignisse von GCP zu speichern, zu durchsuchen, zu analysieren, zu überwachen und Alarme auszulösen.
Cloud Logging ist vollständig in andere GCP-Dienste integriert und bietet ein zentrales Repository für Protokolle aller Ihrer GCP-Ressourcen. Es sammelt automatisch Protokolle von verschiedenen GCP-Diensten wie App Engine, Compute Engine und Cloud Functions. Sie können Cloud Logging auch für Anwendungen verwenden, die lokal oder in anderen Clouds ausgeführt werden, indem Sie den Cloud Logging-Agenten oder die API verwenden.
Hauptmerkmale:
Zentralisierung von Protokolldaten: Aggregieren Sie Protokolldaten aus verschiedenen Quellen, um einen ganzheitlichen Überblick über Ihre Anwendungen und Infrastruktur zu erhalten.
Echtzeit-Protokollverwaltung: Streamen Sie Protokolle in Echtzeit für sofortige Analyse und Reaktion.
Leistungsstarke Datenanalyse: Verwenden Sie erweiterte Filter- und Suchfunktionen, um große Mengen an Protokolldaten schnell zu durchsuchen.
Integration mit BigQuery: Exportieren Sie Protokolle nach BigQuery für detaillierte Analysen und Abfragen.
Protokollbasierte Metriken: Erstellen Sie benutzerdefinierte Metriken aus Ihren Protokolldaten zur Überwachung und Alarmierung.
Im Grunde genommen bestimmen die Senken und protokollbasierten Metriken, wo ein Protokoll gespeichert werden sollte.
Cloud Logging ist hochgradig konfigurierbar, um unterschiedlichen Betriebsbedürfnissen gerecht zu werden:
Protokoll-Buckets (Protokollspeicherung im Web): Definieren Sie Buckets in Cloud Logging, um Protokollaufbewahrung zu verwalten und Kontrolle darüber zu haben, wie lange Ihre Protokolleinträge aufbewahrt werden.
Standardmäßig werden die Buckets _Default
und _Required
erstellt (einer protokolliert, was der andere nicht tut).
_Required ist:
Aufbewahrungsfrist der Daten ist pro Bucket konfiguriert und muss mindestens 1 Tag betragen. Die Aufbewahrungsfrist von _Required beträgt 400 Tage und kann nicht geändert werden.
Beachten Sie, dass Log Buckets nicht in Cloud Storage sichtbar sind.
Log Sinks (Log-Router im Web): Erstellen Sie Sinks, um Logeinträge an verschiedene Ziele wie Pub/Sub, BigQuery oder Cloud Storage basierend auf einem Filter zu exportieren.
Standardmäßig werden Sinks für die Buckets _Default
und _Required
erstellt:
_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")
Standardmäßig werden Admin Write-Operationen (auch als Admin Activity-Auditprotokolle bezeichnet) protokolliert (Metadaten oder Konfigurationsinformationen schreiben) und können nicht deaktiviert werden.
Der Benutzer kann dann Data Access-Auditprotokolle aktivieren, dies sind Admin Read, Data Write und Data Write.
Weitere Informationen zu jedem Protokolltyp finden Sie in den Dokumenten: https://cloud.google.com/iam/docs/audit-logging
Beachten Sie jedoch, dass dies bedeutet, dass standardmäßig GetIamPolicy
-Aktionen und andere Leseaktionen nicht protokolliert werden. Ein Angreifer, der versucht, die Umgebung zu enumerieren, wird also standardmäßig nicht erfasst, wenn der Systemadministrator nicht konfiguriert hat, um mehr Protokolle zu generieren.
Um mehr Protokolle in der Konsole zu aktivieren, muss der Systemadministrator zu https://console.cloud.google.com/iam-admin/audit gehen und sie aktivieren. Es gibt 2 verschiedene Optionen:
Standardkonfiguration: Es ist möglich, eine Standardkonfiguration zu erstellen und alle Admin Read- und/oder Data Read- und/oder Data Write-Protokolle zu protokollieren und sogar befreite Prinzipale hinzuzufügen:
Wählen Sie die Dienste aus: Oder einfach die Dienste auswählen, für die Sie Protokolle generieren möchten, sowie die Art der Protokolle und den befreiten Prinzipal für diesen speziellen Dienst.
Beachten Sie auch, dass standardmäßig nur diese Protokolle generiert werden, da die Generierung weiterer Protokolle die Kosten erhöhen würde.
Das gcloud
-Befehlszeilenwerkzeug ist ein integraler Bestandteil des GCP-Ökosystems und ermöglicht es Ihnen, Ihre Ressourcen und Dienste zu verwalten. So können Sie gcloud
verwenden, um Ihre Protokollkonfigurationen und Zugriffsprotokolle zu verwalten.
Beispiel, um die Protokolle von cloudresourcemanager
(dem, der verwendet wird, um Berechtigungen zu BF): 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
Es gibt keine Protokolle von testIamPermissions
:
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)