Az - Key Vault
Reading time: 7 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Grundinformationen
Azure Key Vault ist ein Cloud-Dienst von Microsoft Azure zum sicheren Speichern und Verwalten sensibler Informationen wie Geheimnisse, Schlüssel, Zertifikate und Passwörter. Es fungiert als zentrales Repository, das sicheren Zugriff und feingranulare Kontrolle über Azure Active Directory (Azure AD) bietet. Aus sicherheitstechnischer Sicht bietet Key Vault Hardware-Sicherheitsmodul (HSM)-Schutz für kryptografische Schlüssel, stellt sicher, dass Geheimnisse sowohl im Ruhezustand als auch während der Übertragung verschlüsselt sind, und bietet robustes Zugriffsmanagement durch rollenbasierte Zugriffskontrolle (RBAC) und Richtlinien. Es verfügt auch über Audit-Protokollierung, Integration mit Azure Monitor zur Verfolgung des Zugriffs und automatisierte Schlüsselrotation zur Reduzierung des Risikos durch längere Schlüsselexposition.
Siehe Azure Key Vault REST API-Übersicht für vollständige Details.
Laut den Docs unterstützen Tresore das Speichern von Software- und HSM-unterstützten Schlüsseln, Geheimnissen und Zertifikaten. Verwaltete HSM-Pools unterstützen nur HSM-unterstützte Schlüssel.
Das URL-Format für Tresore ist https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version}
und für verwaltete HSM-Pools ist es: https://{hsm-name}.managedhsm.azure.net/{object-type}/{object-name}/{object-version}
Wo:
vault-name
ist der global eindeutige Name des Key Vaultobject-type
kann "keys", "secrets" oder "certificates" seinobject-name
ist der eindeutige Name des Objekts innerhalb des Key Vaultobject-version
wird systemgeneriert und optional verwendet, um eine eindeutige Version eines Objekts anzusprechen.
Um auf die im Tresor gespeicherten Geheimnisse zuzugreifen, ist es möglich, zwischen 2 Berechtigungsmodellen bei der Erstellung des Tresors zu wählen:
- Zugriffsrichtlinie für den Tresor
- Azure RBAC (am häufigsten und empfohlen)
- Sie finden alle unterstützten granularen Berechtigungen unter https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/security#microsoftkeyvault
Zugriffskontrolle
Der Zugriff auf eine Key Vault-Ressource wird durch zwei Ebenen gesteuert:
- Die Management-Ebene, deren Ziel management.azure.com ist.
- Sie wird verwendet, um den Key Vault und Zugriffsrichtlinien zu verwalten. Nur die rollenbasierte Zugriffskontrolle von Azure (RBAC) wird unterstützt.
- Die Datenebene, deren Ziel
<vault-name>.vault.azure.com
ist. - Sie wird verwendet, um die Daten (Schlüssel, Geheimnisse und Zertifikate) im Key Vault zu verwalten und darauf zuzugreifen. Dies unterstützt Zugriffsrichtlinien für den Tresor oder Azure RBAC.
Eine Rolle wie Contributor, die Berechtigungen in der Management-Ebene hat, um Zugriffsrichtlinien zu verwalten, kann auf die Geheimnisse zugreifen, indem sie die Zugriffsrichtlinien ändert.
Key Vault RBAC Eingebaute Rollen
.png)
Netzwerkzugang
Im Azure Key Vault können Firewall-Regeln eingerichtet werden, um Datenebenenoperationen nur von bestimmten virtuellen Netzwerken oder IPv4-Adressbereichen zuzulassen. Diese Einschränkung wirkt sich auch auf den Zugriff über das Azure-Verwaltungsportal aus; Benutzer können keine Schlüssel, Geheimnisse oder Zertifikate in einem Key Vault auflisten, wenn ihre Anmelde-IP-Adresse nicht im autorisierten Bereich liegt.
Zur Analyse und Verwaltung dieser Einstellungen können Sie die Azure CLI verwenden:
az keyvault show --name name-vault --query networkAcls
Der vorherige Befehl zeigt die Firewall-Einstellungen von name-vault
an, einschließlich aktivierter IP-Bereiche und Richtlinien für abgelehnten Datenverkehr.
Darüber hinaus ist es möglich, einen privaten Endpunkt zu erstellen, um eine private Verbindung zu einem Tresor zu ermöglichen.
Löschschutz
Wenn ein Schlüssel-Tresor erstellt wird, beträgt die Mindestanzahl an Tagen, die für die Löschung zulässig sind, 7. Das bedeutet, dass, wann immer Sie versuchen, diesen Schlüssel-Tresor zu löschen, mindestens 7 Tage benötigt werden, um gelöscht zu werden.
Es ist jedoch möglich, einen Tresor mit deaktiviertem Löschschutz zu erstellen, der es ermöglicht, den Schlüssel-Tresor und Objekte während der Aufbewahrungsfrist zu löschen. Sobald dieser Schutz jedoch für einen Tresor aktiviert ist, kann er nicht mehr deaktiviert werden.
Aufzählung
# List all Key Vaults in the subscription
az keyvault list
# List Key Vaults in a specific Resource Group
az keyvault list --resource-group <ResourceGroupName>
# 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>
Privilegienerhöhung
Nach der Ausnutzung
Az - Key Vault Post Exploitation
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.