From d4e0db2c5dcfc452e8e463abb2d6c54d684cf439 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 13 Jan 2026 15:13:04 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/azure-security/az-services/az-stor --- .../azure-security/az-services/az-storage.md | 226 ++++++++++-------- 1 file changed, 130 insertions(+), 96 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-services/az-storage.md b/src/pentesting-cloud/azure-security/az-services/az-storage.md index 2ad03ce16..d2ab1fd1c 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-storage.md +++ b/src/pentesting-cloud/azure-security/az-services/az-storage.md @@ -1,71 +1,91 @@ -# Az - Comptes de stockage et blobs +# Az - Storage Accounts & Blobs {{#include ../../../banners/hacktricks-training.md}} ## Informations de base -Les comptes de stockage Azure sont des services fondamentaux dans Microsoft Azure qui fournissent un **stockage cloud évolutif, sécurisé et hautement disponible pour divers types de données**, y compris les blobs (objets binaires volumineux), les fichiers, les files d'attente et les tables. Ils servent de conteneurs qui regroupent ces différents services de stockage sous un même espace de noms pour une gestion facile. +Azure Storage Accounts sont des services fondamentaux dans Microsoft Azure qui fournissent un stockage cloud évolutif, sécurisé et hautement disponible pour différents types de données, y compris blobs (binary large objects), files, queues et tables. Ils servent de conteneurs regroupant ces différents services de stockage sous un seul namespace pour une gestion simplifiée. -**Options de configuration principales** : +**Principales options de configuration**: -- Chaque compte de stockage doit avoir un **nom unique dans tous Azure**. -- Chaque compte de stockage est déployé dans une **région** ou dans une zone étendue Azure. -- Il est possible de sélectionner la version **premium** du compte de stockage pour de meilleures performances. -- Il est possible de choisir parmi **4 types de redondance pour se protéger** contre les pannes de rack, de disque et de centre de données. +- Every storage account must have a **uniq name across all Azure**. +- Every storage account is deployed in a **region** or in an Azure extended zone +- It's possible to select the **premium** version of the storage account for better performance +- It's possible to select among **4 types of redundancy to protect** against rack, drive and datacenter **failures**. -**Options de configuration de sécurité** : +**Options de configuration de sécurité**: -- **Exiger un transfert sécurisé pour les opérations de l'API REST** : Exiger TLS dans toute communication avec le stockage. -- **Permettre l'accès anonyme sur des conteneurs individuels** : Sinon, il ne sera pas possible d'activer l'accès anonyme à l'avenir. -- **Activer l'accès par clé de compte de stockage** : Sinon, l'accès avec des clés partagées sera interdit. -- **Version TLS minimale**. -- **Portée autorisée pour les opérations de copie** : Autoriser depuis n'importe quel compte de stockage, depuis n'importe quel compte de stockage du même locataire Entra ou depuis un compte de stockage avec des points de terminaison privés dans le même réseau virtuel. +- **Require secure transfer for REST API operations**: Exiger TLS pour toute communication avec le storage +- **Allows enabling anonymous access on individual containers**: Si non, il ne sera pas possible d'activer l'accès anonyme ultérieurement +- **Enable storage account key access**: Sans cela, l'accès via Shared Keys sera interdit +- **Minimum TLS version** +- **Permitted scope for copy operations**: Autoriser depuis n'importe quel storage account, depuis un storage account du même Entra tenant ou depuis un storage account avec private endpoints dans le même virtual network. -**Options de stockage de blobs** : +**Blob Storage options**: -- **Autoriser la réplication inter-locataires**. -- **Niveau d'accès** : Chaud (données fréquemment accessibles), Froid et Très Froid (données rarement accessibles). +- **Allow cross-tenant replication** +- **Access tier**: Hot (données fréquemment consultées), Cool et Cold (données rarement consultées) -**Options de mise en réseau** : +**Options réseau**: -- **Accès réseau** : -- Autoriser depuis tous les réseaux. -- Autoriser depuis des réseaux virtuels et des adresses IP sélectionnés. -- Désactiver l'accès public et utiliser l'accès privé. -- **Points de terminaison privés** : Permet une connexion privée au compte de stockage depuis un réseau virtuel. +- **Network access**: +- Allow from all networks +- Allow from selected virtual networks and IP addresses +- Disable public access and use private access +- **Private endpoints**: Permet une connexion privée au storage account depuis un virtual network -**Options de protection des données** : +**Options de protection des données**: -- **Restauration à un instant donné pour les conteneurs** : Permet de restaurer les conteneurs à un état antérieur. -- Cela nécessite que la version, le flux de modifications et la suppression douce des blobs soient activés. -- **Activer la suppression douce pour les blobs** : Cela active une période de conservation en jours pour les blobs supprimés (même écrasés). -- **Activer la suppression douce pour les conteneurs** : Cela active une période de conservation en jours pour les conteneurs supprimés. -- **Activer la suppression douce pour les partages de fichiers** : Cela active une période de conservation en jours pour les partages de fichiers supprimés. -- **Activer la version pour les blobs** : Maintenir les versions précédentes de vos blobs. -- **Activer le flux de modifications des blobs** : Conserver des journaux des créations, modifications et suppressions des blobs. -- **Activer le support d'immuabilité au niveau de la version** : Vous permet de définir une politique de conservation basée sur le temps au niveau du compte qui s'appliquera à toutes les versions de blobs. -- Le support d'immuabilité au niveau de la version et la restauration à un instant donné pour les conteneurs ne peuvent pas être activés simultanément. +- **Point-in-time restore for containers**: Permet de restaurer des containers à un état antérieur +- It requires versioning, change feed, and blob soft delete to be enabled. +- **Enable soft delete for blobs**: Active une période de rétention en jours pour les blobs supprimés (même écrasés) +- **Enable soft delete for containers**: Active une période de rétention en jours pour les containers supprimés +- **Enable soft delete for file shares**: Active une période de rétention en jours pour les file shares supprimés +- **Enable versioning for blobs**: Conserver les versions précédentes de vos blobs +- **Enable blob change feed**: Conserver des logs des créations, modifications et suppressions de blobs +- **Enable version-level immutability support**: Permet de définir une politique de rétention temporelle au niveau du compte qui s'appliquera à toutes les versions de blob. +- Version-level immutability support and point-in-time restore for containers cannot be enabled simultaneously. -**Options de configuration de chiffrement** : +**Options de configuration du chiffrement**: -- **Type de chiffrement** : Il est possible d'utiliser des clés gérées par Microsoft (MMK) ou des clés gérées par le client (CMK). -- **Activer le chiffrement de l'infrastructure** : Permet de chiffrer les données deux fois "pour plus de sécurité". +- **Encryption type**: Il est possible d'utiliser des clés gérées par Microsoft (MMK) ou des clés gérées par le client (CMK) +- **Enable infrastructure encryption**: Permet de doubler le chiffrement des données "for more security" ### Points de terminaison de stockage -
Service de stockagePoint de terminaison
Stockage de blobshttps://.blob.core.windows.net

