Az - Storage Accounts & Blobs
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Azure Bergingsrekeninge is fundamentele dienste in Microsoft Azure wat skaalbare, veilige, en hoogs beskikbare wolk berging vir verskeie datatipes bied, insluitend blobs (binaire groot voorwerpe), lêers, rye, en tabelle. Hulle dien as houers wat hierdie verskillende bergingsdienste saamgroepeer onder 'n enkele naamruimte vir maklike bestuur.
Hoof konfigurasie opsies:
Elke bergingsrekening moet 'n unieke naam oor alle Azure hê.
Elke bergingsrekening word in 'n streek of in 'n Azure uitgebreide sone ontplooi.
Dit is moontlik om die premium weergawe van die bergingsrekening te kies vir beter prestasie.
Dit is moontlik om tussen 4 tipes redundansie te kies om te beskerm teen rak, skyf en datacentrum foute.
Sekuriteitskonfigurasie opsies:
Vereis veilige oordrag vir REST API operasies: Vereis TLS in enige kommunikasie met die berging.
Laat anonieme toegang op individuele houers toe: As nie, sal dit nie moontlik wees om anonieme toegang in die toekoms toe te laat nie.
Aktiveer bergingsrekening sleutel toegang: As nie, sal toegang met Gedeelde Sleutels verbied word.
Minimum TLS weergawe.
Toegelate omvang vir kopie operasies: Laat toe vanaf enige bergingsrekening, vanaf enige bergingsrekening van dieselfde Entra tenant of vanaf bergingsrekening met privaat eindpunte in dieselfde virtuele netwerk.
Blob Berging opsies:
Laat kruis-tenant replikasie toe.
Toegangsgraad: Warm (gereeld toeganklike data), Koel en Koud (selde toeganklike data).
Netwerk opsies:
Netwerk toegang:
Laat toe vanaf alle netwerke.
Laat toe vanaf geselekteerde virtuele netwerke en IP adresse.
Deaktiveer publieke toegang en gebruik private toegang.
Privaat eindpunte: Dit laat 'n private verbinding met die bergingsrekening vanaf 'n virtuele netwerk toe.
Data beskerming opsies:
Punt-in-tyd herstel vir houers: Laat toe om houers na 'n vroeëre toestand te herstel.
Dit vereis weergawe, verandering voer, en blob sagte verwydering om geaktiveer te wees.
Aktiveer sagte verwydering vir blobs: Dit stel 'n retensieperiode in dae vir verwyderde blobs (selfs oorgeskryf).
Aktiveer sagte verwydering vir houers: Dit stel 'n retensieperiode in dae vir verwyderde houers in.
Aktiveer sagte verwydering vir lêer gedeeltes: Dit stel 'n retensieperiode in dae vir verwyderde lêer gedeeltes in.
Aktiveer weergawe vir blobs: Handhaaf vorige weergawes van jou blobs.
Aktiveer blob verandering voer: Hou logs van skep, wysiging, en verwydering veranderinge aan blobs.
Aktiveer weergawe-vlak onveranderlikheid ondersteuning: Laat jou toe om 'n tyd-gebaseerde retensiebeleid op rekening-vlak in te stel wat op alle blob weergawes van toepassing sal wees.
Weergave-vlak onveranderlikheid ondersteuning en punt-in-tyd herstel vir houers kan nie gelyktydig geaktiveer word nie.
Enkripsie konfigurasie opsies:
Enkripsie tipe: Dit is moontlik om Microsoft-beheerde sleutels (MMK) of Kliënt-beheerde sleutels (CMK) te gebruik.
Aktiveer infrastruktuur enkripsie: Laat toe om die data "vir meer sekuriteit" dubbel te enkripteer.
Blob berging
https://<storage-account>.blob.core.windows.net
https://<stg-acc>.blob.core.windows.net/<container-name>?restype=container&comp=list
Data Lake Berging
https://<storage-account>.dfs.core.windows.net
Azure Lêers
https://<storage-account>.file.core.windows.net
Rye berging
https://<storage-account>.queue.core.windows.net
Tabel berging
https://<storage-account>.table.core.windows.net
As "Laat Blob publieke toegang toe" geaktiveer is (standaard gedeaktiveer), wanneer 'n houer geskep word, is dit moontlik om:
Publieke toegang te gee om blobs te lees (jy moet die naam weet).
Lys houer blobs en lees hulle.
Dit heeltemal privaat te maak.
As jy enige berging vind waarmee jy kan verbind, kan jy die hulpmiddel Microsoft Azure Storage Explorer gebruik om dit te doen.
Dit is moontlik om Entra ID beginsels met RBAC rolle te gebruik om toegang tot bergingsrekeninge te verkry en dit is die aanbevole manier.
Die bergingsrekeninge het toegang sleutels wat gebruik kan word om toegang te verkry. Dit bied volledige toegang tot die bergingsrekening.
Dit is moontlik om Gedeelde Sleutels te genereer wat met die toegang sleutels onderteken is om toegang tot sekere hulpbronne via 'n ondertekende URL te autoriseer.
Let daarop dat die CanonicalizedResource
deel die bergingsdienste hulpbron (URI) verteenwoordig. En as enige deel in die URL geënkodeer is, moet dit ook binne die CanonicalizedResource
geënkodeer wees.
Dit is standaard gebruik deur az
cli om versoeke te autentiseer. Om dit te laat gebruik van die Entra ID beginsel akrediteer, dui die param --auth-mode login
aan.
Dit is moontlik om 'n gedeelde sleutel vir blob, rye en lêer dienste te genereer deur die volgende inligting te onderteken:
Dit is moontlik om 'n gedeelde sleutel vir tabel dienste te genereer deur die volgende inligting te teken:
Dit is moontlik om 'n lite gedeelde sleutel vir blob, wagqueue en lêer dienste te genereer deur die volgende inligting te teken:
Dit is moontlik om 'n lite gedeelde sleutel vir tabel dienste te genereer deur die volgende inligting te teken:
Dan, om die sleutel te gebruik, kan dit in die Outeurskap-header gedoen word volgens die sintaksis:
Gedeelde Toegang Handtekeninge (SAS) is veilige, tyd-beperkte URL's wat spesifieke toestemmings gee om hulpbronne in 'n Azure Storage-rekening te benader sonder om die rekening se toegang sleutels bloot te stel. Terwyl toegang sleutels volle administratiewe toegang tot alle hulpbronne bied, laat SAS granular beheer toe deur toestemmings (soos lees of skryf) te spesifiseer en 'n vervaldatum te definieer.
Gebruiker delegasie SAS: Dit word geskep vanaf 'n Entra ID-prinsip wat die SAS sal onderteken en die toestemmings van die gebruiker na die SAS sal delegeer. Dit kan slegs gebruik word met blob en data meer berging (docs). Dit is moontlik om alle gegenereerde gebruiker gedelegeerde SAS te herroep.
Alhoewel dit moontlik is om 'n delegasie SAS te genereer met "meer" toestemmings as wat die gebruiker het. As die prinsip egter nie hulle het nie, sal dit nie werk nie (geen privesc).
Diens SAS: Dit word onderteken met een van die opslagrekening toegang sleutels. Dit kan gebruik word om toegang tot spesifieke hulpbronne in 'n enkele opslagdiens te gee. As die sleutel hernu word, sal die SAS ophou werk.
Rekening SAS: Dit is ook onderteken met een van die opslagrekening toegang sleutels. Dit gee toegang tot hulpbronne oor 'n opslagrekening dienste (Blob, Queue, Table, File) en kan diensvlak operasies insluit.
'n SAS URL onderteken deur 'n toegang sleutel lyk soos volg:
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
'n SAS URL onderteken as 'n gebruiker delegasie lyk soos volg:
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
Let op sommige http params:
Die se
param dui die vervaldatum van die SAS aan
Die sp
param dui die toestemmings van die SAS aan
Die sig
is die handtekening wat die SAS valideer
Wanneer 'n SAS gegenereer word, is dit nodig om die toestemmings aan te dui wat dit moet gee. Afhangende van die objek waarop die SAS gegenereer word, kan verskillende toestemmings ingesluit word. Byvoorbeeld:
(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
Azure Blob Berging ondersteun nou die SSH File Transfer Protocol (SFTP), wat veilige lêer oordrag en bestuur direk na Blob Berging moontlik maak sonder om pasgemaakte oplossings of derdeparty produkte te vereis.
Protokol Ondersteuning: SFTP werk met Blob Berging rekeninge wat met hiërargiese naamruimte (HNS) geconfigureer is. Dit organiseer blobs in gidse en subgidse vir makliker navigasie.
Sekuriteit: SFTP gebruik plaaslike gebruikersidentiteite vir verifikasie en integreer nie met RBAC of ABAC nie. Elke plaaslike gebruiker kan verifieer via:
Azure-gegenereerde wagwoorde
Publiek-private SSH sleutel pare
Granulêre Toestemmings: Toestemmings soos Lees, Skryf, Verwyder, en Lys kan aan plaaslike gebruikers toegeken word vir tot 100 houers.
Netwerk oorwegings: SFTP verbindings word deur poort 22 gemaak. Azure ondersteun netwerk konfigurasies soos vuurmure, private eindpunte, of virtuele netwerke om SFTP-verkeer te beveilig.
Hiërargiese Naamruimte: HNS moet geaktiveer wees wanneer die opslagrekening geskep word.
Ondersteunde Enkripsie: Vereis Microsoft Security Development Lifecycle (SDL)-goedgekeurde kriptografiese algoritmes (bv. rsa-sha2-256, ecdsa-sha2-nistp256).
SFTP Konfigurasie:
Aktiveer SFTP op die opslagrekening.
Skep plaaslike gebruikersidentiteite met toepaslike toestemmings.
Konfigureer tuisgidse vir gebruikers om hul beginplek binne die houer te definieer.
Lees
r
Lees lêerinhoud.
Skryf
w
Laai lêers op en skep gidse.
Lys
l
Lys inhoud van gidse.
Verwyder
d
Verwyder lêers of gidse.
Skep
c
Skep lêers of gidse.
Verander Eienaarskap
o
Verander die eienaar gebruiker of groep.
Verander Toestemmings
p
Verander ACL's op lêers of gidse.
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)