Az - Storage Accounts & Blobs
Last updated
Last updated
Jifunze & fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze & fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Akaunti za Hifadhi za Azure ni huduma za msingi katika Microsoft Azure zinazotoa hifadhi ya wingu inayoweza kupanuka, salama, na inayopatikana kwa urahisi kwa aina mbalimbali za data, ikiwa ni pamoja na blobs (vitu vikubwa vya binary), faili, foleni, na meza. Zinatumika kama vyombo vinavyounganisha huduma hizi tofauti za hifadhi chini ya jina moja kwa usimamizi rahisi.
Chaguzi kuu za usanidi:
Kila akaunti ya hifadhi lazima iwe na jina la kipekee katika Azure yote.
Kila akaunti ya hifadhi inapelekwa katika eneo au katika eneo la kupanua la Azure
Inawezekana kuchagua toleo la premium la akaunti ya hifadhi kwa utendaji bora
Inawezekana kuchagua kati ya aina 4 za upungufu wa hatari ili kulinda dhidi ya kushindwa kwa rack, diski na kituo cha data **.
Chaguzi za usanidi wa usalama:
Hitaji usafirishaji salama kwa shughuli za REST API: Hitaji TLS katika mawasiliano yoyote na hifadhi
Inaruhusu kuwezesha ufikiaji wa siri kwenye vyombo vya kibinafsi: Ikiwa sivyo, haitakuwa na uwezo wa kuwezesha ufikiaji wa siri katika siku zijazo
Washa ufikiaji wa funguo za akaunti ya hifadhi: Ikiwa sivyo, ufikiaji wa Funguo za Kushiriki utafungiwa
Toleo la chini la TLS
Muktadha ulioidhinishwa kwa shughuli za nakala: Ruhusu kutoka kwa akaunti yoyote ya hifadhi, kutoka kwa akaunti yoyote ya hifadhi kutoka kwa mpangilio sawa wa Entra au kutoka kwa akaunti ya hifadhi yenye maeneo ya kibinafsi katika mtandao huo wa virtual.
Chaguzi za Hifadhi za Blob:
Ruhusu upatanishi wa kati
Kiwango cha ufikiaji: Moto (data inayofikiwa mara kwa mara), Baridi na Baridi (data inayofikiwa mara chache)
Chaguzi za Mtandao:
Ufikiaji wa mtandao:
Ruhusu kutoka mitandao yote
Ruhusu kutoka mitandao maalum ya virtual na anwani za IP
Zima ufikiaji wa umma na tumia ufikiaji wa kibinafsi
Mikoa ya kibinafsi: Inaruhusu muunganisho wa kibinafsi kwa akaunti ya hifadhi kutoka mtandao wa virtual
Chaguzi za Ulinzi wa Data:
Kurejesha kwa wakati kwa vyombo: Inaruhusu kurejesha vyombo katika hali ya awali
Inahitaji toleo, mabadiliko ya chakula, na kufutwa kwa blob kuwa kuwezeshwa.
Washa kufutwa kwa blob: Inaruhusu kipindi cha uhifadhi kwa siku kwa blobs zilizofutwa (hata zilizofutwa)
Washa kufutwa kwa vyombo: Inaruhusu kipindi cha uhifadhi kwa siku kwa vyombo vilivyofutwa
Washa kufutwa kwa sehemu za faili: Inaruhusu kipindi cha uhifadhi kwa siku kwa sehemu za faili zilizofutwa
Washa toleo kwa blobs: Hifadhi toleo za awali za blobs zako
Washa mabadiliko ya blob: Hifadhi kumbukumbu za kuunda, kubadilisha, na kufuta mabadiliko kwa blobs
Washa msaada wa kutokuweza kubadilika kwa kiwango cha toleo: Inaruhusu kuweka sera ya uhifadhi kulingana na muda kwenye kiwango cha akaunti ambayo itatumika kwa toleo zote za blob.
Msaada wa kutokuweza kubadilika kwa kiwango cha toleo na kurejesha kwa wakati kwa vyombo haviwezi kuwezeshwa kwa wakati mmoja.
Chaguzi za Usimbaji:
Aina ya usimbaji: Inawezekana kutumia funguo zinazodhibitiwa na Microsoft (MMK) au funguo zinazodhibitiwa na Mteja (CMK)
Washa usimbaji wa miundombinu: Inaruhusu kusimbwa mara mbili kwa data "kwa usalama zaidi"
Ikiwa "Ruhusu ufikiaji wa umma wa Blob" imewezesha (imezimwa kwa default), unapounda chombo inawezekana:
Kutoa ufikiaji wa umma kusoma blobs (unahitaji kujua jina).
Orodhesha blobs za chombo na zisome.
Fanya iwe binafsi kabisa
Ikiwa unapata hifadhi yoyote unaweza kuungana nayo unaweza kutumia zana Microsoft Azure Storage Explorer kufanya hivyo.
Inawezekana kutumia wahusika wa Entra ID na majukumu ya RBAC kufikia akaunti za hifadhi na ni njia inayopendekezwa.
Akaunti za hifadhi zina funguo za ufikiaji ambazo zinaweza kutumika kuziunganisha. Hii inatoa ufikiaji kamili kwa akaunti ya hifadhi.
Inawezekana kuunda Funguo za Kushiriki zilizotiwa saini na funguo za ufikiaji ili kuidhinisha ufikiaji wa rasilimali fulani kupitia URL iliyotiwa saini.
Kumbuka kwamba sehemu ya CanonicalizedResource
inawakilisha rasilimali ya huduma za hifadhi (URI). Na ikiwa sehemu yoyote katika URL imeandikwa, inapaswa pia kuandikwa ndani ya CanonicalizedResource
.
Hii inatumiwa kwa default na az
cli kuthibitisha maombi. Ili kufanya itumie akidi za wahusika wa Entra ID onyesha param --auth-mode login
.
Inawezekana kuunda funguo za kushiriki kwa huduma za blob, foleni na faili kwa kusaini taarifa zifuatazo:
Inawezekana kuunda funguo ya pamoja kwa huduma za meza kwa kusaini taarifa zifuatazo:
Inawezekana kuunda lite shared key kwa huduma za blob, queue na file kwa kusaini taarifa zifuatazo:
Inawezekana kuunda lite shared key for table services kwa kusaini taarifa zifuatazo:
Kisha, ili kutumia funguo, inaweza kufanywa katika kichwa cha Uidhinishaji ikifuatia muundo:
Shared Access Signatures (SAS) ni URL salama, zenye muda wa kikomo ambazo zinatoa ruhusa maalum za kufikia rasilimali katika akaunti ya Azure Storage bila kufichua funguo za ufikiaji za akaunti. Wakati funguo za ufikiaji zinatoa ufikiaji wa kiutawala kwa rasilimali zote, SAS inaruhusu udhibiti wa kina kwa kubainisha ruhusa (kama kusoma au kuandika) na kufafanua muda wa kumalizika.
User delegation SAS: Hii inaundwa kutoka kwa Entra ID principal ambayo itatia saini SAS na kuhamasisha ruhusa kutoka kwa mtumiaji hadi SAS. Inaweza kutumika tu na blob na data lake storage (docs). Inawezekana kufuta SAS zote zilizozalishwa za mtumiaji.
Hata kama inawezekana kuzalisha delegation SAS yenye ruhusa "zaidi" kuliko zile ambazo mtumiaji ana. Hata hivyo, ikiwa principal hana hizo, haitafanya kazi (hakuna privesc).
Service SAS: Hii inatiwa saini kwa kutumia moja ya access keys za akaunti ya storage. Inaweza kutumika kutoa ufikiaji kwa rasilimali maalum katika huduma moja ya storage. Ikiwa funguo itarejelewa, SAS itakoma kufanya kazi.
Account SAS: Pia inatiwa saini kwa moja ya access keys za akaunti ya storage. Inatoa ufikiaji kwa rasilimali katika huduma za akaunti ya storage (Blob, Queue, Table, File) na inaweza kujumuisha operesheni za kiwango cha huduma.
URL ya SAS iliyotiwa saini na access key inaonekana kama hii:
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
URL ya SAS iliyotiwa saini kama user delegation inaonekana kama hii:
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
Kumbuka baadhi ya http params:
Param se
inaonyesha tarehe ya kumalizika ya SAS
Param sp
inaonyesha ruhusa za SAS
sig
ni saini inayothibitisha SAS
Wakati wa kuzalisha SAS inahitajika kubainisha ruhusa ambazo inapaswa kutoa. Kulingana na kitu ambacho SAS inaundwa juu yake, ruhusa tofauti zinaweza kujumuishwa. Kwa mfano:
(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
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Hifadhi ya Blob
https://<storage-account>.blob.core.windows.net
https://<stg-acc>.blob.core.windows.net/<container-name>?restype=container&comp=list
Hifadhi ya Ziwa la Data
https://<storage-account>.dfs.core.windows.net
Faili za Azure
https://<storage-account>.file.core.windows.net
Hifadhi ya Foleni
https://<storage-account>.queue.core.windows.net
Hifadhi ya Meza
https://<storage-account>.table.core.windows.net