Az - Blob Storage
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)
Aus den Dokumenten: Azure Blob Storage ist Microsofts Objekt Speicherlösung für die Cloud. Blob-Speicher ist optimiert für die Speicherung massiver Mengen unstrukturierter Daten. Unstrukturierte Daten sind Daten, die sich nicht an ein bestimmtes Datenmodell oder eine Definition halten, wie z.B. Text- oder Binärdaten.
Blob-Speicher bietet drei Arten von Ressourcen:
Das Speicherkonto (einzigartiger Name)
Ein Container im Speicherkonto (Ordner)
Ein Blob in einem Container
Blob-Speicher |
|
Azure Data Lake Storage Gen2 |
|
Azure Files |
|
Queue-Speicher |
|
Tabellen-Speicher |
|
Verwenden Sie Azure AD-Prinzipien über RBAC-Rollen.
Zugriffsschlüssel: Verwenden Sie die Zugriffsschlüssel des Speicherkontos. Dies bietet vollen Zugriff auf das Speicherkonto.
Shared Access Signature (SAS): Zeitlich begrenzt und spezifische Berechtigungen.
Sie können eine SAS-URL mit einem Zugriffsschlüssel generieren (schwieriger zu erkennen).
Da die SAS aus dem Zugriffsschlüssel generiert wird, funktioniert die SAS nicht mehr, wenn der Schlüssel erneuert wird.
Wenn "Öffentlichen Zugriff auf Blobs erlauben" aktiviert ist (standardmäßig deaktiviert), ist es möglich:
Öffentlichen Zugriff zum Lesen von Blobs zu gewähren (Sie müssen den Namen kennen).
Container-Blobs aufzulisten und sie zu lesen.
Wenn Sie einen Speicher finden, zu dem Sie eine Verbindung herstellen können, können Sie das Tool Microsoft Azure Storage Explorer verwenden.
Aus den Dokumenten: Eine Shared Access Signature (SAS) bietet sicheren delegierten Zugriff auf Ressourcen in Ihrem Speicherkonto. Mit einer SAS haben Sie granularen Zugriff darauf, wie ein Client auf Ihre Daten zugreifen kann. Zum Beispiel:
Auf welche Ressourcen der Client zugreifen kann.
Welche Berechtigungen er für diese Ressourcen hat.
Wie lange die SAS gültig ist.
Eine SAS-URL sieht so aus: https://<container_name>.blob.core.windows.net/newcontainer?sp=r&st=2021-09-26T18:15:21Z&se=2021-10-27T02:14:21Z&spr=https&sv=2021-07-08&sr=c&sig=7S%2BZySOgy4aA3Dk0V1cJyTSIf1cW%2Fu3WFkhHV32%2B4PE%3D
Verwenden Sie Storage Explorer, um auf die Daten zuzugreifen oder Python:
Sie können ein Shared Access Signature (SAS)-Token für den Zugriff auf einen Container, ein Verzeichnis oder ein Blob sichern, indem Sie entweder Azure Active Directory (Azure AD) Anmeldeinformationen oder einen Kontoschlüssel verwenden. Um eine Benutzerdelegation SAS zu erstellen, müssen Sie zunächst einen Benutzerdelegationsschlüssel anfordern, den Sie dann verwenden, um die SAS zu signieren.
Unterstützung wird für eine User Delegation Shared Access Signature (SAS) sowohl in Azure Blob Storage als auch in Azure Data Lake Storage Gen2 bereitgestellt. Es ist jedoch wichtig zu beachten, dass Stored Access Policies nicht mit einer Benutzerdelegation SAS kompatibel sind.
Beachten Sie, dass die Benutzerdelegation SAS mit Azure AD-Anmeldeinformationen anstelle von Speicherkontenschlüsseln gesichert ist. Dies verhindert, dass Clients/Anwendungen Speicherschlüssel speichern/abrufen, um SAS zu erstellen.
Eine Service SAS ist mit dem Speicherkontenschlüssel gesichert. Eine Service SAS delegiert den Zugriff auf eine Ressource nur in einem der Azure Storage-Dienste: Blob-Speicher, Warteschlangen-Speicher, Tabellen-Speicher oder Azure Files. Die URI für eine servicelevel SAS besteht aus der URI zur Ressource, für die die SAS den Zugriff delegiert, gefolgt vom SAS-Token.
Um Azure Active Directory (Azure AD)-Anmeldeinformationen zu verwenden, um eine SAS für einen Container oder ein Blob zu sichern, verwenden Sie eine Benutzerdelegation SAS.
Eine Konto SAS ist mit einem der Speicherkontenschlüssel (es gibt 2) gesichert. Eine Konto SAS delegiert den Zugriff auf Ressourcen in einem oder mehreren der Speicherdienste. Alle Operationen, die über eine Service- oder Benutzerdelegation SAS verfügbar sind, sind auch über eine Konto SAS verfügbar.
from the docs: Durch die Erstellung einer Konto SAS können Sie:
Den Zugriff auf servicelevel Operationen delegieren, die derzeit nicht mit einer service-spezifischen SAS verfügbar sind, wie die Get/Set Service Properties
und Get Service Stats
Operationen.
Den Zugriff auf mehr als einen Dienst in einem Speicherkonto gleichzeitig delegieren. Zum Beispiel können Sie den Zugriff auf Ressourcen sowohl in Azure Blob Storage als auch in Azure Files mit einer Konto SAS delegieren.
Den Zugriff auf Schreib- und Löschoperationen für Container, Warteschlangen, Tabellen und Dateifreigaben delegieren, die mit einer objekt-spezifischen SAS nicht verfügbar sind.
Eine IP-Adresse oder einen Bereich von IP-Adressen angeben, von denen Anfragen akzeptiert werden.
Das HTTP-Protokoll angeben, von dem Anfragen akzeptiert werden (entweder HTTPS oder HTTP/HTTPS).
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)