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)
Z dokumentacji: Azure Blob storage to rozwiązanie Microsoftu do przechowywania obiektów w chmurze. Blob storage jest zoptymalizowane do przechowywania ogromnych ilości danych niestrukturalnych. Dane niestrukturalne to dane, które nie przestrzegają określonego modelu danych lub definicji, takie jak dane tekstowe lub binarne.
Blob storage oferuje trzy typy zasobów:
konto magazynu (unikalna nazwa)
kontener w koncie magazynu (folder)
blob w kontenerze
Blob storage |
|
Azure Data Lake Storage Gen2 |
|
Azure Files |
|
Queue storage |
|
Table storage |
|
Użyj zasad Azure AD za pośrednictwem ról RBAC.
Klucze dostępu: Użyj kluczy dostępu do konta magazynu. To zapewnia pełny dostęp do konta magazynu.
Podpis dostępu współdzielonego (SAS): Czas ograniczony i określone uprawnienia.
Możesz wygenerować adres URL SAS z kluczem dostępu (trudniejszy do wykrycia).
Ponieważ SAS jest generowany z klucza dostępu, jeśli zostanie odnowiony, SAS przestaje działać.
Jeśli "Zezwól na publiczny dostęp do blobów" jest włączone (domyślnie wyłączone), możliwe jest:
Umożliwienie publicznego dostępu do odczytu blobów (musisz znać nazwę).
Wylistowanie blobów kontenera i odczytanie ich.
Jeśli znajdziesz jakikolwiek magazyn, do którego możesz się połączyć, możesz użyć narzędzia Microsoft Azure Storage Explorer do tego.
Z dokumentacji: Podpis dostępu współdzielonego (SAS) zapewnia bezpieczny delegowany dostęp do zasobów w Twoim koncie magazynu. Dzięki SAS masz szczegółową kontrolę nad tym, jak klient może uzyskać dostęp do Twoich danych. Na przykład:
Jakie zasoby klient może uzyskać dostęp.
Jakie uprawnienia ma do tych zasobów.
Jak długo SAS jest ważny.
Adres URL SAS wygląda tak: 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
Użyj Storage Explorer do uzyskania dostępu do danych lub Pythona:
Możesz zabezpieczyć token dostępu z podpisem (SAS) do kontenera, katalogu lub obiektu, używając albo poświadczeń Azure Active Directory (Azure AD), albo klucza konta. Aby utworzyć SAS z delegacją użytkownika, musisz najpierw zażądać klucza delegacji użytkownika, który następnie wykorzystasz do podpisania SAS.
Wsparcie dla Podpisu Dostępu z Delegacją Użytkownika (SAS) jest dostępne zarówno w Azure Blob Storage, jak i Azure Data Lake Storage Gen2. Ważne jest jednak, aby zauważyć, że Zapisane Polityki Dostępu nie są zgodne z SAS z delegacją użytkownika.
Zauważ, że SAS z delegacją użytkownika jest zabezpieczony poświadczeniami Azure AD zamiast kluczy konta magazynu. Zapobiega to klientom/aplikacjom przechowywaniu/pobieraniu kluczy magazynu w celu utworzenia SAS.
SAS usługi jest zabezpieczony kluczem konta magazynu. SAS usługi deleguje dostęp do zasobu tylko w jednym z usług Azure Storage: Blob storage, Queue storage, Table storage lub Azure Files. URI dla SAS na poziomie usługi składa się z URI do zasobu, do którego SAS będzie delegować dostęp, a następnie z tokenu SAS.
Aby użyć poświadczeń Azure Active Directory (Azure AD) do zabezpieczenia SAS dla kontenera lub obiektu, użyj SAS z delegacją użytkownika.
SAS konta jest zabezpieczony jednym z kluczy konta magazynu (są 2). SAS konta deleguje dostęp do zasobów w jednej lub więcej usługach magazynowych. Wszystkie operacje dostępne za pośrednictwem SAS usługi lub SAS z delegacją użytkownika są również dostępne za pośrednictwem SAS konta.
z dokumentacji: Tworząc SAS konta, możesz:
Delegować dostęp do operacji na poziomie usługi, które nie są obecnie dostępne z SAS specyficznego dla usługi, takich jak operacje Get/Set Service Properties
i Get Service Stats
.
Delegować dostęp do więcej niż jednej usługi w koncie magazynu jednocześnie. Na przykład, możesz delegować dostęp do zasobów zarówno w Azure Blob Storage, jak i Azure Files, używając SAS konta.
Delegować dostęp do operacji zapisu i usuwania dla kontenerów, kolejek, tabel i udziałów plików, które nie są dostępne z SAS specyficznego dla obiektu.
Określić adres IP lub zakres adresów IP, z których będą akceptowane żądania.
Określić protokół HTTP, z którego będą akceptowane żądania (zarówno HTTPS, jak i HTTP/HTTPS).
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)