Az - Key Vault
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Basic Information
Azure Key Vault είναι μια υπηρεσία cloud που παρέχεται από το Microsoft Azure για την ασφαλή αποθήκευση και διαχείριση ευαίσθητων πληροφοριών όπως μυστικά, κλειδιά, πιστοποιητικά και κωδικούς πρόσβασης. Λειτουργεί ως κεντρικό αποθετήριο, προσφέροντας ασφαλή πρόσβαση και λεπτομερή έλεγχο χρησιμοποιώντας το Azure Active Directory (Azure AD). Από την άποψη της ασφάλειας, το Key Vault παρέχει προστασία μέσω υλικού ασφαλείας (HSM) για κρυπτογραφικά κλειδιά, διασφαλίζει ότι τα μυστικά είναι κρυπτογραφημένα τόσο σε κατάσταση ηρεμίας όσο και σε μεταφορά, και προσφέρει ισχυρή διαχείριση πρόσβασης μέσω ελέγχου πρόσβασης βάσει ρόλων (RBAC) και πολιτικών. Διαθέτει επίσης καταγραφή ελέγχου, ενσωμάτωση με το Azure Monitor για παρακολούθηση πρόσβασης και αυτοματοποιημένη περιστροφή κλειδιών για μείωση του κινδύνου από παρατεταμένη έκθεση κλειδιών.
Δείτε την επισκόπηση του Azure Key Vault REST API για πλήρεις λεπτομέρειες.
Σύμφωνα με τα έγγραφα, τα 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είναι το παγκοσμίως μοναδικό όνομα του key vaultobject-typeμπορεί να είναι “keys”, “secrets” ή “certificates”object-nameείναι το μοναδικό όνομα του αντικειμένου εντός του key vaultobject-versionείναι αυτόματα παραγόμενο και χρησιμοποιείται προαιρετικά για να αναφέρεται σε μια μοναδική έκδοση ενός αντικειμένου.
Για να αποκτήσετε πρόσβαση στα μυστικά που αποθηκεύονται στο vault, είναι δυνατή η επιλογή μεταξύ 2 μοντέλων δικαιωμάτων κατά τη δημιουργία του vault:
- Πολιτική πρόσβασης Vault
- Azure RBAC (το πιο κοινό και συνιστώμενο)
- Μπορείτε να βρείτε όλα τα λεπτομερή δικαιώματα που υποστηρίζονται στο https://learn.microsoft.com/en-us/azure/role-based-access-control/permissions/security#microsoftkeyvault
Access Control
Η πρόσβαση σε έναν πόρο Key Vault ελέγχεται από δύο επίπεδα:
- Το επίπεδο διαχείρισης, του οποίου ο στόχος είναι το management.azure.com.
- Χρησιμοποιείται για τη διαχείριση του key vault και των πολιτικών πρόσβασης. Υποστηρίζεται μόνο ο έλεγχος πρόσβασης βάσει ρόλων του Azure (RBAC).
- Το επίπεδο δεδομένων, του οποίου ο στόχος είναι
<vault-name>.vault.azure.com. - Χρησιμοποιείται για τη διαχείριση και πρόσβαση στα δεδομένα (κλειδιά, μυστικά και πιστοποιητικά) στο key vault. Αυτό υποστηρίζει πολιτικές πρόσβασης key vault ή Azure RBAC.
Ένας ρόλος όπως ο Contributor που έχει δικαιώματα στο επίπεδο διαχείρισης για τη διαχείριση πολιτικών πρόσβασης μπορεί να αποκτήσει πρόσβαση στα μυστικά τροποποιώντας τις πολιτικές πρόσβασης.
Key Vault RBAC Built-In Roles
.png)
Network Access
Στο Azure Key Vault, οι κανόνες firewall μπορούν να ρυθμιστούν για να επιτρέπουν τις λειτουργίες του επιπέδου δεδομένων μόνο από καθορισμένα εικονικά δίκτυα ή περιοχές διευθύνσεων IPv4. Αυτή η περιοριστική πολιτική επηρεάζει επίσης την πρόσβαση μέσω της πύλης διαχείρισης Azure. Οι χρήστες δεν θα μπορούν να καταγράψουν κλειδιά, μυστικά ή πιστοποιητικά σε ένα key vault εάν η διεύθυνση IP σύνδεσής τους δεν είναι εντός της εξουσιοδοτημένης περιοχής.
Για την ανάλυση και διαχείριση αυτών των ρυθμίσεων, μπορείτε να χρησιμοποιήσετε το Azure CLI:
az keyvault show --name name-vault --query networkAcls
Η προηγούμενη εντολή θα εμφανίσει τις ρυθμίσεις του firewall του name-vault, συμπεριλαμβανομένων των ενεργοποιημένων IP ranges και πολιτικών για απορριπτόμενη κίνηση.
Επιπλέον, είναι δυνατή η δημιουργία ενός ιδιωτικού endpoint για να επιτραπεί μια ιδιωτική σύνδεση σε ένα vault.
Προστασία Διαγραφής
Όταν δημιουργείται ένα key vault, ο ελάχιστος αριθμός ημερών που επιτρέπεται για διαγραφή είναι 7. Αυτό σημαίνει ότι όποτε προσπαθείτε να διαγράψετε αυτό το key vault, θα χρειαστεί τουλάχιστον 7 ημέρες για να διαγραφεί.
Ωστόσο, είναι δυνατή η δημιουργία ενός vault με απενεργοποιημένη προστασία εκκαθάρισης, η οποία επιτρέπει την εκκαθάριση του key vault και των αντικειμένων κατά τη διάρκεια της περιόδου διατήρησης. Αν και, μόλις αυτή η προστασία ενεργοποιηθεί για ένα vault, δεν μπορεί να απενεργοποιηθεί.
Αρίθμηση
# 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>
Κλιμάκωση Δικαιωμάτων
Μετά την Εκμετάλλευση
Az - Key Vault Post Exploitation
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

