Az - Key Vault
Reading time: 7 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovne informacije
Azure Key Vault je cloud usluga koju pruža Microsoft Azure za sigurno čuvanje i upravljanje osetljivim informacijama kao što su tajne, ključevi, sertifikati i lozinke. Deluje kao centralizovani repozitorijum, nudeći siguran pristup i preciznu kontrolu koristeći Azure Active Directory (Azure AD). Sa bezbednosnog aspekta, Key Vault pruža zaštitu hardverskog sigurnosnog modula (HSM) za kriptografske ključeve, osigurava da su tajne šifrovane kako u mirovanju, tako i u prenosu, i nudi robusno upravljanje pristupom putem kontrole pristupa zasnovane na ulogama (RBAC) i politika. Takođe sadrži evidenciju revizije, integraciju sa Azure Monitor za praćenje pristupa, i automatsku rotaciju ključeva kako bi se smanjio rizik od dugotrajne izloženosti ključeva.
Pogledajte Azure Key Vault REST API overview za potpune detalje.
Prema docs, Vaults podržavaju čuvanje softverskih i HSM-podržanih ključeva, tajni i sertifikata. Upravljani HSM bazeni podržavaju samo HSM-podržane ključeve.
URL format za vaults je https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version}
a za upravljane HSM bazene je: https://{hsm-name}.managedhsm.azure.net/{object-type}/{object-name}/{object-version}
Gde:
vault-name
je globalno jedinstveno ime key vault-aobject-type
može biti "keys", "secrets" ili "certificates"object-name
je jedinstveno ime objekta unutar key vault-aobject-version
je sistemski generisan i opcionalno se koristi za adresiranje jedinstvene verzije objekta.
Da bi se pristupilo tajnama pohranjenim u vault-u, moguće je izabrati između 2 modela dozvola prilikom kreiranja vault-a:
- Politika pristupa vault-u
- Azure RBAC (najčešći i preporučen)
- Sve granularne dozvole podržane možete pronaći na https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/security#microsoftkeyvault
Kontrola pristupa
Pristup resursu Key Vault-a kontroliše se kroz dva plana:
- plan upravljanja, čija je meta management.azure.com.
- Koristi se za upravljanje key vault-om i politikama pristupa. Samo Azure kontrola pristupa zasnovana na ulogama (RBAC) je podržana.
- plan podataka, čija je meta
<vault-name>.vault.azure.com
. - Koristi se za upravljanje i pristup podacima (ključevi, tajne i sertifikati) u key vault-u. Ovo podržava politike pristupa key vault-u ili Azure RBAC.
Uloga kao što je Contributor koja ima dozvole u planu upravljanja za upravljanje politikama pristupa može dobiti pristup tajnama modifikovanjem politika pristupa.
Ugrađene uloge Key Vault RBAC
.png)
Mrežni pristup
U Azure Key Vault-u, firewall pravila mogu biti postavljena da dozvole operacije na planu podataka samo sa određenih virtuelnih mreža ili IPv4 opsega adresa. Ova ograničenja takođe utiču na pristup putem Azure administrativnog portala; korisnici neće moći da listaju ključeve, tajne ili sertifikate u key vault-u ako njihova IP adresa nije unutar autorizovanog opsega.
Za analizu i upravljanje ovim podešavanjima, možete koristiti Azure CLI:
az keyvault show --name name-vault --query networkAcls
Prethodna komanda će prikazati podešavanja firewall-a name-vault
, uključujući omogućene IP opsege i politike za odbijeni saobraćaj.
Pored toga, moguće je kreirati privatni endpoint kako bi se omogućila privatna konekcija ka vault-u.
Zaštita od brisanja
Kada se kreira key vault, minimalan broj dana koji se dozvoljava za brisanje je 7. Što znači da kada god pokušate da obrišete taj key vault, biće potrebno najmanje 7 dana da bude obrisan.
Međutim, moguće je kreirati vault sa onemogućenim zaštitom od brisanja, što omogućava brisanje key vault-a i objekata tokom perioda zadržavanja. Ipak, kada se ova zaštita omogući za vault, ne može se onemogućiti.
Enumeracija
# 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>
Eskalacija privilegija
Post eksploatacija
Az - Key Vault Post Exploitation
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.