From 01865b7f8f010ad69dab234a8bec00a217a22b90 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 13 Jan 2026 15:18:41 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/azure-security/az-services/az-stor --- .../azure-security/az-services/az-storage.md | 232 ++++++++++-------- 1 file changed, 133 insertions(+), 99 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 79b12c87d..b45214cf2 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-storage.md +++ b/src/pentesting-cloud/azure-security/az-services/az-storage.md @@ -1,97 +1,117 @@ -# Az - Облікові записи зберігання та блоби +# Az - Облікові записи сховища та Blobs {{#include ../../../banners/hacktricks-training.md}} ## Основна інформація -Облікові записи зберігання Azure є основними службами в Microsoft Azure, які забезпечують масштабоване, безпечне та високо доступне хмарне **зберігання для різних типів даних**, включаючи блоби (бінарні великі об'єкти), файли, черги та таблиці. Вони слугують контейнерами, які групують ці різні служби зберігання під єдиним простором імен для зручного управління. +Azure Storage Accounts — це базові сервіси в Microsoft Azure, які забезпечують масштабоване, захищене та високо доступне хмарне **зберігання для різних типів даних**, включно з blobs (binary large objects), файли, черги та таблиці. Вони виступають контейнерами, що групують ці різні сервіси зберігання під єдиним простором імен для зручного управління. **Основні параметри конфігурації**: -- Кожен обліковий запис зберігання повинен мати **унікальне ім'я серед усіх Azure**. -- Кожен обліковий запис зберігання розгортається в **регіоні** або в розширеній зоні Azure. -- Можна вибрати **преміум** версію облікового запису зберігання для кращої продуктивності. -- Можна вибрати серед **4 типів надмірності для захисту** від відмов **в стійках, дисках та дата-центрах**. +- Кожен обліковий запис сховища повинен мати **унікальну назву в межах всього Azure**. +- Кожен обліковий запис розгортається в **регіоні** або в розширеній зоні Azure +- Можна вибрати **premium**-версію облікового запису сховища для кращої продуктивності +- Можна обрати серед **4 типів реплікації для захисту** від відмов стійки, диска та дата-центру. -**Параметри конфігурації безпеки**: +**Параметри безпеки**: -- **Вимагати безпечну передачу для операцій REST API**: Вимагати TLS у будь-якому спілкуванні зі зберіганням. -- **Дозволяє ввімкнення анонімного доступу до окремих контейнерів**: Якщо ні, у майбутньому не буде можливості ввімкнути анонімний доступ. -- **Увімкнути доступ за ключем облікового запису зберігання**: Якщо ні, доступ з використанням спільних ключів буде заборонено. -- **Мінімальна версія TLS**. -- **Дозволений обсяг для операцій копіювання**: Дозволити з будь-якого облікового запису зберігання, з будь-якого облікового запису зберігання з того ж орендаря Entra або з облікового запису зберігання з приватними кінцевими точками в тій же віртуальній мережі. +- **Require secure transfer for REST API operations**: Вимагати TLS у будь-якому з'єднанні зі сховищем +- **Allows enabling anonymous access on individual containers**: Якщо вимкнено, у майбутньому неможливо буде увімкнути анонімний доступ +- **Enable storage account key access**: Якщо вимкнено, доступ за допомогою Shared Keys буде заборонено +- **Minimum TLS version** +- **Permitted scope for copy operations**: Дозволений обсяг для операцій копіювання: дозволити з будь-якого storage account, з будь-якого storage account з того самого Entra tenant або зі storage account з private endpoints в тій же virtual network. -**Параметри зберігання блобів**: +**Параметри Blob Storage**: -- **Дозволити крос-орендаторну реплікацію**. -- **Рівень доступу**: Гарячий (часто доступні дані), Холодний і Прохолодний (рідко доступні дані). +- **Allow cross-tenant replication** +- **Access tier**: Hot (часто використовувані дані), Cool і Cold (рідко використовувані дані) **Параметри мережі**: -- **Доступ до мережі**: -- Дозволити з усіх мереж. -- Дозволити з вибраних віртуальних мереж та IP-адрес. -- Вимкнути публічний доступ і використовувати приватний доступ. -- **Приватні кінцеві точки**: Дозволяє приватне з'єднання з обліковим записом зберігання з віртуальної мережі. +- **Network access**: +- Дозволити з усіх мереж +- Дозволити з вибраних virtual networks та IP-адрес +- Вимкнути публічний доступ і використовувати приватний доступ +- **Private endpoints**: Дозволяє приватне з'єднання з обліковим записом сховища з virtual network **Параметри захисту даних**: -- **Відновлення на момент часу для контейнерів**: Дозволяє відновити контейнери до попереднього стану. -- Це вимагає ввімкнення версійності, зміни потоку та м'якого видалення блобів. -- **Увімкнути м'яке видалення для блобів**: Дозволяє період зберігання в днях для видалених блобів (навіть перезаписаних). -- **Увімкнути м'яке видалення для контейнерів**: Дозволяє період зберігання в днях для видалених контейнерів. -- **Увімкнути м'яке видалення для загальних папок**: Дозволяє період зберігання в днях для видалених загальних папок. -- **Увімкнути версійність для блобів**: Зберігати попередні версії ваших блобів. -- **Увімкнути зміну потоку блобів**: Зберігати журнали створення, модифікації та видалення змін до блобів. -- **Увімкнути підтримку незмінності на рівні версії**: Дозволяє встановити політику зберігання на основі часу на рівні облікового запису, яка буде застосовуватися до всіх версій блобів. -- Підтримка незмінності на рівні версії та відновлення на момент часу для контейнерів не можуть бути увімкнені одночасно. +- **Point-in-time restore for containers**: Дозволяє відновити контейнери до попереднього стану +- Потребує увімкнення versioning, change feed та blob soft delete. +- **Enable soft delete for blobs**: Встановлює період збереження в днях для видалених blobs (навіть перезаписаних) +- **Enable soft delete for containers**: Встановлює період збереження в днях для видалених контейнерів +- **Enable soft delete for file shares**: Встановлює період збереження в днях для видалених file shares +- **Enable versioning for blobs**: Зберігати попередні версії ваших blobs +- **Enable blob change feed**: Зберігати журнали створення, модифікації та видалення змін у blobs +- **Enable version-level immutability support**: Дозволяє встановити політику збереження на рівні облікового запису, що застосовується до всіх версій blob. +- Підтримка immutability на рівні версій і point-in-time restore для контейнерів не можна увімкнути одночасно. -**Параметри конфігурації шифрування**: +**Параметри шифрування**: -- **Тип шифрування**: Можна використовувати ключі, керовані Microsoft (MMK) або ключі, керовані клієнтом (CMK). -- **Увімкнути інфраструктурне шифрування**: Дозволяє подвоїти шифрування даних "для більшої безпеки". +- **Encryption type**: Можна використовувати Microsoft-managed keys (MMK) або Customer-managed keys (CMK) +- **Enable infrastructure encryption**: Дозволяє подвійне шифрування даних "для підвищення безпеки" -### Кінцеві точки зберігання +### Кінцеві точки сховища -
Служба зберіганняКінцева точка
Зберігання блобівhttps://.blob.core.windows.net

