Acceso anónimo

Storage Accounts / Cuentas de almacenamiento

Las cuentas de almacenamiento (Storage Accounts) cuentan con tres niveles de acceso:

Tipo de acceso
Permisos
Descripción

Private

Sin acceso público de lectura

Requiere autorización de acceso al contenedor y sus blobs. Es la opción predeterminada de los nuevos contenedores.

Blob

Acceso público de lectura sólo para blobs

Es posible acceder al contenedor de forma anónima, pero no es posible acceder a los datos sin autorización.

Container

Acceso público de lectura para el contenedor y sus blobs

Es posible acceder al contenedor y sus blobs de forma anónima, pero no se puede acceder a la configuración de permisos ni metadatos del contenedor.

Ejemplo de una cuenta de almacenamiento:

http://<storage-account>.blob.core.windows.net/<container-name>/<file-name>

Se pueden enumerar los Blobs disponibles con la herramienta MicroBurst:

. C:\AzAD\Tools\MicroBurst\Misc\Invoke-EnumerateAzureBlobs.ps1

También se pueden enumerar los Blobs con:

Para enumerar las cuentas de almacenamiento:

az storage account list

Para comprobar si un contenedor cuenta con acceso anónimo:

https://learn.microsoft.com/en-us/azure/storage/blobs/anonymous-read-access-configure?tabs=powershell#check-the-anonymous-access-setting-for-a-set-of-containers

$rgName = "<resource-group>"
$accountName = "<storage-account>"
$storageAccount = Get-AzStorageAccount -ResourceGroupName $rgName -Name $accountName
$ctx = $storageAccount.Context
Get-AzStorageContainer -Context $ctx | Select Name, PublicAccess

Con la herramienta Azure Storage se puede realizar la conexión de forma cómoda y fiable (vía web no siempre se puede acceder correctamente):

Para configurar el acceso anónimo, se pueden seguir las indicaciones que se encuentran en la página oficial de Microsoft: https://learn.microsoft.com/en-us/azure/storage/blobs/anonymous-read-access-configure?tabs=portal#set-the-public-access-level-for-a-container

Key Vaults / Almacenes de claves

Si el los Key Vaults cuentan con acceso anónimo, podría llegar a accederse a la información confidencial que almacenan, como: secretos, credenciales, etc.

  • Obtener KeyVault:

Get-AzKeyVault
  • Mostrar información de un KeyVault:

Get-AzKeyVaultSecret -VaultName ResearchKeyVault
  • Obtener credenciales en texto plano:

Get-AzKeyVaultSecret -VaultName ResearchKeyVault -Name Reader –AsPlainText

Posteriormente podríamos intentar iniciar sesión en el servicio, cuenta, sistema, etc. del cuál hayamos obtenido credenciales.

Por ejemplo:

  • Si se trata de una cuenta de Azure:

$password = ConvertTo-SecureString '<contraseña>' -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential('<email>', $password)
Connect-AzAccount -Credential $creds

Última actualización

¿Te fue útil?