https://.blob.core.windows.net/?restype=container&comp=list
Stockage de Data Lakehttps://.dfs.core.windows.net
Azure Fileshttps://.file.core.windows.net
Stockage de files d'attentehttps://.queue.core.windows.net
Stockage de tableshttps://.table.core.windows.net
+
Service de stockagePoint de terminaison
Blob storagehttps://.blob.core.windows.net

https://.blob.core.windows.net/?restype=container&comp=list
Data Lake Storagehttps://.dfs.core.windows.net
Azure Fileshttps://.file.core.windows.net
Queue storagehttps://.queue.core.windows.net
Table storagehttps://.table.core.windows.net
### Exposition publique -Si "Autoriser l'accès public aux blobs" est **activé** (désactivé par défaut), lors de la création d'un conteneur, il est possible de : +If "Allow Blob public access" is **enabled** (disabled by default), when creating a container it's possible to: -- Donner **un accès public pour lire les blobs** (vous devez connaître le nom). -- **Lister les blobs du conteneur** et **les lire**. -- Le rendre entièrement **privé**. +- Give **public access to read blobs** (you need to know the name). +- **List container blobs** and **read** them. +- Make it fully **private**
-### Connexion au stockage +#### Audit de l'exposition anonyme des blobs + +- **Locate storage accounts** that can expose data: `az storage account list | jq -r '.[] | select(.properties.allowBlobPublicAccess==true) | .name'`. If `allowBlobPublicAccess` is `false` you cannot turn containers public. +- **Inspect risky accounts** to confirm the flag and other weak settings: `az storage account show --name --query '{allow:properties.allowBlobPublicAccess, minTls:properties.minimumTlsVersion}'`. +- **Enumerate container-level exposure** where the flag is enabled: +```bash +az storage container list --account-name \ +--query '[].{name:name, access:properties.publicAccess}' +``` +- `"Blob"`: lectures anonymes autorisées **uniquement lorsque le nom du blob est connu** (pas d'énumération). +- `"Container"`: **liste + lecture** anonymes de tous les blobs. +- `null`: privé; authentification requise. +- **Prouver l'accès** sans identifiants: +- Si `publicAccess` est `Container`, l'énumération anonyme fonctionne: `curl "https://.blob.core.windows.net/?restype=container&comp=list"`. +- Pour `Blob` et `Container`, le téléchargement anonyme du blob fonctionne lorsque le nom est connu: +```bash +az storage blob download -c -n --account-name --file /dev/stdout +# or via raw HTTP +curl "https://.blob.core.windows.net//" +``` +### Se connecter au stockage Si vous trouvez un **stockage** auquel vous pouvez vous connecter, vous pouvez utiliser l'outil [**Microsoft Azure Storage Explorer**](https://azure.microsoft.com/es-es/products/storage/storage-explorer/) pour le faire. @@ -73,25 +93,25 @@ Si vous trouvez un **stockage** auquel vous pouvez vous connecter, vous pouvez u ### RBAC -Il est possible d'utiliser des identifiants Entra ID avec des **rôles RBAC** pour accéder aux comptes de stockage et c'est la méthode recommandée. +Il est possible d'utiliser des principals Entra ID avec des **RBAC roles** pour accéder aux comptes de stockage, et c'est la méthode recommandée. ### Clés d'accès -Les comptes de stockage ont des clés d'accès qui peuvent être utilisées pour y accéder. Cela fournit un **accès complet au compte de stockage.** +Les comptes de stockage disposent de clés d'accès qui peuvent être utilisées pour y accéder. Cela fournit un accès **complet au compte de stockage.**
-### **Clés partagées et clés partagées légères** +### **Shared Keys & Lite Shared Keys** -Il est possible de [**générer des clés partagées**](https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key) signées avec les clés d'accès pour autoriser l'accès à certaines ressources via une URL signée. +Il est possible de [**générer Shared Keys**](https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key) signées avec les clés d'accès pour autoriser l'accès à certaines ressources via une URL signée. > [!NOTE] -> Notez que la partie `CanonicalizedResource` représente la ressource des services de stockage (URI). Et si une partie de l'URL est encodée, elle doit également être encodée à l'intérieur de `CanonicalizedResource`. +> Notez que la partie `CanonicalizedResource` représente la ressource du service de stockage (URI). Et si une partie de l'URL est encodée, elle doit également être encodée à l'intérieur de `CanonicalizedResource`. > [!NOTE] -> Ceci est **utilisé par défaut par `az` cli** pour authentifier les demandes. Pour qu'il utilise les identifiants de l'identifiant Entra, indiquez le paramètre `--auth-mode login`. +> Ceci est **utilisé par défaut par la `az` cli** pour authentifier les requêtes. Pour qu'il utilise les identifiants du principal Entra ID, indiquez le paramètre `--auth-mode login`. -- Il est possible de générer une **clé partagée pour les services de blobs, de files d'attente et de fichiers** en signant les informations suivantes : +- Il est possible de générer une **shared key pour les services blob, queue et file** en signant les informations suivantes: ```bash StringToSign = VERB + "\n" + Content-Encoding + "\n" + @@ -108,7 +128,7 @@ Range + "\n" + CanonicalizedHeaders + CanonicalizedResource; ``` -- Il est possible de générer une **clé partagée pour les services de table** en signant les informations suivantes : +- Il est possible de générer une **shared key for table services** en signant les informations suivantes : ```bash StringToSign = VERB + "\n" + Content-MD5 + "\n" + @@ -116,7 +136,7 @@ Content-Type + "\n" + Date + "\n" + CanonicalizedResource; ``` -- Il est possible de générer une **clé partagée légère pour les services blob, queue et file** en signant les informations suivantes : +- Il est possible de générer une **lite shared key for blob, queue and file services** en signant les informations suivantes : ```bash StringToSign = VERB + "\n" + Content-MD5 + "\n" + @@ -125,12 +145,12 @@ Date + "\n" + CanonicalizedHeaders + CanonicalizedResource; ``` -- Il est possible de générer une **lite shared key for table services** en signant les informations suivantes : +- Il est possible de générer une **clé partagée lite pour table services** en signant les informations suivantes : ```bash StringToSign = Date + "\n" CanonicalizedResource ``` -Ensuite, pour utiliser la clé, cela peut se faire dans l'en-tête Authorization en suivant la syntaxe : +Ensuite, pour utiliser la clé, on peut la placer dans l'en-tête Authorization en suivant la syntaxe : ```bash Authorization="[SharedKey|SharedKeyLite] :" #e.g. @@ -142,75 +162,78 @@ x-ms-date: Fri, 26 Jun 2015 23:39:12 GMT Authorization: SharedKey myaccount:ctzMq410TV3wS7upTBcunJTDLEJwMAZuFPfr0mrrA08= Content-Length: 0 ``` -### **Signature d'accès partagé** (SAS) +### **Signature d'accès partagée** (SAS) -Les signatures d'accès partagé (SAS) sont des URL sécurisées et temporisées qui **accordent des autorisations spécifiques pour accéder aux ressources** dans un compte de stockage Azure sans exposer les clés d'accès du compte. Alors que les clés d'accès fournissent un accès administratif complet à toutes les ressources, le SAS permet un contrôle granulaire en spécifiant des autorisations (comme lire ou écrire) et en définissant une durée d'expiration. +Les Shared Access Signatures (SAS) sont des URLs sécurisées et limitées dans le temps qui **accordent des autorisations spécifiques pour accéder aux ressources** d'un compte Azure Storage sans exposer les clés d'accès du compte. Alors que les clés d'accès fournissent un accès administratif complet à toutes les ressources, les SAS permettent un contrôle granulaire en spécifiant des permissions (comme read ou write) et en définissant une date d'expiration. #### Types de SAS -- **SAS de délégation utilisateur** : Cela est créé à partir d'un **principal Entra ID** qui signera le SAS et délèguera les autorisations de l'utilisateur au SAS. Il ne peut être utilisé qu'avec **blob et stockage de lac de données** ([docs](https://learn.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas)). Il est possible de **révoquer** tous les SAS délégués par l'utilisateur générés. -- Même s'il est possible de générer un SAS de délégation avec "plus" d'autorisations que celles dont dispose l'utilisateur. Cependant, si le principal ne les a pas, cela ne fonctionnera pas (pas de privesc). -- **SAS de service** : Cela est signé en utilisant l'une des **clés d'accès** du compte de stockage. Il peut être utilisé pour accorder l'accès à des ressources spécifiques dans un seul service de stockage. Si la clé est renouvelée, le SAS cessera de fonctionner. -- **SAS de compte** : Il est également signé avec l'une des **clés d'accès** du compte de stockage. Il accorde l'accès aux ressources à travers les services d'un compte de stockage (Blob, Queue, Table, File) et peut inclure des opérations au niveau du service. +- **User delegation SAS** : Créé à partir d'un **Entra ID principal** qui signera le SAS et délèguera les permissions de l'utilisateur au SAS. Il ne peut être utilisé qu'avec **blob and data lake storage** ([docs](https://learn.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas)). Il est possible de **révoquer** tous les SAS délégués utilisateur générés. +- Même s'il est possible de générer un delegation SAS avec des permissions "supplémentaires" par rapport à celles de l'utilisateur, si le principal ne les possède pas, cela ne fonctionnera pas (no privesc). +- **Service SAS** : Signé en utilisant une des **access keys** du compte de stockage. Il peut être utilisé pour accorder l'accès à des ressources spécifiques dans un seul service de stockage. Si la clé est renouvelée, le SAS cessera de fonctionner. +- **Account SAS** : Également signé avec une des **access keys** du compte de stockage. Il accorde l'accès aux ressources à travers les services d'un compte de stockage (Blob, Queue, Table, File) et peut inclure des opérations au niveau service. -Une URL SAS signée par une **clé d'accès** ressemble à ceci : +Une URL SAS signée par une **access key** ressemble à ceci : - `https://.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` -Une URL SAS signée en tant que **délégation utilisateur** ressemble à ceci : +Une URL SAS signée en tant que **user delegation** ressemble à ceci : - `https://.blob.core.windows.net/testing-container?sp=r&st=2024-11-22T15:07:40Z&se=2024-11-22T23:07:40Z&skoid=d77c71a1-96e7-483d-bd51-bd753aa66e62&sktid=fdd066e1-ee37-49bc-b08f-d0e152119b04&skt=2024-11-22T15:07:40Z&ske=2024-11-22T23:07:40Z&sks=b&skv=2022-11-02&spr=https&sv=2022-11-02&sr=c&sig=7s5dJyeE6klUNRulUj9TNL0tMj2K7mtxyRc97xbYDqs%3D` -Notez quelques **params http** : +Remarquez certains **paramètres HTTP** : -- Le paramètre **`se`** indique la **date d'expiration** du SAS -- Le paramètre **`sp`** indique les **autorisations** du SAS +- Le **paramètre `se`** indique la **date d'expiration** du SAS +- Le **paramètre `sp`** indique les **permissions** du SAS - Le **`sig`** est la **signature** validant le SAS -#### Autorisations SAS +#### Permissions SAS -Lors de la génération d'un SAS, il est nécessaire d'indiquer les autorisations qu'il doit accorder. Selon l'objet sur lequel le SAS est généré, différentes autorisations peuvent être incluses. Par exemple : +Lors de la génération d'un SAS, il est nécessaire d'indiquer les permissions qu'il doit accorder. Selon l'objet sur lequel le SAS est généré, différentes permissions peuvent être incluses. Par exemple : -- (a)jouter, (c)réer, (d)élete, (e)xécuter, (f)iltrer_par_tags, (i)ndiquer_politique_d'immuabilité, (l)ister, (m)ouvoir, (r)ead, (t)ag, (w)riter, (x)supprimer_version_précédente, (y)suppression_permanente +- (a)dd, (c)reate, (d)elete, (e)xecute, (f)ilter_by_tags, (i)set_immutability_policy, (l)ist, (m)ove, (r)ead, (t)ag, (w)rite, (x)delete_previous_version, (y)permanent_delete -## Support SFTP pour Azure Blob Storage +## Prise en charge de SFTP pour Azure Blob Storage -Azure Blob Storage prend désormais en charge le protocole de transfert de fichiers SSH (SFTP), permettant un transfert et une gestion de fichiers sécurisés directement vers Blob Storage sans nécessiter de solutions personnalisées ou de produits tiers. +Azure Blob Storage prend désormais en charge le protocole SSH File Transfer Protocol (SFTP), permettant le transfert et la gestion sécurisés de fichiers directement vers Blob Storage sans nécessiter de solutions personnalisées ou de produits tiers. -### Caractéristiques clés +### Principales fonctionnalités -- Support de protocole : SFTP fonctionne avec des comptes de stockage Blob configurés avec un espace de noms hiérarchique (HNS). Cela organise les blobs en répertoires et sous-répertoires pour une navigation plus facile. -- Sécurité : SFTP utilise des identités d'utilisateur local pour l'authentification et ne s'intègre pas avec RBAC ou ABAC. Chaque utilisateur local peut s'authentifier via : -- Mots de passe générés par Azure -- Paires de clés SSH publiques-privées -- Autorisations granulaires : Des autorisations telles que Lire, Écrire, Supprimer et Lister peuvent être attribuées aux utilisateurs locaux pour jusqu'à 100 conteneurs. -- Considérations réseau : Les connexions SFTP se font par le port 22. Azure prend en charge des configurations réseau telles que des pare-feu, des points de terminaison privés ou des réseaux virtuels pour sécuriser le trafic SFTP. +- Protocol Support : SFTP fonctionne avec les comptes Blob Storage configurés avec un espace de noms hiérarchique (HNS). Cela organise les blobs en répertoires et sous-répertoires pour une navigation facilitée. +- Security : SFTP utilise des identités d'utilisateurs locaux pour l'authentification et ne s'intègre pas à RBAC ou ABAC. Chaque utilisateur local peut s'authentifier via : + - mots de passe générés par Azure + - paires de clés SSH publique/privée +- Granular Permissions : Des permissions telles que Read, Write, Delete et List peuvent être attribuées aux utilisateurs locaux pour jusqu'à 100 containers. +- Networking Considerations : Les connexions SFTP se font via le port 22. Azure prend en charge des configurations réseau comme les firewalls, les private endpoints ou les virtual networks pour sécuriser le trafic SFTP. -### Exigences de configuration +### Exigences d'installation -- Espace de noms hiérarchique : HNS doit être activé lors de la création du compte de stockage. -- Chiffrement pris en charge : Nécessite des algorithmes cryptographiques approuvés par le cycle de développement de sécurité de Microsoft (SDL) (par exemple, rsa-sha2-256, ecdsa-sha2-nistp256). -- Configuration SFTP : -- Activer SFTP sur le compte de stockage. -- Créer des identités d'utilisateur local avec les autorisations appropriées. -- Configurer des répertoires personnels pour les utilisateurs afin de définir leur emplacement de départ dans le conteneur. +- Hierarchical Namespace : HNS doit être activé lors de la création du compte de stockage. +- Supported Encryption : Nécessite des algorithmes cryptographiques approuvés par le Microsoft Security Development Lifecycle (SDL) (par exemple, rsa-sha2-256, ecdsa-sha2-nistp256). +- SFTP Configuration : + - Activer SFTP sur le compte de stockage. + - Créer des identités d'utilisateurs locaux avec les permissions appropriées. + - Configurer des home directories pour les utilisateurs afin de définir leur emplacement de départ dans le container. -### Autorisations +### Permissions -| Autorisation | Symbole | Description | +| Permission | Symbol | Description | | ---------------------- | ------ | ------------------------------------ | -| **Lire** | `r` | Lire le contenu du fichier. | -| **Écrire** | `w` | Télécharger des fichiers et créer des répertoires. | -| **Lister** | `l` | Lister le contenu des répertoires. | -| **Supprimer** | `d` | Supprimer des fichiers ou des répertoires. | -| **Créer** | `c` | Créer des fichiers ou des répertoires. | -| **Modifier la propriété** | `o` | Changer l'utilisateur ou le groupe propriétaire. | -| **Modifier les autorisations** | `p` | Changer les ACL sur les fichiers ou répertoires. | +| **Lecture** | `r` | Lire le contenu du fichier. | +| **Écriture** | `w` | Télécharger des fichiers et créer des répertoires. | +| **Liste** | `l` | Lister le contenu des répertoires. | +| **Suppression** | `d` | Supprimer des fichiers ou répertoires. | +| **Création** | `c` | Créer des fichiers ou répertoires. | +| **Modifier propriétaire** | `o` | Changer l'utilisateur ou le groupe propriétaire. | +| **Modifier permissions** | `p` | Changer les ACL sur les fichiers ou répertoires. | -## Énumération +## Enumeration {{#tabs }} {{#tab name="az cli" }} + +
+énumération az cli ```bash # Get storage accounts az storage account list #Get the account name from here @@ -327,10 +350,15 @@ az storage account local-user list \ --account-name \ --resource-group ``` +
+ {{#endtab }} {{#tab name="Az PowerShell" }} -```bash + +
+Énumération Az PowerShell +```powershell # Get storage accounts Get-AzStorageAccount | fl # Get rules to access the storage account @@ -387,6 +415,8 @@ New-AzStorageBlobSASToken ` -Permission racwdl ` -ExpiryTime (Get-Date "2024-12-31T23:59:00Z") ``` +
+ {{#endtab }} {{#endtabs }} @@ -396,19 +426,19 @@ New-AzStorageBlobSASToken ` az-file-shares.md {{#endref}} -## Escalade de privilèges +## Privilege Escalation {{#ref}} ../az-privilege-escalation/az-storage-privesc.md {{#endref}} -## Post-exploitation +## Post Exploitation {{#ref}} ../az-post-exploitation/az-blob-storage-post-exploitation.md {{#endref}} -## Persistance +## Persistence {{#ref}} ../az-persistence/az-storage-persistence.md @@ -419,5 +449,9 @@ az-file-shares.md - [https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction) - [https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview](https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview) - [https://learn.microsoft.com/en-us/azure/storage/blobs/secure-file-transfer-protocol-support](https://learn.microsoft.com/en-us/azure/storage/blobs/secure-file-transfer-protocol-support) +- [Holiday Hack Challenge 2025: Blob Storage (Storage Secrets)](https://0xdf.gitlab.io/holidayhack2025/act1/blob-storage) +- [https://learn.microsoft.com/en-us/cli/azure/storage/account](https://learn.microsoft.com/en-us/cli/azure/storage/account) +- [https://learn.microsoft.com/en-us/cli/azure/storage/container](https://learn.microsoft.com/en-us/cli/azure/storage/container) +- [https://learn.microsoft.com/en-us/cli/azure/storage/blob](https://learn.microsoft.com/en-us/cli/azure/storage/blob) {{#include ../../../banners/hacktricks-training.md}}