https://.blob.core.windows.net/?restype=container&comp=list
Зберігання Data Lakehttps://.dfs.core.windows.net
Azure Fileshttps://.file.core.windows.net
Зберігання чергhttps://.queue.core.windows.net
Зберігання таблицьhttps://.table.core.windows.net
+
Сервіс зберіганняКінцева точка
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
-### Публічне відкриття +### Публічна доступність -Якщо "Дозволити публічний доступ до блобів" **увімкнено** (за замовчуванням вимкнено), при створенні контейнера можна: +Якщо "Allow Blob public access" **увімкнено** (за замовчуванням вимкнено), при створенні контейнера можливо: -- Надати **публічний доступ для читання блобів** (необхідно знати ім'я). -- **Переглядати блоби контейнера** та **читати** їх. -- Зробити його повністю **приватним**. +- Надати **публічний доступ для читання blobs** (потрібно знати ім'я). +- **Перелік blob'ів контейнера** та **читання** їх. +- Зробити його повністю **приватним**
-### Підключення до зберігання +#### Аудит анонімного доступу до blob -Якщо ви знайдете будь-яке **зберігання**, до якого можете підключитися, ви можете використовувати інструмент [**Microsoft Azure Storage Explorer**](https://azure.microsoft.com/es-es/products/storage/storage-explorer/) для цього. +- **Знайти storage accounts**, які можуть розкривати дані: `az storage account list | jq -r '.[] | select(.properties.allowBlobPublicAccess==true) | .name'`. Якщо `allowBlobPublicAccess` є `false`, ви не зможете увімкнути публічний доступ для контейнерів. +- **Перевірити ризикові облікові записи**, щоб підтвердити прапорець та інші слабкі налаштування: `az storage account show --name --query '{allow:properties.allowBlobPublicAccess, minTls:properties.minimumTlsVersion}'`. +- **Перелічити експозицію на рівні контейнерів** там, де прапорець увімкнено: +```bash +az storage container list --account-name \ +--query '[].{name:name, access:properties.publicAccess}' +``` +- `"Blob"`: дозволено анонімне читання **лише коли ім'я blob відоме** (без листингу). +- `"Container"`: анонімний **листинг + читання** кожного blob. +- `null`: приватний; потрібна автентифікація. +- **Підтвердити доступ** без облікових даних: +- Якщо `publicAccess` встановлено в `Container`, анонімний листинг працює: `curl "https://.blob.core.windows.net/?restype=container&comp=list"`. +- Для обох `Blob` та `Container`, анонімне завантаження blob працює, коли ім'я відоме: +```bash +az storage blob download -c -n --account-name --file /dev/stdout +# or via raw HTTP +curl "https://.blob.core.windows.net//" +``` +### Підключення до сховища -## Доступ до зберігання +Якщо ви знайдете будь-яке **сховище**, до якого можна підключитися, ви можете використовувати інструмент [**Microsoft Azure Storage Explorer**](https://azure.microsoft.com/es-es/products/storage/storage-explorer/) для цього. + +## Доступ до сховища ### RBAC -Можна використовувати принципи Entra ID з **ролями RBAC** для доступу до облікових записів зберігання, і це рекомендований спосіб. +Можна використовувати принципали Entra ID з **RBAC roles** для доступу до облікових записів сховища, і це рекомендований підхід. ### Ключі доступу -Облікові записи зберігання мають ключі доступу, які можна використовувати для доступу до них. Це забезпечує **повний доступ до облікового запису зберігання.** +Облікові записи сховища мають ключі доступу, за допомогою яких можна отримати доступ. Це надає **повний доступ до облікового запису сховища.**
-### **Спільні ключі та легкі спільні ключі** +### **Shared Keys & Lite Shared Keys** -Можна [**згенерувати спільні ключі**](https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key), підписані ключами доступу, для авторизації доступу до певних ресурсів через підписане URL. +Можна [**generate Shared Keys**](https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key) підписані ключами доступу для авторизації доступу до певних ресурсів через підписане URL. > [!NOTE] -> Зверніть увагу, що частина `CanonicalizedResource` представляє ресурс служби зберігання (URI). І якщо будь-яка частина в URL закодована, вона також повинна бути закодована всередині `CanonicalizedResource`. +> Зверніть увагу, що частина `CanonicalizedResource` представляє ресурс служби сховища (URI). І якщо будь-яка частина в URL закодована, вона також має бути закодована всередині `CanonicalizedResource`. > [!NOTE] -> Це **використовується за замовчуванням `az` cli** для аутентифікації запитів. Щоб використовувати облікові дані принципу Entra ID, вкажіть параметр `--auth-mode login`. +> За замовчуванням для автентифікації запитів **використовується `az` cli**. Щоб змусити його використовувати облікові дані принципала Entra ID, вкажіть параметр `--auth-mode login`. -- Можна згенерувати **спільний ключ для блобів, черг та файлових служб**, підписавши таку інформацію: +- Можна згенерувати **shared key для служб blob, queue та file**, підписавши таку інформацію: ```bash StringToSign = VERB + "\n" + Content-Encoding + "\n" + @@ -108,7 +128,7 @@ Range + "\n" + CanonicalizedHeaders + CanonicalizedResource; ``` -- Можливо згенерувати **спільний ключ для сервісів таблиць**, підписавши таку інформацію: +- Можна згенерувати **shared key for table services**, підписавши таку інформацію: ```bash StringToSign = VERB + "\n" + Content-MD5 + "\n" + @@ -116,7 +136,7 @@ Content-Type + "\n" + Date + "\n" + CanonicalizedResource; ``` -- Можливо згенерувати **lite shared key для blob, queue та file services**, підписавши наступну інформацію: +- Можна згенерувати **lite shared key for blob, queue and file services** підписавши наступну інформацію: ```bash StringToSign = VERB + "\n" + Content-MD5 + "\n" + @@ -125,12 +145,12 @@ Date + "\n" + CanonicalizedHeaders + CanonicalizedResource; ``` -- Можливо згенерувати **lite shared key для сервісів таблиць**, підписавши таку інформацію: +- Можна згенерувати **lite shared key for table services**, підписавши таку інформацію: ```bash StringToSign = Date + "\n" CanonicalizedResource ``` -Тоді, щоб використовувати ключ, це можна зробити в заголовку Authorization, дотримуючись синтаксису: +Тоді, щоб використати ключ, його можна передати в заголовку Authorization за таким синтаксисом: ```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 ``` -### **Shared Access Signature** (SAS) +### **Підпис для спільного доступу** (SAS) -Shared Access Signatures (SAS) - це безпечні, обмежені за часом URL-адреси, які **надають конкретні дозволи для доступу до ресурсів** в обліковому записі Azure Storage без розкриття ключів доступу облікового запису. Хоча ключі доступу надають повний адміністративний доступ до всіх ресурсів, SAS дозволяє здійснювати детальний контроль, вказуючи дозволи (наприклад, читання або запис) і визначаючи час закінчення терміну дії. +Shared Access Signatures (SAS) — це безпечні, обмежені в часі URL, які надають конкретні дозволи на доступ до ресурсів в Azure Storage account без розкриття ключів доступу облікового запису. У той час як access keys дають повний адміністративний доступ до всіх ресурсів, SAS дозволяє тонко керувати доступом, вказуючи дозволи (наприклад read або write) та визначаючи час закінчення дії. -#### Типи SAS +#### SAS Types -- **SAS делегування користувача**: Це створюється з **Entra ID principal**, який підпише SAS і делегує дозволи від користувача до SAS. Його можна використовувати лише з **blob і data lake storage** ([docs](https://learn.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas)). Можливо **анулювати** всі згенеровані SAS делегування користувача. -- Навіть якщо можливо згенерувати SAS делегування з "більшими" дозволами, ніж ті, які має користувач. Однак, якщо у принципала їх немає, це не спрацює (без підвищення привілеїв). -- **Service SAS**: Це підписується за допомогою одного з **ключів доступу** облікового запису. Його можна використовувати для надання доступу до конкретних ресурсів в одному сервісі зберігання. Якщо ключ буде оновлено, SAS перестане працювати. -- **Account SAS**: Він також підписується одним з **ключів доступу** облікового запису. Він надає доступ до ресурсів через сервіси облікового запису зберігання (Blob, Queue, Table, File) і може включати операції на рівні сервісу. +- **User delegation SAS**: Створюється від імені **Entra ID principal**, який підписує SAS і делегує дозволи від користувача до SAS. Може використовуватись лише з **blob and data lake storage** ([docs](https://learn.microsoft.com/en-us/rest/api/storageservices/create-user-delegation-sas)). Можна **revoke** всі згенеровані user delegated SAS. +- Навіть якщо можливо згенерувати delegation SAS з "більшими" дозволами, ніж має користувач, якщо принципал їх не має, це не спрацює (немає privesc). +- **Service SAS**: Підписується за допомогою одного з access keys облікового запису storage. Може надавати доступ до конкретних ресурсів в межах однієї storage service. Якщо ключ буде оновлено, SAS перестане працювати. +- **Account SAS**: Також підписується одним з access keys облікового запису storage. Надає доступ до ресурсів по всіх сервісах storage account (Blob, Queue, Table, File) і може включати операції на рівні сервісу. -URL-адреса SAS, підписана **ключем доступу**, виглядає так: +SAS URL, підписаний за допомогою **access key**, виглядає так: - `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` -URL-адреса SAS, підписана як **делегування користувача**, виглядає так: +SAS URL, підписаний як **user delegation**, виглядає так: - `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` -Зверніть увагу на деякі **параметри http**: +Зверніть увагу на деякі **http params**: -- Параметр **`se`** вказує на **дату закінчення терміну дії** SAS -- Параметр **`sp`** вказує на **дозволи** SAS -- **`sig`** - це **підпис**, що підтверджує SAS +- Параметр **`se`** вказує **дату закінчення дії** SAS +- Параметр **`sp`** вказує **дозволи** SAS +- **`sig`** — це **підпис**, що валідовує SAS -#### Дозволи SAS +#### SAS permissions -При генерації SAS потрібно вказати дозволи, які він повинен надавати. В залежності від об'єкта, над яким генерується SAS, можуть бути включені різні дозволи. Наприклад: +При генерації SAS потрібно вказати дозволи, які він має надавати. Залежно від об'єкта, для якого створюється SAS, можуть включатися різні дозволи. Наприклад: - (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 для Azure Blob Storage +## SFTP Support for Azure Blob Storage -Azure Blob Storage тепер підтримує протокол передачі файлів SSH (SFTP), що дозволяє безпечну передачу та управління файлами безпосередньо до Blob Storage без необхідності в кастомних рішеннях або продуктах третіх сторін. +Azure Blob Storage тепер підтримує SSH File Transfer Protocol (SFTP), що дозволяє безпечно передавати файли та керувати ними безпосередньо в Blob Storage без необхідності кастомних рішень або сторонніх продуктів. -### Ключові особливості +### Key Features -- Підтримка протоколу: SFTP працює з обліковими записами Blob Storage, налаштованими з ієрархічним простором імен (HNS). Це організовує блоби в каталоги та підкаталоги для зручнішої навігації. -- Безпека: SFTP використовує локальні ідентичності користувачів для аутентифікації і не інтегрується з RBAC або ABAC. Кожен локальний користувач може аутентифікуватися через: -- Паролі, згенеровані Azure -- Пара ключів SSH (публічний-приватний) -- Детальні дозволи: Дозволи, такі як Читання, Запис, Видалення та Список, можуть бути призначені локальним користувачам для до 100 контейнерів. -- Мережеві міркування: З'єднання SFTP здійснюються через порт 22. Azure підтримує мережеві конфігурації, такі як брандмауери, приватні кінцеві точки або віртуальні мережі для захисту трафіку SFTP. +- Protocol Support: SFTP працює з Blob Storage accounts, сконфігурованими з hierarchical namespace (HNS). Це організовує blobs у директорії та піддиректорії для зручнішої навігації. +- Security: SFTP використовує локальні user identities для аутентифікації і не інтегрується з RBAC або ABAC. Кожен локальний user може аутентифікуватись через: +- Azure-generated passwords +- Public-private SSH key pairs +- Granular Permissions: Дозволи такі як Read, Write, Delete та List можуть бути призначені локальним users для до 100 containers. +- Networking Considerations: SFTP-з'єднання здійснюються через порт 22. Azure підтримує мережеві конфігурації, як-от firewalls, private endpoints або virtual networks для захисту SFTP-трафіку. -### Вимоги до налаштування +### Setup Requirements -- Ієрархічний простір імен: HNS повинен бути увімкнено при створенні облікового запису зберігання. -- Підтримуване шифрування: Потрібні криптографічні алгоритми, схвалені Microsoft Security Development Lifecycle (SDL) (наприклад, rsa-sha2-256, ecdsa-sha2-nistp256). -- Налаштування SFTP: -- Увімкніть SFTP на обліковому записі зберігання. -- Створіть локальні ідентичності користувачів з відповідними дозволами. -- Налаштуйте домашні каталоги для користувачів, щоб визначити їх початкове місце розташування в контейнері. +- Hierarchical Namespace: HNS має бути увімкнено при створенні storage account. +- Supported Encryption: Потребує криптографічних алгоритмів, схвалених Microsoft Security Development Lifecycle (SDL) (наприклад rsa-sha2-256, ecdsa-sha2-nistp256). +- SFTP Configuration: +- Увімкніть SFTP на storage account. +- Створіть локальні user identities з відповідними дозволами. +- Налаштуйте home directories для user, щоб визначити їх початкове розташування в контейнері. -### Дозволи +### Permissions -| Дозвіл | Символ | Опис | -| --------------------- | ------ | ------------------------------------- | -| **Читання** | `r` | Читати вміст файлу. | -| **Запис** | `w` | Завантажувати файли та створювати каталоги. | -| **Список** | `l` | Переглядати вміст каталогів. | -| **Видалення** | `d` | Видаляти файли або каталоги. | -| **Створення** | `c` | Створювати файли або каталоги. | -| **Зміна власності** | `o` | Змінювати користувача або групу, що володіє. | -| **Зміна дозволів** | `p` | Змінювати ACL на файлах або каталогах. | +| Permission | Symbol | Description | +| ---------------------- | ------ | ------------------------------------ | +| **Read** | `r` | Читання вмісту файлу. | +| **Write** | `w` | Завантаження файлів та створення директорій. | +| **List** | `l` | Перелік вмісту директорій. | +| **Delete** | `d` | Видалення файлів або директорій. | +| **Create** | `c` | Створення файлів або директорій. | +| **Modify Ownership** | `o` | Зміна власника або групи. | +| **Modify Permissions** | `p` | Зміна ACLs на файлах або директоріях. | ## Перерахування {{#tabs }} {{#tab name="az cli" }} + +
+az cli enumeration ```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 + +
+Az PowerShell enumeration +```powershell # Get storage accounts Get-AzStorageAccount | fl # Get rules to access the storage account @@ -387,28 +415,30 @@ New-AzStorageBlobSASToken ` -Permission racwdl ` -ExpiryTime (Get-Date "2024-12-31T23:59:00Z") ``` +
+ {{#endtab }} {{#endtabs }} -### Файлові спільноти +### File Shares {{#ref}} az-file-shares.md {{#endref}} -## Підвищення привілеїв +## Privilege Escalation {{#ref}} ../az-privilege-escalation/az-storage-privesc.md {{#endref}} -## Постексплуатація +## Post Exploitation {{#ref}} ../az-post-exploitation/az-blob-storage-post-exploitation.md {{#endref}} -## Персистентність +## 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}}