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)
From the docs: Azure Blob storage est la solution de stockage d'objets de Microsoft pour le cloud. Le stockage Blob est optimisé pour stocker d'énormes quantités de données non structurées. Les données non structurées sont des données qui ne respectent pas un modèle ou une définition de données particulière, telles que des données textuelles ou binaires.
Le stockage Blob offre trois types de ressources :
Le compte de stockage (nom unique)
Un conteneur dans le compte de stockage (dossier)
Un blob dans un conteneur
Blob storage |
|
Azure Data Lake Storage Gen2 |
|
Azure Files |
|
Queue storage |
|
Table storage |
|
Utilisez les principes Azure AD via les rôles RBAC pris en charge.
Clés d'accès : Utilisez les clés d'accès du compte de stockage. Cela fournit un accès complet au compte de stockage.
Signature d'accès partagé (SAS) : Temps limité et autorisations spécifiques.
Vous pouvez générer une URL SAS avec une clé d'accès (plus compliqué à détecter).
Comme la SAS est générée à partir de la clé d'accès, si elle est renouvelée, la SAS cesse de fonctionner.
Si "Autoriser l'accès public aux blobs" est activé (désactivé par défaut), il est possible de :
Donner un accès public pour lire les blobs (vous devez connaître le nom).
Lister les blobs du conteneur et les lire.
Si vous trouvez un stockage auquel vous pouvez vous connecter, vous pouvez utiliser l'outil Microsoft Azure Storage Explorer pour le faire.
From the docs: Une signature d'accès partagé (SAS) fournit un accès délégué sécurisé aux ressources de votre compte de stockage. Avec une SAS, vous avez un contrôle granulaire sur la façon dont un client peut accéder à vos données. Par exemple :
Quelles ressources le client peut accéder.
Quelles autorisations il a sur ces ressources.
Combien de temps la SAS est valide.
Une URL SAS ressemble à ceci : 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
Utilisez Storage Explorer pour accéder aux données ou python :
Vous pouvez sécuriser un jeton de signature d'accès partagé (SAS) pour accéder à un conteneur, un répertoire ou un blob en utilisant soit des identifiants Azure Active Directory (Azure AD), soit une clé de compte. Pour créer un SAS de délégation utilisateur, vous devez d'abord demander une clé de délégation utilisateur, que vous utilisez ensuite pour signer le SAS.
Un support est fourni pour un SAS de signature d'accès partagé de délégation utilisateur à la fois dans Azure Blob Storage et Azure Data Lake Storage Gen2. Cependant, il est important de noter que les politiques d'accès stockées ne sont pas compatibles avec un SAS de délégation utilisateur.
Notez que le SAS de délégation utilisateur est sécurisé avec des identifiants Azure AD au lieu des clés de compte de stockage. Cela empêche les clients/applications de stocker/récupérer des clés de stockage pour créer un SAS.
Un service SAS est sécurisé avec la clé de compte de stockage. Un service SAS délègue l'accès à une ressource dans un seul des services de stockage Azure : Blob storage, Queue storage, Table storage ou Azure Files. L'URI pour un SAS de niveau service se compose de l'URI de la ressource pour laquelle le SAS déléguera l'accès, suivi du jeton SAS.
Pour utiliser des identifiants Azure Active Directory (Azure AD) pour sécuriser un SAS pour un conteneur ou un blob, utilisez un SAS de délégation utilisateur.
Un account SAS est sécurisé avec l'une des clés de compte de stockage (il y en a 2). Un account SAS délègue l'accès aux ressources dans un ou plusieurs des services de stockage. Toutes les opérations disponibles via un service ou un SAS de délégation utilisateur sont également disponibles via un account SAS.
d'après la documentation : En créant un account SAS, vous pouvez :
Déléguer l'accès à des opérations de niveau service qui ne sont pas actuellement disponibles avec un SAS spécifique au service, telles que les opérations Get/Set Service Properties
et Get Service Stats
.
Déléguer l'accès à plus d'un service dans un compte de stockage à la fois. Par exemple, vous pouvez déléguer l'accès aux ressources à la fois dans Azure Blob Storage et Azure Files en utilisant un account SAS.
Déléguer l'accès aux opérations d'écriture et de suppression pour les conteneurs, les files d'attente, les tables et les partages de fichiers, qui ne sont pas disponibles avec un SAS spécifique à un objet.
Spécifier une adresse IP ou une plage d'adresses IP à partir de laquelle accepter les demandes.
Spécifier le protocole HTTP à partir duquel accepter les demandes (soit HTTPS ou HTTP/HTTPS).
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE) Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)