GCP - Storage 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)
Google Cloud Platform (GCP) Storage ist eine cloudbasierte Speicherlösung, die hochgradig haltbaren und verfügbaren Objektspeicher für unstrukturierte Daten bietet. Es bietet verschiedene Speicherklassen basierend auf Leistung, Verfügbarkeit und Kosten, einschließlich Standard, Nearline, Coldline und Archive. GCP Storage bietet auch erweiterte Funktionen wie Lebenszyklusrichtlinien, Versionierung und Zugriffskontrolle, um Daten effektiv zu verwalten und zu sichern.
Der Bucket kann in einer Region, in 2 Regionen oder Multi-Region (Standard) gespeichert werden.
Standard Storage: Dies ist die Standard-Speicheroption, die hohe Leistung und niedrige Latenz für häufig abgerufene Daten bietet. Es eignet sich für eine Vielzahl von Anwendungsfällen, einschließlich der Bereitstellung von Website-Inhalten, Streaming-Medien und Hosting von Datenanalyse-Pipelines.
Nearline Storage: Diese Speicherklasse bietet niedrigere Speicherkosten und etwas höhere Zugriffskosten als Standard Storage. Es ist für selten abgerufene Daten optimiert, mit einer Mindestspeicherdauer von 30 Tagen. Es ist ideal für Backup- und Archivierungszwecke.
Coldline Storage: Diese Speicherklasse ist für langfristige Speicherung von selten abgerufenen Daten optimiert, mit einer Mindestspeicherdauer von 90 Tagen. Es bietet niedrigere Speicherkosten als Nearline Storage, jedoch mit höheren Zugriffskosten.
Archive Storage: Diese Speicherklasse ist für kalte Daten konzipiert, die sehr selten abgerufen werden, mit einer Mindestspeicherdauer von 365 Tagen. Es bietet die niedrigsten Speicherkosten aller GCP-Speicheroptionen, jedoch mit den höchsten Zugriffskosten. Es eignet sich für die langfristige Aufbewahrung von Daten, die aus Compliance- oder regulatorischen Gründen gespeichert werden müssen.
Autoclass: Wenn Sie nicht wissen, wie oft Sie auf die Daten zugreifen werden, können Sie Autoclass auswählen, und GCP wird automatisch den Speichertyp für Sie ändern, um Kosten zu minimieren.
Standardmäßig wird empfohlen, den Zugriff über IAM zu steuern, aber es ist auch möglich, die Verwendung von ACLs zu aktivieren. Wenn Sie sich entscheiden, nur IAM (Standard) zu verwenden und 90 Tage vergehen, können Sie ACLs für den Bucket nicht aktivieren.
Es ist möglich, die Versionierung zu aktivieren, dies wird alte Versionen der Datei im Bucket speichern. Es ist möglich, die Anzahl der Versionen, die Sie behalten möchten, und sogar wie lange Sie nicht aktuelle Versionen (alte Versionen) aufbewahren möchten, zu konfigurieren. Empfohlen werden 7 Tage für den Standardtyp.
Die Metadaten einer nicht aktuellen Version werden aufbewahrt. Darüber hinaus werden ACLs von nicht aktuellen Versionen ebenfalls aufbewahrt, sodass ältere Versionen möglicherweise andere ACLs als die aktuelle Version haben.
Erfahren Sie mehr in den Docs.
Geben Sie an, wie lange Sie die Löschung von Objekten im Bucket verbieten möchten (sehr nützlich für Compliance, mindestens). Nur eine von Versionierung oder Aufbewahrungsrichtlinie kann gleichzeitig aktiviert werden.
Standardmäßig werden Objekte mit von Google verwalteten Schlüsseln verschlüsselt, aber Sie können auch einen Schlüssel von KMS verwenden.
Es ist möglich, externen Benutzern (angemeldet bei GCP oder nicht) Zugriff auf den Inhalt der Buckets zu gewähren. Standardmäßig wird beim Erstellen eines Buckets die Option, den Bucket öffentlich zugänglich zu machen, deaktiviert, kann jedoch mit ausreichenden Berechtigungen geändert werden.
Das Format einer URL, um auf einen Bucket zuzugreifen, ist https://storage.googleapis.com/<bucket-name>
oder https://<bucket_name>.storage.googleapis.com
(beide sind gültig).
Ein HMAC-Schlüssel ist eine Art von Anmeldeinformationen und kann einem Dienstkonto oder einem Benutzerkonto in Cloud Storage zugeordnet werden. Sie verwenden einen HMAC-Schlüssel, um Signaturen zu erstellen, die dann in Anfragen an Cloud Storage enthalten sind. Signaturen zeigen, dass eine bestimmte Anfrage vom Benutzer oder Dienstkonto autorisiert ist.
HMAC-Schlüssel haben zwei Hauptbestandteile, eine Zugriffs-ID und ein Geheimnis.
Access ID: Eine alphanumerische Zeichenfolge, die mit einem bestimmten Dienst- oder Benutzerkonto verknüpft ist. Wenn sie mit einem Dienstkonto verknüpft ist, hat die Zeichenfolge eine Länge von 61 Zeichen, und wenn sie mit einem Benutzerkonto verknüpft ist, hat die Zeichenfolge eine Länge von 24 Zeichen. Folgendes zeigt ein Beispiel für eine Zugriffs-ID:
GOOGTS7C7FUP3AIRVJTE2BCDKINBTES3HC2GY5CBFJDCQ2SYHV6A6XXVTJFSA
Secret: Eine 40-Zeichen lange, Base-64-kodierte Zeichenfolge, die mit einer bestimmten Zugriffs-ID verknüpft ist. Ein Geheimnis ist ein vorab geteilter Schlüssel, den nur Sie und Cloud Storage kennen. Sie verwenden Ihr Geheimnis, um Signaturen als Teil des Authentifizierungsprozesses zu erstellen. Folgendes zeigt ein Beispiel für ein Geheimnis:
bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ
Sowohl die Zugriffs-ID als auch das Geheimnis identifizieren eindeutig einen HMAC-Schlüssel, aber das Geheimnis ist viel sensiblere Informationen, da es verwendet wird, um Signaturen zu erstellen.
Wenn Sie einen Berechtigungsverweigerungsfehler beim Auflisten von Buckets erhalten, haben Sie möglicherweise dennoch Zugriff auf den Inhalt. Jetzt, da Sie über die Namenskonvention der Buckets Bescheid wissen, können Sie eine Liste möglicher Namen erstellen und versuchen, auf sie zuzugreifen:
Mit den Berechtigungen storage.objects.list
und storage.objects.get
sollten Sie in der Lage sein, alle Ordner und Dateien aus dem Bucket aufzulisten, um sie herunterzuladen. Sie können dies mit diesem Python-Skript erreichen:
In der folgenden Seite kannst du überprüfen, wie man Speicherberechtigungen missbrauchen kann, um Privilegien zu eskalieren:
GCP - Storage PrivescLerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)