mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-03-12 21:22:57 -07:00
Translated ['', 'src/pentesting-cloud/azure-security/az-services/az-stor
This commit is contained in:
@@ -4,27 +4,27 @@
|
||||
|
||||
## Informazioni di base
|
||||
|
||||
Azure Storage Accounts sono servizi fondamentali in Microsoft Azure che forniscono storage cloud scalabile, sicuro e altamente disponibile per vari tipi di dati, inclusi blobs (oggetti binari di grandi dimensioni), file, queue e table. Servono come contenitori che raggruppano questi diversi servizi di storage sotto un unico namespace per una gestione semplice.
|
||||
Azure Storage Accounts sono servizi fondamentali in Microsoft Azure che forniscono storage cloud scalabile, sicuro e altamente disponibile per vari tipi di dati, inclusi blobs (binary large objects), file, queue e table. Funzionano come contenitori che raggruppano questi diversi servizi di storage sotto un unico namespace per una gestione più semplice.
|
||||
|
||||
**Principali opzioni di configurazione**:
|
||||
|
||||
- Ogni storage account deve avere un **nome univoco in tutto Azure**.
|
||||
- Ogni storage account è distribuito in una **regione** o in una zona estesa di Azure.
|
||||
- È possibile selezionare la versione **premium** dello storage account per migliori prestazioni.
|
||||
- È possibile scegliere tra **4 tipi di ridondanza per proteggere** da guasti a livello di rack, disco e datacenter.
|
||||
- Ogni storage account deve avere un **nome univoco su tutto Azure**.
|
||||
- Ogni storage account è distribuito in una **regione** o in una zona estesa di Azure
|
||||
- È possibile selezionare la versione **premium** dello storage account per prestazioni superiori
|
||||
- È possibile selezionare tra **4 tipi di ridondanza per proteggere** da guasti a livello di rack, drive e datacenter.
|
||||
|
||||
**Opzioni di configurazione della sicurezza**:
|
||||
|
||||
- **Require secure transfer for REST API operations**: Richiede TLS in qualsiasi comunicazione con lo storage.
|
||||
- **Allows enabling anonymous access on individual containers**: Se disabilitato, non sarà possibile abilitare l'accesso anonimo in futuro.
|
||||
- **Enable storage account key access**: Se disabilitato, l'accesso con Shared Keys sarà proibito.
|
||||
- **Require secure transfer for REST API operations**: Richiede TLS in ogni comunicazione con lo storage
|
||||
- **Allows enabling anonymous access on individual containers**: Se disabilitato, non sarà possibile abilitare l'accesso anonimo in futuro
|
||||
- **Enable storage account key access**: Se disabilitato, l'accesso con Shared Keys sarà vietato
|
||||
- **Minimum TLS version**
|
||||
- **Permitted scope for copy operations**: Permette da qualsiasi storage account, da qualsiasi storage account dello stesso Entra tenant o da storage account con private endpoints nella stessa virtual network.
|
||||
- **Permitted scope for copy operations**: Consente da qualsiasi storage account, da qualsiasi storage account nello stesso Entra tenant o da storage account con private endpoints nella stessa virtual network.
|
||||
|
||||
**Opzioni Blob Storage**:
|
||||
**Opzioni per Blob Storage**:
|
||||
|
||||
- **Allow cross-tenant replication**
|
||||
- **Access tier**: Hot (dati accessati frequentemente), Cool e Cold (dati raramente accessati)
|
||||
- **Access tier**: Hot (dati ad accesso frequente), Cool e Cold (dati raramente accessati)
|
||||
|
||||
**Opzioni di networking**:
|
||||
|
||||
@@ -32,54 +32,69 @@ Azure Storage Accounts sono servizi fondamentali in Microsoft Azure che fornisco
|
||||
- Allow from all networks
|
||||
- Allow from selected virtual networks and IP addresses
|
||||
- Disable public access and use private access
|
||||
- **Private endpoints**: Permette una connessione privata allo storage account da una virtual network
|
||||
- **Private endpoints**: Consente una connessione privata allo storage account da una virtual network
|
||||
|
||||
**Opzioni di protezione dei dati**:
|
||||
|
||||
- **Point-in-time restore for containers**: Consente di ripristinare i container a uno stato precedente.
|
||||
- Richiede l'abilitazione di versioning, change feed e blob soft delete.
|
||||
- **Enable soft delete for blobs**: Abilita un periodo di retention (in giorni) per i blob eliminati (anche sovrascritti).
|
||||
- **Enable soft delete for containers**: Abilita un periodo di retention (in giorni) per i container eliminati.
|
||||
- **Enable soft delete for file shares**: Abilita un periodo di retention (in giorni) per i file share eliminati.
|
||||
- **Enable versioning for blobs**: Mantiene versioni precedenti dei tuoi blob.
|
||||
- **Enable blob change feed**: Conserva log di create, modification e delete dei blob.
|
||||
- **Enable version-level immutability support**: Consente di impostare una policy di retention basata sul tempo a livello di account che si applicherà a tutte le versioni dei blob.
|
||||
- Version-level immutability support e point-in-time restore for containers non possono essere abilitati simultaneamente.
|
||||
- **Point-in-time restore for containers**: Permette di ripristinare i container a uno stato precedente
|
||||
- Richiede che versioning, change feed e blob soft delete siano abilitati.
|
||||
- **Enable soft delete for blobs**: Abilita un periodo di retention (in giorni) per i blob eliminati (anche sovrascritti)
|
||||
- **Enable soft delete for containers**: Abilita un periodo di retention (in giorni) per i container eliminati
|
||||
- **Enable soft delete for file shares**: Abilita un periodo di retention (in giorni) per i file share eliminati
|
||||
- **Enable versioning for blobs**: Mantiene versioni precedenti dei tuoi blob
|
||||
- **Enable blob change feed**: Mantiene log di creazione, modifica ed eliminazione dei blob
|
||||
- **Enable version-level immutability support**: Permette di impostare una policy di retention basata sul tempo a livello di account che si applicherà a tutte le versioni dei blob.
|
||||
- Version-level immutability support e point-in-time restore for containers non possono essere abilitati contemporaneamente.
|
||||
|
||||
**Opzioni di crittografia**:
|
||||
|
||||
- **Encryption type**: È possibile usare Microsoft-managed keys (MMK) o Customer-managed keys (CMK).
|
||||
- **Enable infrastructure encryption**: Permette di cifrare i dati due volte "per maggiore sicurezza".
|
||||
- **Encryption type**: È possibile usare Microsoft-managed keys (MMK) o Customer-managed keys (CMK)
|
||||
- **Enable infrastructure encryption**: Consente una doppia crittografia dei dati "per maggiore sicurezza"
|
||||
|
||||
### Storage endpoints
|
||||
|
||||
<table data-header-hidden><thead><tr><th width="197">Storage Service</th><th>Endpoint</th></tr></thead><tbody><tr><td><strong>Blob storage</strong></td><td><code>https://<storage-account>.blob.core.windows.net</code><br><br><code>https://<stg-acc>.blob.core.windows.net/<container-name>?restype=container&comp=list</code></td></tr><tr><td><strong>Data Lake Storage</strong></td><td><code>https://<storage-account>.dfs.core.windows.net</code></td></tr><tr><td><strong>Azure Files</strong></td><td><code>https://<storage-account>.file.core.windows.net</code></td></tr><tr><td><strong>Queue storage</strong></td><td><code>https://<storage-account>.queue.core.windows.net</code></td></tr><tr><td><strong>Table storage</strong></td><td><code>https://<storage-account>.table.core.windows.net</code></td></tr></tbody></table>
|
||||
<table data-header-hidden><thead><tr><th width="197">Servizio di storage</th><th>Endpoint</th></tr></thead><tbody><tr><td><strong>Blob storage</strong></td><td><code>https://<storage-account>.blob.core.windows.net</code><br><br><code>https://<stg-acc>.blob.core.windows.net/<container-name>?restype=container&comp=list</code></td></tr><tr><td><strong>Data Lake Storage</strong></td><td><code>https://<storage-account>.dfs.core.windows.net</code></td></tr><tr><td><strong>Azure Files</strong></td><td><code>https://<storage-account>.file.core.windows.net</code></td></tr><tr><td><strong>Queue storage</strong></td><td><code>https://<storage-account>.queue.core.windows.net</code></td></tr><tr><td><strong>Table storage</strong></td><td><code>https://<storage-account>.table.core.windows.net</code></td></tr></tbody></table>
|
||||
|
||||
### Esposizione pubblica
|
||||
|
||||
Se "Allow Blob public access" è **enabled** (disabled by default), quando si crea un container è possibile:
|
||||
Se "Allow Blob public access" è **enabled** (disabilitato per default), quando si crea un container è possibile:
|
||||
|
||||
- Dare **accesso pubblico in lettura ai blob** (è necessario conoscere il nome).
|
||||
- Dare **accesso pubblico in sola lettura ai blob** (è necessario conoscere il nome).
|
||||
- **Listare i blob del container** e **leggerli**.
|
||||
- Rendersi completamente **privato**.
|
||||
- Renderlo completamente **privato**
|
||||
|
||||
<figure><img src="https://lh7-rt.googleusercontent.com/slidesz/AGV_vUfoetUnYBPWQpRrWNnnlbqWpl8Rdoaeg5uBrCVlvcNDlnKwQHjZe8nUb2SfPspBgbu-lCZLmUei-hFi_Jl2eKbaxUtBGTjdUSDmkrcwr90VZkmuMjk9tyh92p75btfyzGiUTa0-=s2048?key=m8TV59TrCFPlkiNnmhYx3aZt" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Auditing anonymous blob exposure
|
||||
### Static website (`$web`) exposure & leaked secrets
|
||||
|
||||
- **Individuare gli storage accounts** che possono esporre dati: `az storage account list | jq -r '.[] | select(.properties.allowBlobPublicAccess==true) | .name'`. Se `allowBlobPublicAccess` è `false` non puoi rendere i container pubblici.
|
||||
- **Ispezionare gli account a rischio** per confermare il flag e altre impostazioni deboli: `az storage account show --name <acc> --query '{allow:properties.allowBlobPublicAccess, minTls:properties.minimumTlsVersion}'`.
|
||||
- **Enumerare l'esposizione a livello di container** dove il flag è abilitato:
|
||||
- **Static websites** sono serviti dal contenitore speciale `$web` tramite un endpoint region-specific come `https://<account>.z13.web.core.windows.net/`.
|
||||
- Il contenitore `$web` può riportare `publicAccess: null` via l'API blob, ma i file sono comunque raggiungibili tramite l'endpoint del sito statico, quindi lasciare artifact di config/IaC lì può leaked secrets.
|
||||
- Flusso di audit rapido:
|
||||
```bash
|
||||
# Identify storage accounts with static website hosting enabled
|
||||
az storage blob service-properties show --account-name <acc-name> --auth-mode login
|
||||
# Enumerate containers (including $web) and their public flags
|
||||
az storage container list --account-name <acc-name> --auth-mode login
|
||||
# List files served by the static site even when publicAccess is null
|
||||
az storage blob list --container-name '$web' --account-name <acc-name> --auth-mode login
|
||||
# Pull suspicious files directly (e.g., IaC tfvars containing secrets/SAS)
|
||||
az storage blob download -c '$web' --name iac/terraform.tfvars --file /dev/stdout --account-name <acc-name> --auth-mode login
|
||||
```
|
||||
### Verifica dell'esposizione anonima dei blob
|
||||
|
||||
- **Individua storage accounts** che possono esporre dati: `az storage account list | jq -r '.[] | select(.properties.allowBlobPublicAccess==true) | .name'`. Se `allowBlobPublicAccess` è `false` non puoi rendere pubblici i containers.
|
||||
- **Ispeziona gli account a rischio** per confermare il flag e altre impostazioni deboli: `az storage account show --name <acc> --query '{allow:properties.allowBlobPublicAccess, minTls:properties.minimumTlsVersion}'`.
|
||||
- **Enumera l'esposizione a livello di container** dove il flag è abilitato:
|
||||
```bash
|
||||
az storage container list --account-name <acc> \
|
||||
--query '[].{name:name, access:properties.publicAccess}'
|
||||
```
|
||||
- `"Blob"`: letture anonime consentite **solo quando il nome del blob è noto** (nessuna enumerazione).
|
||||
- `"Container"`: anonimo **elenco + lettura** di ogni blob.
|
||||
- `"Container"`: elenco anonimo **+ lettura** di ogni blob.
|
||||
- `null`: privato; autenticazione richiesta.
|
||||
- **Dimostrare l'accesso** senza credenziali:
|
||||
- Se `publicAccess` è `Container`, l'elenco anonimo funziona: `curl "https://<acc>.blob.core.windows.net/<container>?restype=container&comp=list"`.
|
||||
- Per entrambi `Blob` e `Container`, il download anonimo del blob funziona quando il nome è noto:
|
||||
- Per `Blob` e `Container`, il download anonimo del blob funziona quando il nome è noto:
|
||||
```bash
|
||||
az storage blob download -c <container> -n <blob> --account-name <acc> --file /dev/stdout
|
||||
# or via raw HTTP
|
||||
@@ -93,23 +108,23 @@ Se trovi uno **storage** a cui puoi connetterti, puoi usare lo strumento [**Micr
|
||||
|
||||
### RBAC
|
||||
|
||||
È possibile usare i principal di Entra ID con i **ruoli RBAC** per accedere agli storage accounts ed è il metodo raccomandato.
|
||||
È possibile utilizzare i principal Entra ID con **RBAC roles** per accedere agli storage account ed è il metodo raccomandato.
|
||||
|
||||
### Chiavi di accesso
|
||||
### Access Keys
|
||||
|
||||
Gli account di storage dispongono di chiavi di accesso che possono essere usate per accederci. Questo fornisce l'**accesso completo all'account di storage.**
|
||||
Gli storage account dispongono di access keys che possono essere utilizzate per accedervi. Questo fornisce **accesso completo all'account di storage.**
|
||||
|
||||
<figure><img src="../../../images/image (5).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
### **Shared Keys & Lite Shared Keys**
|
||||
|
||||
È possibile [**generare Shared Keys**](https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key) firmate con le chiavi di accesso per autorizzare l'accesso a risorse specifiche tramite una URL firmata.
|
||||
È possibile [**generate Shared Keys**](https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key) firmati con le access keys per autorizzare l'accesso a determinate risorse tramite una URL firmata.
|
||||
|
||||
> [!NOTE]
|
||||
> Nota che la parte `CanonicalizedResource` rappresenta la risorsa del servizio di storage (URI). E se qualsiasi parte dell'URL è encoded, dovrebbe essere codificata anche dentro il `CanonicalizedResource`.
|
||||
> Nota che la parte `CanonicalizedResource` rappresenta la risorsa del servizio di storage (URI). E se qualsiasi parte dell'URL è codificata, dovrebbe essere codificata anche all'interno di `CanonicalizedResource`.
|
||||
|
||||
> [!NOTE]
|
||||
> Questo è **usato di default dalla `az` cli** per autenticare le richieste. Per farla usare le credenziali del principal Entra ID indica il parametro `--auth-mode login`.
|
||||
> Questo comportamento è **usato di default da `az` cli** per autenticare le richieste. Per far sì che utilizzi le credenziali del principal Entra ID, indica il parametro `--auth-mode login`.
|
||||
|
||||
- È possibile generare una **shared key per i servizi blob, queue e file** firmando le seguenti informazioni:
|
||||
```bash
|
||||
@@ -150,7 +165,7 @@ CanonicalizedResource;
|
||||
StringToSign = Date + "\n"
|
||||
CanonicalizedResource
|
||||
```
|
||||
Quindi, per usare la chiave, si può inserirla nell'header Authorization seguendo la sintassi:
|
||||
Poi, per usare la chiave, può essere inserita nell'Authorization header seguendo la sintassi:
|
||||
```bash
|
||||
Authorization="[SharedKey|SharedKeyLite] <AccountName>:<Signature>"
|
||||
#e.g.
|
||||
@@ -164,14 +179,14 @@ Content-Length: 0
|
||||
```
|
||||
### **Shared Access Signature** (SAS)
|
||||
|
||||
Shared Access Signatures (SAS) sono URL sicuri e limitati nel tempo che **concedono permessi specifici per accedere alle risorse** in un Azure Storage account senza esporre le access keys dell'account. Mentre le access keys forniscono accesso amministrativo completo a tutte le risorse, SAS permette un controllo granulare specificando i permessi (come read o write) e definendo un tempo di scadenza.
|
||||
Le Shared Access Signatures (SAS) sono URL sicuri e a tempo limitato che **concedono permessi specifici per accedere a risorse** in un account Azure Storage senza esporre le chiavi di accesso dell'account. Mentre le chiavi di accesso forniscono accesso amministrativo completo a tutte le risorse, le SAS permettono un controllo granulare specificando permessi (come read o write) e definendo un tempo di scadenza.
|
||||
|
||||
#### SAS Types
|
||||
|
||||
- **User delegation SAS**: Viene creato da un **Entra ID principal** che firmerà la SAS e delegherà i permessi dall'utente alla SAS. Può essere utilizzato solo con **blob and data lake storage** ([docs](https://learn.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas)). È possibile **revocare** tutte le user delegated SAS generate.
|
||||
- È possibile generare una delegation SAS con permessi "maggiori" rispetto a quelli dell'utente. Tuttavia, se il principal non li possiede, non funzionerà (no privesc).
|
||||
- **Service SAS**: È firmata usando una delle storage account **access keys**. Può essere usata per concedere accesso a risorse specifiche in un singolo servizio di storage. Se la key viene rinnovata, la SAS smetterà di funzionare.
|
||||
- **Account SAS**: Anch'essa è firmata con una delle storage account **access keys**. Concede accesso a risorse attraverso i servizi dell'account di storage (Blob, Queue, Table, File) e può includere operazioni a livello di servizio.
|
||||
- **User delegation SAS**: Questo viene creato da un **Entra ID principal** che firmerà la SAS e delegherà i permessi dall'utente alla SAS. Può essere usato solo con **blob and data lake storage** ([docs](https://learn.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas)). È possibile **revocare** tutte le SAS delegate utente generate.
|
||||
- Anche se è possibile generare una delegation SAS con permessi "maggiori" rispetto a quelli che l'utente possiede, se il principal non li ha, non funzionerà (no privesc).
|
||||
- **Service SAS**: Questa è firmata usando una delle storage account **access keys**. Può essere usata per concedere accesso a risorse specifiche in un singolo servizio di storage. Se la key viene rinnovata, la SAS smetterà di funzionare.
|
||||
- **Account SAS**: È anch'essa firmata con una delle storage account **access keys**. Concede accesso a risorse attraverso i servizi di un account di storage (Blob, Queue, Table, File) e può includere operazioni a livello di servizio.
|
||||
|
||||
A SAS URL signed by an **access key** looks like this:
|
||||
|
||||
@@ -185,55 +200,55 @@ Note some **http params**:
|
||||
|
||||
- Il parametro **`se`** indica la **data di scadenza** della SAS
|
||||
- Il parametro **`sp`** indica i **permessi** della SAS
|
||||
- Il **`sig`** è la **signature** che valida la SAS
|
||||
- Il parametro **`sig`** è la **firma** che valida la SAS
|
||||
|
||||
#### SAS permissions
|
||||
|
||||
Quando si genera una SAS è necessario indicare i permessi che deve concedere. A seconda dell'oggetto su cui la SAS viene generata, possono essere inclusi permessi differenti. Per esempio:
|
||||
Quando si genera una SAS è necessario indicare i permessi che deve concedere. A seconda dell'oggetto su cui la SAS viene generata possono essere inclusi permessi diversi. Per esempio:
|
||||
|
||||
- (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
|
||||
|
||||
## SFTP Support for Azure Blob Storage
|
||||
|
||||
Azure Blob Storage ora supporta lo SSH File Transfer Protocol (SFTP), permettendo il trasferimento e la gestione sicuri dei file direttamente su Blob Storage senza richiedere soluzioni custom o prodotti di terze parti.
|
||||
Azure Blob Storage ora supporta lo SSH File Transfer Protocol (SFTP), permettendo trasferimenti di file sicuri e la gestione direttamente su Blob Storage senza richiedere soluzioni personalizzate o prodotti di terze parti.
|
||||
|
||||
### Key Features
|
||||
|
||||
- Protocol Support: SFTP funziona con account Blob Storage configurati con hierarchical namespace (HNS). Questo organizza i blob in directory e sottodirectory per una navigazione più semplice.
|
||||
- Security: SFTP usa identità utente locali per l'autenticazione e non si integra con RBAC o ABAC. Ogni utente locale può autenticarsi tramite:
|
||||
- Azure-generated passwords
|
||||
- Public-private SSH key pairs
|
||||
- Granular Permissions: Permessi come Read, Write, Delete e List possono essere assegnati agli utenti locali per fino a 100 container.
|
||||
- Networking Considerations: Le connessioni SFTP avvengono tramite la porta 22. Azure supporta configurazioni di rete come firewall, private endpoints o virtual networks per proteggere il traffico SFTP.
|
||||
- coppie di chiavi SSH pubblico/privata
|
||||
- Granular Permissions: permessi come Read, Write, Delete e List possono essere assegnati agli utenti locali per un massimo di 100 container.
|
||||
- Networking Considerations: le connessioni SFTP avvengono tramite la porta 22. Azure supporta configurazioni di rete come firewall, private endpoints o virtual networks per mettere in sicurezza il traffico SFTP.
|
||||
|
||||
### Setup Requirements
|
||||
|
||||
- Hierarchical Namespace: HNS deve essere abilitato durante la creazione dell'account di storage.
|
||||
- Supported Encryption: Richiede algoritmi crittografici approvati dal Microsoft Security Development Lifecycle (SDL) (es. rsa-sha2-256, ecdsa-sha2-nistp256).
|
||||
- Hierarchical Namespace: l'HNS deve essere abilitato durante la creazione dell'account di storage.
|
||||
- Supported Encryption: richiede algoritmi crittografici approvati dal Microsoft Security Development Lifecycle (SDL) (es. rsa-sha2-256, ecdsa-sha2-nistp256).
|
||||
- SFTP Configuration:
|
||||
- Abilitare SFTP sull'account di storage.
|
||||
- Creare identità utente locali con permessi appropriati.
|
||||
- Configurare le home directory per gli utenti per definire la loro posizione iniziale all'interno del container.
|
||||
- Configurare le home directory per gli utenti per definire la loro posizione di partenza all'interno del container.
|
||||
|
||||
### Permissions
|
||||
|
||||
| Permesso | Simbolo | Descrizione |
|
||||
| Permesso | Simbolo | Descrizione |
|
||||
| ---------------------- | ------ | ------------------------------------ |
|
||||
| **Read** | `r` | Legge il contenuto del file. |
|
||||
| **Write** | `w` | Carica file e crea directory. |
|
||||
| **List** | `l` | Elenca il contenuto delle directory. |
|
||||
| **Delete** | `d` | Elimina file o directory. |
|
||||
| **Create** | `c` | Crea file o directory. |
|
||||
| **Modify Ownership** | `o` | Modifica l'utente o il gruppo proprietario. |
|
||||
| **Modify Permissions** | `p` | Modifica le ACL su file o directory. |
|
||||
| **Lettura** | `r` | Legge il contenuto del file. |
|
||||
| **Scrittura** | `w` | Carica file e crea directory. |
|
||||
| **Elenco** | `l` | Elenca il contenuto delle directory. |
|
||||
| **Eliminazione** | `d` | Elimina file o directory. |
|
||||
| **Creazione** | `c` | Crea file o directory. |
|
||||
| **Modifica Proprietà** | `o` | Cambia l'utente o il gruppo proprietario. |
|
||||
| **Modifica Permessi** | `p` | Modifica le ACL su file o directory. |
|
||||
|
||||
## Enumerazione
|
||||
## Enumeration
|
||||
|
||||
{{#tabs }}
|
||||
{{#tab name="az cli" }}
|
||||
|
||||
<details>
|
||||
<summary>az cli enumerazione</summary>
|
||||
<summary>az cli enumeration</summary>
|
||||
```bash
|
||||
# Get storage accounts
|
||||
az storage account list #Get the account name from here
|
||||
@@ -420,25 +435,25 @@ New-AzStorageBlobSASToken `
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
### Condivisioni di file
|
||||
### Condivisioni file
|
||||
|
||||
{{#ref}}
|
||||
az-file-shares.md
|
||||
{{#endref}}
|
||||
|
||||
## Privilege Escalation
|
||||
## Escalation dei privilegi
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-storage-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
## Post Exploitation
|
||||
## Post-sfruttamento
|
||||
|
||||
{{#ref}}
|
||||
../az-post-exploitation/az-blob-storage-post-exploitation.md
|
||||
{{#endref}}
|
||||
|
||||
## Persistence
|
||||
## Persistenza
|
||||
|
||||
{{#ref}}
|
||||
../az-persistence/az-storage-persistence.md
|
||||
@@ -449,6 +464,7 @@ 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 – Spare Key (Azure static website SAS leak)](https://0xdf.gitlab.io/holidayhack2025/act1/spare-key)
|
||||
- [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)
|
||||
|
||||
Reference in New Issue
Block a user