Az - Key Vault

Reading time: 8 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

Basic Information

Azure Key Vault एक क्लाउड सेवा है जो Microsoft Azure द्वारा संवेदनशील जानकारी जैसे गुप्त, कुंजी, प्रमाणपत्र, और पासवर्ड को सुरक्षित रूप से संग्रहीत और प्रबंधित करने के लिए प्रदान की जाती है। यह एक केंद्रीकृत भंडार के रूप में कार्य करता है, जो Azure Active Directory (Azure AD) का उपयोग करके सुरक्षित पहुंच और बारीक नियंत्रण प्रदान करता है। सुरक्षा के दृष्टिकोण से, Key Vault हार्डवेयर सुरक्षा मॉड्यूल (HSM) सुरक्षा प्रदान करता है क्रिप्टोग्राफिक कुंजियों के लिए, सुनिश्चित करता है कि गुप्त जानकारी को स्थिर और संचरण में एन्क्रिप्ट किया गया है, और भूमिका-आधारित पहुंच नियंत्रण (RBAC) और नीतियों के माध्यम से मजबूत पहुंच प्रबंधन प्रदान करता है। इसमें ऑडिट लॉगिंग, पहुंच को ट्रैक करने के लिए Azure Monitor के साथ एकीकरण, और लंबे समय तक कुंजी के संपर्क में आने के जोखिम को कम करने के लिए स्वचालित कुंजी रोटेशन की सुविधा भी है।

पूर्ण विवरण के लिए Azure Key Vault REST API overview देखें।

docs के अनुसार, Vaults सॉफ़्टवेयर और HSM-समर्थित कुंजियों, गुप्तों और प्रमाणपत्रों को संग्रहीत करने का समर्थन करते हैं। प्रबंधित HSM पूल केवल HSM-समर्थित कुंजियों का समर्थन करते हैं।

URL प्रारूप के लिए vaults है https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version} और प्रबंधित HSM पूल के लिए यह है: https://{hsm-name}.managedhsm.azure.net/{object-type}/{object-name}/{object-version}

जहाँ:

  • vault-name कुंजी भंडार का वैश्विक अद्वितीय नाम है
  • object-type "keys", "secrets" या "certificates" हो सकता है
  • object-name कुंजी भंडार के भीतर वस्तु का अद्वितीय नाम है
  • object-version प्रणाली द्वारा उत्पन्न होता है और वैकल्पिक रूप से एक वस्तु के अद्वितीय संस्करण को संबोधित करने के लिए उपयोग किया जाता है।

भंडार में संग्रहीत गुप्तों तक पहुंच प्राप्त करने के लिए, भंडार बनाने के समय 2 अनुमतियों के मॉडल में से चयन करना संभव है:

Access Control

Key Vault संसाधन तक पहुंच दो स्तरों द्वारा नियंत्रित होती है:

  • प्रबंधन स्तर, जिसका लक्ष्य management.azure.com है।
  • इसका उपयोग कुंजी भंडार और पहुंच नीतियों को प्रबंधित करने के लिए किया जाता है। केवल Azure भूमिका आधारित पहुंच नियंत्रण (RBAC) का समर्थन किया जाता है।
  • डेटा स्तर, जिसका लक्ष्य <vault-name>.vault.azure.com है।
  • इसका उपयोग कुंजी भंडार में डेटा (कुंजी, गुप्त और प्रमाणपत्र) को प्रबंधित और एक्सेस करने के लिए किया जाता है। यह कुंजी भंडार पहुंच नीतियों या Azure RBAC का समर्थन करता है।

एक भूमिका जैसे Contributor जिसे प्रबंधन स्थान में पहुंच नीतियों को प्रबंधित करने के लिए अनुमतियाँ हैं, वह पहुंच नीतियों को संशोधित करके गुप्तों तक पहुंच प्राप्त कर सकता है।

Key Vault RBAC Built-In Roles

Network Access

Azure Key Vault में, फायरवॉल नियम स्थापित किए जा सकते हैं ताकि निर्धारित वर्चुअल नेटवर्क या IPv4 पते की रेंज से केवल डेटा स्तर के संचालन की अनुमति दी जा सके। यह प्रतिबंध Azure प्रशासन पोर्टल के माध्यम से पहुंच को भी प्रभावित करता है; यदि उपयोगकर्ता का लॉगिन IP पता अधिकृत रेंज के भीतर नहीं है, तो वे कुंजी, गुप्त, या प्रमाणपत्रों की सूची नहीं देख पाएंगे।

इन सेटिंग्स का विश्लेषण और प्रबंधन करने के लिए, आप Azure CLI का उपयोग कर सकते हैं:

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

पिछला कमांड name-vault** के फायरवॉल सेटिंग्स को प्रदर्शित करेगा, जिसमें सक्षम IP रेंज और अस्वीकृत ट्रैफ़िक के लिए नीतियाँ शामिल हैं।

इसके अलावा, एक निजी एंडपॉइंट बनाना संभव है ताकि एक वॉल्ट के लिए एक निजी कनेक्शन की अनुमति मिल सके।

डिलीशन प्रोटेक्शन

जब एक की वॉल्ट बनाई जाती है, तो डिलीशन के लिए अनुमति देने के लिए न्यूनतम दिनों की संख्या 7 होती है। जिसका मतलब है कि जब भी आप उस की वॉल्ट को हटाने की कोशिश करेंगे, तो इसे हटाने के लिए कम से कम 7 दिन की आवश्यकता होगी

हालांकि, एक वॉल्ट को पर्ज प्रोटेक्शन अक्षम के साथ बनाना संभव है, जो की वॉल्ट और वस्तुओं को रिटेंशन अवधि के दौरान पर्ज करने की अनुमति देता है। हालांकि, एक बार जब इस प्रोटेक्शन को एक वॉल्ट के लिए सक्षम किया जाता है, तो इसे अक्षम नहीं किया जा सकता।

एन्यूमरेशन

bash
# 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>

विशेषाधिकार वृद्धि

Az - Key Vault Privesc

पोस्ट एक्सप्लॉइटेशन

Az - Key Vault Post Exploitation

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें