Az - Key Vault

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Temel Bilgiler

Azure Key Vault, Microsoft Azure tarafından sağlanan, gizli bilgiler, anahtarlar, sertifikalar ve şifreler gibi hassas bilgilerin güvenli bir şekilde saklanması ve yönetilmesi için bir bulut hizmetidir. Merkezi bir depo olarak işlev görür ve Azure Active Directory (Azure AD) kullanarak güvenli erişim ve ince ayar kontrolü sunar. Güvenlik açısından, Key Vault, kriptografik anahtarlar için donanım güvenlik modülü (HSM) koruması sağlar, gizli bilgilerin hem dinlenme hem de iletim sırasında şifrelenmesini garanti eder ve rol tabanlı erişim kontrolü (RBAC) ve politikalar aracılığıyla sağlam erişim yönetimi sunar. Ayrıca denetim günlüğü tutma, erişimi izlemek için Azure Monitor ile entegrasyon ve uzun süreli anahtar maruziyetinden kaynaklanan riski azaltmak için otomatik anahtar döngüsü özelliklerine sahiptir.

Tam detaylar için Azure Key Vault REST API genel bakışını inceleyin.

docs sayfasına göre, Vault’lar yazılım ve HSM destekli anahtarlar, gizli bilgiler ve sertifikaların saklanmasını destekler. Yönetilen HSM havuzları yalnızca HSM destekli anahtarları destekler.

Vault’lar için URL formatı https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version} ve yönetilen HSM havuzları için: https://{hsm-name}.managedhsm.azure.net/{object-type}/{object-name}/{object-version} şeklindedir.

Burada:

  • vault-name, anahtar kasasının küresel olarak benzersiz adıdır.
  • object-type, “keys”, “secrets” veya “certificates” olabilir.
  • object-name, anahtar kasası içindeki nesnenin benzersiz adıdır.
  • object-version, sistem tarafından üretilir ve isteğe bağlı olarak bir nesnenin benzersiz versiyonuna adres vermek için kullanılır.

Kasada saklanan gizli bilgilere erişmek için kasayı oluştururken 2 izin modeli arasında seçim yapmak mümkündür:

Erişim Kontrolü

Bir Key Vault kaynağına erişim, iki düzlemle kontrol edilir:

  • yönetim düzlemi, hedefi management.azure.com olan.
  • Anahtar kasasını ve erişim politikalarını yönetmek için kullanılır. Sadece Azure rol tabanlı erişim kontrolü (RBAC) desteklenir.
  • veri düzlemi, hedefi <vault-name>.vault.azure.com olan.
  • Anahtar kasasındaki verileri (anahtarlar, gizli bilgiler ve sertifikalar) yönetmek ve erişmek için kullanılır. Bu, anahtar kasası erişim politikalarını veya Azure RBAC’yi destekler.

Erişim politikalarını yönetmek için yönetim düzleminde izinleri olan Katkıda Bulunan gibi bir rol, erişim politikalarını değiştirerek gizli bilgilere erişim elde edebilir.

Key Vault RBAC Yerleşik Rolleri

Ağ Erişimi

Azure Key Vault’ta, veri düzlemi işlemlerine yalnızca belirtilen sanal ağlardan veya IPv4 adres aralıklarından izin vermek için güvenlik duvarı kuralları ayarlanabilir. Bu kısıtlama, Azure yönetim portalı üzerinden erişimi de etkiler; kullanıcılar, giriş IP adresleri yetkilendirilmiş aralıkta değilse bir anahtar kasasındaki anahtarları, gizli bilgileri veya sertifikaları listeleyemezler.

Bu ayarları analiz etmek ve yönetmek için Azure CLI’yi kullanabilirsiniz:

az keyvault show --name name-vault --query networkAcls

Önceki komut, name-vault’ın firewall ayarlarını görüntüleyecektir; bu ayarlar, etkin IP aralıklarını ve reddedilen trafik için politikaları içerir.

Ayrıca, bir özel uç nokta oluşturarak bir vault’a özel bir bağlantı sağlamak mümkündür.

Silme Koruması

Bir anahtar vault oluşturulduğunda, silme için izin verilen minimum gün sayısı 7’dir. Bu, o anahtar vault’u silmeye çalıştığınızda silinmesi için en az 7 gün gerektiği anlamına gelir.

Ancak, temizleme koruması devre dışı bırakılmış bir vault oluşturmak mümkündür; bu, anahtar vault’un ve nesnelerin saklama süresi boyunca temizlenmesine izin verir. Ancak, bu koruma bir vault için etkinleştirildiğinde devre dışı bırakılamaz.

Enumeration

# List all Key Vaults in the subscription
az keyvault list
# List Key Vaults in a specific Resource Group
az keyvault list --resource-group <ResourceGroupName>
az keyvault list --query '[].{name:name}' -o tsv # Get just the names
# Show details of a specific Key Vault
az keyvault show --name <KeyVaultName> # If accessPolicies, you can see them here
# List all keys in a Key Vault
az keyvault key list --vault-name <KeyVaultName>
# List all secrets in a Key Vault
az keyvault secret list --vault-name <KeyVaultName>
# Get versions of a secret
az keyvault secret list-versions --vault-name <KeyVaultName> --name <SecretName>
# List all certificates in a Key Vault
az keyvault certificate list --vault-name <KeyVaultName>
# List all deleted Key Vaults in the subscription
az keyvault list-deleted
# Get properties of a deleted Key Vault
az keyvault show-deleted --name <KeyVaultName>
# Get assigned roles
az role assignment list --include-inherited --scope "/subscriptions/<subscription-uuid>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>"

# Get secret value
az keyvault secret show --vault-name <KeyVaultName> --name <SecretName>
# Get old versions secret value
az keyvault secret show --id https://<KeyVaultName>.vault.azure.net/secrets/<KeyVaultName>/<idOldVersion>

# List deleted key vaults
az keyvault secret list-deleted --vault-name <vault-name>

Yetki Yükseltme

Az - Key Vault Privesc

Sonrası İstismar

Az - Key Vault Post Exploitation

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin