Az - Blob Storage
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
З документації: Azure Blob storage - це об'єктне сховище Microsoft для хмари. Blob storage оптимізовано для зберігання величезних обсягів неструктурованих даних. Неструктуровані дані - це дані, які не відповідають певній моделі або визначенню даних, такі як текст або бінарні дані.
Blob storage пропонує три типи ресурсів:
обліковий запис сховища (унікальна назва)
контейнер в обліковому записі сховища (папка)
blob в контейнері
Blob storage |
|
Azure Data Lake Storage Gen2 |
|
Azure Files |
|
Queue storage |
|
Table storage |
|
Використовуйте принципи Azure AD через RBAC ролі.
Ключі доступу: Використовуйте ключі доступу облікового запису сховища. Це забезпечує повний доступ до облікового запису сховища.
Спільний доступ до підпису (SAS): Обмежений за часом та специфічні дозволи.
Ви можете згенерувати SAS URL з ключем доступу (складніше для виявлення).
Оскільки SAS генерується з ключа доступу, якщо він буде оновлений, SAS перестане працювати.
Якщо "Дозволити публічний доступ до blob" увімкнено (за замовчуванням вимкнено), можливо:
Надати публічний доступ для читання blob (необхідно знати назву).
Переглядати blob контейнера та читати їх.
Якщо ви знайдете будь-яке сховище, до якого можете підключитися, ви можете використовувати інструмент Microsoft Azure Storage Explorer для цього.
З документації: Спільний доступ до підпису (SAS) забезпечує безпечний делегований доступ до ресурсів у вашому обліковому записі сховища. З SAS ви маєте детальний контроль над тим, як клієнт може отримати доступ до ваших даних. Наприклад:
Які ресурси може отримати клієнт.
Які дозволи вони мають на ці ресурси.
Як довго SAS є дійсним.
SAS URL виглядає так: 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
Використовуйте Storage Explorer для доступу до даних або python:
Ви можете забезпечити токен спільного доступу (SAS) для доступу до контейнера, каталогу або блобу, використовуючи або облікові дані Azure Active Directory (Azure AD), або ключ облікового запису. Щоб створити SAS делегування користувача, спочатку потрібно запитати ключ делегування користувача, який ви потім використовуєте для підписання SAS.
Підтримується SAS спільного доступу делегування користувача (SAS) як в Azure Blob Storage, так і в Azure Data Lake Storage Gen2. Однак важливо зазначити, що Збережені політики доступу не сумісні з SAS делегування користувача.
Зверніть увагу, що SAS делегування користувача забезпечується обліковими даними Azure AD замість ключів облікового запису зберігання. Це запобігає клієнтам/додаткам зберігати/отримувати ключі зберігання для створення SAS.
SAS сервісу забезпечується ключем облікового запису зберігання. SAS сервісу делегує доступ до ресурсу лише в одному з сервісів Azure Storage: Blob storage, Queue storage, Table storage або Azure Files. URI для SAS на рівні сервісу складається з URI до ресурсу, для якого SAS делегуватиме доступ, за яким слідує токен SAS.
Щоб використовувати облікові дані Azure Active Directory (Azure AD) для забезпечення SAS для контейнера або блобу, використовуйте SAS делегування користувача.
SAS облікового запису забезпечується одним з ключів облікового запису зберігання (їх є 2). SAS облікового запису делегує доступ до ресурсів в одному або кількох сервісах зберігання. Усі операції, доступні через SAS сервісу або SAS делегування користувача, також доступні через SAS облікового запису.
з документації: Створивши SAS облікового запису, ви можете:
Делегувати доступ до операцій на рівні сервісу, які наразі недоступні з SAS, специфічного для сервісу, таких як операції Get/Set Service Properties
та Get Service Stats
.
Делегувати доступ до більш ніж одного сервісу в обліковому записі зберігання одночасно. Наприклад, ви можете делегувати доступ до ресурсів як в Azure Blob Storage, так і в Azure Files, використовуючи SAS облікового запису.
Делегувати доступ до операцій запису та видалення для контейнерів, черг, таблиць та загальних файлів, які недоступні з SAS, специфічного для об'єкта.
Вказати IP-адресу або діапазон IP-адрес, з яких приймати запити.
Вказати HTTP-протокол, з якого приймати запити (або HTTPS, або HTTP/HTTPS).
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)