Translated ['', 'src/pentesting-cloud/azure-security/az-services/az-stor

This commit is contained in:
Translator
2026-01-18 15:04:46 +00:00
parent d8e58bd4a5
commit 599b599c36
@@ -4,27 +4,27 @@
## Osnovne informacije
Azure Storage Accounts su osnovne usluge u Microsoft Azure koje pružaju skalabilno, sigurno i visoko dostupno cloud **skladište za različite tipove podataka**, uključujući blobs (binary large objects), files, queues i tables. One služe kao kontejneri koji grupišu ove različite storage servise pod jednim namespace-om radi lakšeg upravljanja.
Azure Storage Accounts su fundamentalni servisi u Microsoft Azure koji obezbeđuju skalabilan, siguran i visoko dostupan cloud **storage for various data types**, uključujući blobs (binary large objects), files, queues i tables. Služe kao kontejneri koji grupišu ove različite storage servise pod jedinstvenim namespace-om radi lakšeg upravljanja.
**Glavne opcije konfiguracije**:
- Svaki storage account mora imati **jedinstveno ime preko celog Azura**.
- Svaki storage account je deploy-ovan u jednoj **regiji** ili u Azure extended zoni
- Moguće je izabrati **premium** verziju storage account-a za bolji performans
- Moguće je izabrati među **4 tipa redundancije za zaštitu** od rack, drive i datacenter **grešaka**.
- Svaki storage account mora imati **uniq name across all Azure**.
- Svaki storage account je deploy-ovan u nekoj **region** ili u Azure extended zone
- Moguće je izabrati **premium** verziju storage account-a za bolji performance
- Moguće je izabrati između **4 types of redundancy to protect** protiv rack, drive i datacenter **failures**.
**Opcije sigurnosne konfiguracije**:
**Opcije bezbednosne konfiguracije**:
- **Require secure transfer for REST API operations**: Zahteva TLS u svakoj komunikaciji sa storage-om
- **Allows enabling anonymous access on individual containers**: Ako nije omogućeno, neće biti moguće kasnije uključiti anonymous access
- **Enable storage account key access**: Ako nije omogućeno, pristup pomoću Shared Keys će biti zabranjen
- **Require secure transfer for REST API operations**: Zahteva TLS za svu komunikaciju sa storage-om
- **Allows enabling anonymous access on individual containers**: Ako nije omogućeno, kasnije neće biti moguće omogućiti anonymous access
- **Enable storage account key access**: Ako nije omogućeno, pristup sa Shared Keys će biti zabranjen
- **Minimum TLS version**
- **Permitted scope for copy operations**: Dozvoljava sa bilo kog storage account-a, sa bilo kog storage account-a iz istog Entra tenant-a ili sa storage account-a sa private endpoints u istoj virtualnoj mreži.
**Blob Storage options**:
**Opcije Blob Storage-a**:
- **Allow cross-tenant replication**
- **Access tier**: Hot (često pristupani podaci), Cool i Cold (retko pristupani podaci)
- **Access tier**: Hot (često pristupan podaci), Cool i Cold (retko pristupan podaci)
**Mrežne opcije**:
@@ -32,54 +32,69 @@ Azure Storage Accounts su osnovne usluge u Microsoft Azure koje pružaju skalabi
- Allow from all networks
- Allow from selected virtual networks and IP addresses
- Disable public access and use private access
- **Private endpoints**: Omogućava privatnu konekciju do storage account-a iz virtualne mreže
- **Private endpoints**: Dozvoljava privatnu konekciju ka storage account-u iz virtualne mreže
**Opcije za zaštitu podataka**:
**Opcije zaštite podataka**:
- **Point-in-time restore for containers**: Dozvoljava vraćanje kontejnera u ranije stanje
- Zahteva uključeno versioning, change feed i blob soft delete.
- **Enable soft delete for blobs**: Omogućava period čuvanja u danima za obrisane blob-ove (čak i prepisane)
- **Enable soft delete for containers**: Omogućava period čuvanja u danima za obrisane kontejnere
- **Enable soft delete for file shares**: Omogućava period čuvanja u danima za obrisane file share-ove
- **Point-in-time restore for containers**: Dozvoljava vraćanje containera u ranije stanje
- Zahteva omogućene versioning, change feed i blob soft delete.
- **Enable soft delete for blobs**: Omogućava zadržavanje izbrisanih blob-ova (čak i prepisanih) tokom definisanog perioda u danima
- **Enable soft delete for containers**: Omogućava zadržavanje izbrisanih containera tokom definisanog perioda u danima
- **Enable soft delete for file shares**: Omogućava zadržavanje izbrisanih file share-ova tokom definisanog perioda u danima
- **Enable versioning for blobs**: Čuva prethodne verzije vaših blob-ova
- **Enable blob change feed**: Čuva logove kreiranja, modifikacije i brisanja blob-ova
- **Enable version-level immutability support**: Dozvoljava postavljanje vremenski bazirane politike zadržavanja na nivou account-a koja će se primenjivati na sve verzije blob-ova.
- **Enable blob change feed**: Beleži create, modification i delete promene na blob-ovima
- **Enable version-level immutability support**: Dozvoljava postavljanje time-based retention politike na nivou account-a koja će važiti za sve verzije blob-ova.
- Version-level immutability support i point-in-time restore for containers ne mogu biti omogućeni istovremeno.
**Opcije enkripcije**:
- **Encryption type**: Moguće je koristiti Microsoft-managed keys (MMK) ili Customer-managed keys (CMK)
- **Enable infrastructure encryption**: Omogućava duplu enkripciju podataka "za veću sigurnost"
- **Enable infrastructure encryption**: Dozvoljava duplu enkripciju podataka "za dodatnu sigurnost"
### Storage endpoints
<table data-header-hidden><thead><tr><th width="197">Usluga skladištenja</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">Servis skladišta</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>
### Javna izloženost
Ako je "Allow Blob public access" **omogućeno** (po default-u onemogućeno), pri kreiranju kontejnera je moguće:
Ako je "Allow Blob public access" **enabled** (disabled by default), pri kreiranju containera moguće je:
- Dati **javni pristup za čitanje blob-ova** (potrebno je znati ime).
- **Listati blob-ove u kontejneru** i **čitati** ih.
- Napraviti ga potpuno **privatnim**
- Dati **public access to read blobs** (potrebno je poznavati ime).
- **List container blobs** i **read** ih.
- Učiniti ga potpuno **private**
<figure><img src="https://lh7-rt.googleusercontent.com/slidesz/AGV_vUfoetUnYBPWQpRrWNnnlbqWpl8Rdoaeg5uBrCVlvcNDlnKwQHjZe8nUb2SfPspBgbu-lCZLmUei-hFi_Jl2eKbaxUtBGTjdUSDmkrcwr90VZkmuMjk9tyh92p75btfyzGiUTa0-=s2048?key=m8TV59TrCFPlkiNnmhYx3aZt" alt=""><figcaption></figcaption></figure>
#### Revizija anonimnog izlaganja blob-ova
### Static website (`$web`) exposure & leaked secrets
- **Pronađi storage accounte** koji mogu izložiti podatke: `az storage account list | jq -r '.[] | select(.properties.allowBlobPublicAccess==true) | .name'`. Ako je `allowBlobPublicAccess` `false` ne možeš uključiti javni pristup kontejnerima.
- **Ispitaj rizične accounte** da potvrdiš zastavicu i druge slabe postavke: `az storage account show --name <acc> --query '{allow:properties.allowBlobPublicAccess, minTls:properties.minimumTlsVersion}'`.
- **Enumeriši izlaganje na nivou kontejnera** gde je zastavica omogućena:
- **Static websites** se serviraju iz specijalnog `$web` containera preko region-specific endpoint-a kao što je `https://<account>.z13.web.core.windows.net/`.
- `$web` container može prijaviti `publicAccess: null` preko blob API-ja, ali fajlovi su i dalje dostupni kroz static site endpoint, tako da postavljanje config/IaC artefakata tamo može leak secrets.
- Brzi workflow za audit:
```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
```
### Revizija anonimnog izlaganja blobova
- **Pronađite storage accounts** koji mogu izložiti podatke: `az storage account list | jq -r '.[] | select(.properties.allowBlobPublicAccess==true) | .name'`. Ako je `allowBlobPublicAccess` `false` ne možete postaviti kontejnere kao javne.
- **Pregledajte rizične naloge** da potvrdite zastavicu i druga slaba podešavanja: `az storage account show --name <acc> --query '{allow:properties.allowBlobPublicAccess, minTls:properties.minimumTlsVersion}'`.
- **Enumerišite izlaganje na nivou kontejnera** gde je zastavica omogućena:
```bash
az storage container list --account-name <acc> \
--query '[].{name:name, access:properties.publicAccess}'
```
- `"Blob"`: anonimno čitanje dozvoljeno **samo kada je ime bloba poznato** (bez mogućnosti listanja).
- `"Container"`: anonimno **listanje + čitanje** svih blobova.
- `null`: privatno; potrebna autentifikacija.
- **Dokaži pristup** bez kredencijala:
- `"Blob"`: anonimno čitanje dozvoljeno **samo kada je ime bloba poznato** (nema listanja).
- `"Container"`: anonimno **listanje + čitanje** svakog bloba.
- `null`: privatno; potrebna autentikacija.
- **Dokažite pristup** bez kredencijala:
- Ako je `publicAccess` `Container`, anonimno listanje radi: `curl "https://<acc>.blob.core.windows.net/<container>?restype=container&comp=list"`.
- Za oba `"Blob"` i `"Container"`, anonimno preuzimanje bloba radi kada je ime poznato:
- Za oba `Blob` i `Container`, anonimno preuzimanje bloba funkcioniše kada je ime poznato:
```bash
az storage blob download -c <container> -n <blob> --account-name <acc> --file /dev/stdout
# or via raw HTTP
@@ -87,31 +102,31 @@ curl "https://<acc>.blob.core.windows.net/<container>/<blob>"
```
### Povezivanje sa Storage
Ako pronađete bilo koji **storage** na koji se možete povezati, možete koristiti alat [**Microsoft Azure Storage Explorer**](https://azure.microsoft.com/es-es/products/storage/storage-explorer/) za to.
Ako pronađete bilo koji **storage** kojem se možete povezati, možete koristiti alat [**Microsoft Azure Storage Explorer**](https://azure.microsoft.com/es-es/products/storage/storage-explorer/) za to.
## Pristup Storage-u <a href="#about-blob-storage" id="about-blob-storage"></a>
## Pristup Storage <a href="#about-blob-storage" id="about-blob-storage"></a>
### RBAC
Moguće je koristiti Entra ID principals uz **RBAC roles** da se pristupi storage account-ima i to je preporučeni način.
Moguće je koristiti Entra ID principals sa **RBAC roles** za pristup storage accounts i to je preporučeni način.
### Access Keys
Storage account-i imaju access keys koje se mogu koristiti za pristup. Ovo daje f**ull access to the storage account.**
Storage accounts imaju access keys koje se mogu koristiti za pristup. Ovo pruža **potpun pristup na storage account.**
<figure><img src="../../../images/image (5).png" alt=""><figcaption></figcaption></figure>
### **Shared Keys & Lite Shared Keys**
Moguće je [**generate Shared Keys**](https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key) potpisane access keys-ima kako bi se autorizovao pristup određenim resursima putem potpisanog URL-a.
Moguće je [**generate Shared Keys**](https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key) potpisanih access keys-ima da autorizujete pristup određenim resursima putem potpisanog URL-a.
> [!NOTE]
> Imajte na umu da deo `CanonicalizedResource` predstavlja resurs storage servisa (URI). Ako je bilo koji deo u URL-u kodiran, trebalo bi da bude kodiran i unutar `CanonicalizedResource`.
> Imajte na umu da deo `CanonicalizedResource` predstavlja resurs storage servisa (URI). I ako je bilo koji deo u URL-u enkodiran, treba biti enkodiran i unutar `CanonicalizedResource`.
> [!NOTE]
> Ovo se **podrazumevano koristi od strane `az` cli** za autentifikaciju zahteva. Da biste naterali da koristi Entra ID principal credentials, navedite parametar `--auth-mode login`.
> Ovo je **koristi se po defaultu od strane `az` cli** za autentifikaciju zahteva. Da bi koristio Entra ID principal credentials navedite parametar `--auth-mode login`.
- Moguće je generisati **shared key for blob, queue and file services** potpisivanjem sledećih informacija:
- Moguće je generisati a **shared key for blob, queue and file services** potpisivanjem sledećih informacija:
```bash
StringToSign = VERB + "\n" +
Content-Encoding + "\n" +
@@ -150,7 +165,7 @@ CanonicalizedResource;
StringToSign = Date + "\n"
CanonicalizedResource
```
Zatim, da biste koristili ključ, to se može učiniti u Authorization headeru prateći sledeću sintaksu:
Zatim, da biste koristili ključ, to se može uraditi u Authorization header prateći sintaksu:
```bash
Authorization="[SharedKey|SharedKeyLite] <AccountName>:<Signature>"
#e.g.
@@ -164,16 +179,16 @@ Content-Length: 0
```
### **Deljeni pristupni potpis** (SAS)
Shared Access Signatures (SAS) su sigurni, vremenski ograničeni URL-ovi koji **dodeljuju specifična ovlašćenja za pristup resursima** u Azure Storage nalogu bez izlaganja pristupnih ključeva naloga. Dok pristupni ključevi obezbeđuju punu administratorsku kontrolu nad svim resursima, SAS omogućava granularnu kontrolu određivanjem dozvola (npr. read ili write) i definisanjem vremena isteka.
Shared Access Signatures (SAS) su sigurni URL-ovi ograničenog trajanja koji **dodeljuju specifična ovlašćenja za pristup resursima** u Azure Storage account bez izlaganja account's access keys. Dok access keys pružaju potpuni administratorski pristup svim resursima, SAS omogućava granularnu kontrolu navođenjem dozvola (npr. read ili write) i definisanjem vremena isteka.
#### Tipovi SAS-a
#### Tipovi SAS
- **User delegation SAS**: Kreira se pomoću **Entra ID principal** koji će potpisati SAS i delegirati dozvole od korisnika ka SAS-u. Može se koristiti samo sa **blob and data lake storage** ([docs](https://learn.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas)). Moguće je **opozvati** sve generisane user delegated SAS.
- Moguće je generisati delegation SAS sa "više" dozvola nego što korisnik ima. Međutim, ako principal nema te dozvole, neće raditi (no privesc).
- **Service SAS**: Potpisuje se korišćenjem jednog od pristupnih ključeva storage account-a. Može se koristiti za dodeljivanje pristupa specifičnim resursima u jednoj storage usluzi. Ako se ključ obnovi, SAS prestaje sa radom.
- **Account SAS**: Takođe se potpisuje jednim od pristupnih ključeva storage account-a. Dodeljuje pristup resursima preko usluga storage account-a (Blob, Queue, Table, File) i može uključivati operacije na nivou servisa.
- **User delegation SAS**: Kreira se od strane **Entra ID principal** koji će potpisati SAS i delegirati ovlašćenja sa korisnika na SAS. Može se koristiti samo sa **blob and data lake storage** ([docs](https://learn.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas)). Moguće je **revoke** svih generisanih user delegated SAS.
- Moguće je generisati delegation SAS sa više” permisija nego što korisnik ima. Međutim, ako principal nema te permisije, neće raditi (no privesc).
- **Service SAS**: Potpisuje se korišćenjem jednog od storage account **access keys**. Može se koristiti za dodeljivanje pristupa specifičnim resursima u jednoj storage service. Ako se key obnovi, SAS prestaje da radi.
- **Account SAS**: Takođe se potpisuje jednim od storage account **access keys**. Dodeljuje pristup resursima preko servisa unutar storage account-a (Blob, Queue, Table, File) i može uključivati operacije na nivou servisa.
A SAS URL potpisan pomoću **access key** izgleda ovako:
A SAS URL potpisan sa **access key** izgleda ovako:
- `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`
@@ -181,51 +196,51 @@ A SAS URL potpisan kao **user delegation** izgleda ovako:
- `https://<container_name>.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`
Obratite pažnju na neke **http parametre**:
Obratite pažnju na neke **http params**:
- The **`se`** param indicates the **expiration date** of the SAS
- The **`sp`** param indicates the **permissions** of the SAS
- The **`sig`** is the **signature** validating the SAS
- The **`se`** param označava **datum isteka** SAS-a
- The **`sp`** param označava **dozvole** SAS-a
- The **`sig`** je **potpis** koji validira SAS
#### SAS permissions
Prilikom generisanja SAS-a potrebno je navesti dozvole koje treba da dodeli. U zavisnosti od objekta preko kojeg se SAS generiše, mogu biti uključene različite dozvole. Na primer:
Pri generisanju SAS potrebno je navesti dozvole koje treba da obezbeđuje. U zavisnosti od objekta nad kojim se SAS generiše mogu biti uključene različite permisije. Na primer:
- (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
## Podrška za SFTP za Azure Blob Storage
## SFTP Support for Azure Blob Storage
Azure Blob Storage sada podržava SSH File Transfer Protocol (SFTP), omogućavajući siguran prenos fajlova i upravljanje direktno u Blob Storage bez potrebe za prilagođenim rešenjima ili proizvodima trećih strana.
Azure Blob Storage sada podržava SSH File Transfer Protocol (SFTP), omogućavajući siguran prenos fajlova i upravljanje direktno u Blob Storage bez potrebe za custom rešenjima ili third-party proizvodima.
### Ključne funkcije
### Ključne karakteristike
- Protocol Support: SFTP radi sa Blob Storage nalozima konfigurisanim sa hierarchical namespace (HNS). Ovo organizuje blobs u direktorijume i poddirektorijume radi lakše navigacije.
- Security: SFTP koristi lokalne korisničke identitete za autentifikaciju i ne integriše se sa RBAC ili ABAC. Svaki lokalni korisnik može da se autentifikuje preko:
- Azure-generated passwords
- Public-private SSH key pairs
- Granular Permissions: Dozvole kao što su Read, Write, Delete i List mogu biti dodeljene lokalnim korisnicima za do 100 kontejnera.
- Networking Considerations: SFTP konekcije se rade preko porta 22. Azure podržava mrežne konfiguracije kao što su firewalls, private endpoints ili virtual networks za zaštitu SFTP saobraćaja.
- Protocol Support: SFTP radi sa Blob Storage account-ima konfigurisanim sa hierarchical namespace (HNS). Ovo organizuje blob-ove u direktorijume i poddirektorijume radi lakše navigacije.
- Security: SFTP koristi lokalne korisničke identitete za autentikaciju i ne integriše se sa RBAC ili ABAC. Svaki lokalni korisnik može da se autentifikuje putem:
- Azure-generated passwords
- Public-private SSH key pairs
- Granular Permissions: Dozvole kao što su Read, Write, Delete i List mogu se dodeliti lokalnim korisnicima za do 100 containers.
- Networking Considerations: SFTP konekcije se uspostavljaju preko porta 22. Azure podržava mrežne konfiguracije kao što su firewalls, private endpoints, ili virtual networks za zaštitu SFTP saobraćaja.
### Zahtevi za podešavanje
### Zahtevi za postavljanje
- Hierarchical Namespace: HNS mora biti omogućen prilikom kreiranja storage account-a.
- Supported Encryption: Zahteva Microsoft Security Development Lifecycle (SDL)-odobrene kriptografske algoritme (npr. rsa-sha2-256, ecdsa-sha2-nistp256).
- Supported Encryption: Zahteva Microsoft Security Development Lifecycle (SDL)-approved kriptografske algoritme (npr. rsa-sha2-256, ecdsa-sha2-nistp256).
- SFTP Configuration:
- Enable SFTP on the storage account.
- Create local user identities with appropriate permissions.
- Configure home directories for users to define their starting location within the container.
- Enable SFTP on the storage account.
- Create local user identities with appropriate permissions.
- Configure home directories for users to define their starting location within the container.
### Dozvole
| Dozvola | Simbol | Opis |
| Permission | Symbol | Description |
| ---------------------- | ------ | ------------------------------------ |
| **Read** | `r` | Čitanje sadržaja fajla. |
| **Write** | `w` | Upload fajlova i kreiranje direktorijuma. |
| **List** | `l` | Lista sadržaja direktorijuma. |
| **Write** | `w` | Otprema fajlova i kreiranje direktorijuma. |
| **List** | `l` | Listanje sadržaja direktorijuma. |
| **Delete** | `d` | Brisanje fajlova ili direktorijuma. |
| **Create** | `c` | Kreiranje fajlova ili direktorijuma. |
| **Modify Ownership** | `o` | Promena vlasnika (user ili grupa). |
| **Modify Permissions** | `p` | Promena ACL-a na fajlovima ili direktorijumima. |
| **Modify Ownership** | `o` | Promena owning user ili grupe. |
| **Modify Permissions** | `p` | Promena ACL-ova na fajlovima ili direktorijumima. |
## Enumeracija
@@ -357,7 +372,7 @@ az storage account local-user list \
{{#tab name="Az PowerShell" }}
<details>
<summary>Az PowerShell enumeration</summary>
<summary>Az PowerShell enumeracija</summary>
```powershell
# Get storage accounts
Get-AzStorageAccount | fl
@@ -420,7 +435,7 @@ New-AzStorageBlobSASToken `
{{#endtab }}
{{#endtabs }}
### Deljene datoteke
### Deljeni fajlovi
{{#ref}}
az-file-shares.md
@@ -432,7 +447,7 @@ az-file-shares.md
../az-privilege-escalation/az-storage-privesc.md
{{#endref}}
## Nakon eksploatacije
## Post-eksploatacija
{{#ref}}
../az-post-exploitation/az-blob-storage-post-exploitation.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 Rezervni ključ (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)