Az - Storage Privesc
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
Storage Privesc
Pour plus dâinformations sur le stockage, consultez :
Microsoft.Storage/storageAccounts/listkeys/action
Un principal avec cette permission pourra lister (et les valeurs secrĂštes) des clĂ©s dâaccĂšs des comptes de stockage. Cela permet au principal dâescalader ses privilĂšges sur les comptes de stockage.
az storage account keys list --account-name <acc-name>
Microsoft.Storage/storageAccounts/regenerateKey/action
Un principal avec cette permission pourra renouveler et obtenir la nouvelle valeur secrĂšte des clĂ©s dâaccĂšs des comptes de stockage. Cela permet au principal dâescalader ses privilĂšges sur les comptes de stockage.
De plus, dans la rĂ©ponse, lâutilisateur obtiendra la valeur de la clĂ© renouvelĂ©e ainsi que celle de la clĂ© non renouvelĂ©e :
az storage account keys renew --account-name <acc-name> --key key2
Microsoft.Storage/storageAccounts/write
Un principal avec cette autorisation pourra crĂ©er ou mettre Ă jour un compte de stockage existant en mettant Ă jour nâimporte quel paramĂštre comme les rĂšgles rĂ©seau ou les politiques.
# 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
La premiĂšre permission permet de modifier les politiques dâimmuabilitĂ© dans les conteneurs et la seconde de les supprimer.
Note
Notez que si une politique dâimmuabilitĂ© est en Ă©tat de verrouillage, vous ne pouvez pas faire lâun ou lâautre.
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>
Privesc spécifique aux partages de fichiers
Microsoft.Storage/storageAccounts/fileServices/takeOwnership/action
Cela devrait permettre Ă un utilisateur ayant cette permission de prendre possession des fichiers Ă lâintĂ©rieur du systĂšme de fichiers partagĂ©.
Microsoft.Storage/storageAccounts/fileServices/fileshares/files/modifypermissions/action
Cela devrait permettre Ă un utilisateur ayant cette permission de modifier les permissions des fichiers Ă lâintĂ©rieur du systĂšme de fichiers partagĂ©.
Microsoft.Storage/storageAccounts/fileServices/fileshares/files/actassuperuser/action
Cela devrait permettre Ă un utilisateur ayant cette permission dâeffectuer des actions Ă lâintĂ©rieur dâun systĂšme de fichiers en tant que superutilisateur.
Microsoft.Storage/storageAccounts/localusers/write (Microsoft.Storage/storageAccounts/localusers/read)
Avec cette permission, un attaquant peut crĂ©er et mettre Ă jour (sâil a la permission Microsoft.Storage/storageAccounts/localusers/read) un nouvel utilisateur local pour un compte de stockage Azure (configurĂ© avec un espace de noms hiĂ©rarchique), y compris la spĂ©cification des permissions et du rĂ©pertoire personnel de lâutilisateur. Cette permission est significative car elle permet Ă lâattaquant de se donner accĂšs Ă un compte de stockage avec des permissions spĂ©cifiques telles que lecture (r), Ă©criture (w), suppression (d) et liste (l) et plus encore. De plus, les mĂ©thodes dâauthentification utilisĂ©es peuvent ĂȘtre des mots de passe gĂ©nĂ©rĂ©s par Azure et des paires de clĂ©s SSH. Il nây a pas de vĂ©rification si un utilisateur existe dĂ©jĂ , donc vous pouvez Ă©craser dâautres utilisateurs qui sont dĂ©jĂ prĂ©sents. Lâattaquant pourrait Ă©lever ses privilĂšges et obtenir un accĂšs SSH au compte de stockage, exposant potentiellement ou compromettant des donnĂ©es sensibles.
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
Avec cette autorisation, un attaquant peut rĂ©gĂ©nĂ©rer le mot de passe dâun utilisateur local dans un compte de stockage Azure. Cela accorde Ă lâattaquant la capacitĂ© dâobtenir de nouvelles informations dâidentification dâauthentification (comme un mot de passe SSH ou SFTP) pour lâutilisateur. En utilisant ces informations dâidentification, lâattaquant pourrait obtenir un accĂšs non autorisĂ© au compte de stockage, effectuer des transferts de fichiers ou manipuler des donnĂ©es dans les conteneurs de stockage. Cela pourrait entraĂźner une fuite de donnĂ©es, une corruption ou une modification malveillante du contenu du compte de stockage.
az storage account local-user regenerate-password \
--account-name <STORAGE_ACCOUNT_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--name <LOCAL_USER_NAME>
Pour accĂ©der Ă Azure Blob Storage via SFTP (is_hns_enabled doit ĂȘtre vrai) en utilisant un utilisateur local via SFTP, vous pouvez (vous pouvez Ă©galement utiliser une clĂ© ssh pour vous connecter) :
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
Avec ces autorisations, un attaquant peut restaurer un conteneur supprimĂ© en spĂ©cifiant son ID de version supprimĂ©e ou annuler la suppression de blobs spĂ©cifiques dans un conteneur, sâils ont Ă©tĂ© prĂ©cĂ©demment supprimĂ©s de maniĂšre douce. Cette Ă©lĂ©vation de privilĂšges pourrait permettre Ă un attaquant de rĂ©cupĂ©rer des donnĂ©es sensibles qui Ă©taient censĂ©es ĂȘtre dĂ©finitivement supprimĂ©es, ce qui pourrait entraĂźner un accĂšs non autorisĂ©.
#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
Avec ces autorisations, un attaquant peut restaurer un partage de fichiers Azure supprimĂ© en spĂ©cifiant son ID de version supprimĂ©e. Cette Ă©lĂ©vation de privilĂšges pourrait permettre Ă un attaquant de rĂ©cupĂ©rer des donnĂ©es sensibles qui Ă©taient censĂ©es ĂȘtre dĂ©finitivement supprimĂ©es, ce qui pourrait entraĂźner un accĂšs non autorisĂ©.
az storage share-rm restore \
--storage-account <STORAGE_ACCOUNT_NAME> \
--name <FILE_SHARE_NAME> \
--deleted-version <VERSION>
Autres autorisations intéressantes (TODO)
- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/manageOwnership/action: Change la propriété du blob
- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/modifyPermissions/action: Modifie les autorisations du blob
- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action: Renvoie le résultat de la commande blob
- Microsoft.Storage/storageAccounts/blobServices/containers/blobs/immutableStorage/runAsSuperUser/action
Références
- 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
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

