Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs σταHackTricks και HackTricks Cloud αποθετήρια του github.
Βασικές Πληροφορίες
Από τα έγγραφα: Το Azure Key Vault είναι ένα υπηρεσία στον νέφος για την ασφαλή αποθήκευση και πρόσβαση σε μυστικά. Ένα μυστικό είναι οτιδήποτε θέλετε να ελέγχετε αυστηρά την πρόσβαση, όπως κλειδιά API, κωδικοί πρόσβασης, πιστοποιητικά ή κρυπτογραφικά κλειδιά. Η υπηρεσία Key Vault υποστηρίζει δύο τύπους δοχείων: αποθήκες και δοχεία διαχείρισης υλικού ασφαλείας (HSM). Οι αποθήκες υποστηρίζουν την αποθήκευση λογισμικού και κλειδιών που υποστηρίζονται από HSM, μυστικών και πιστοποιητικών. Τα δοχεία διαχείρισης HSM υποστηρίζουν μόνο τα κλειδιά που υποστηρίζονται από HSM. Δείτε την επισκόπηση του Azure Key Vault REST API για πλήρεις λεπτομέρειες.
Η μορφή URL είναι https://{vault-name}.vault.azure.net/{object-type}/{object-name}/{object-version} Όπου:
vault-name είναι το παγκοσμίως μοναδικό όνομα της αποθήκης κλειδιών
object-type μπορεί να είναι "keys", "secrets" ή "certificates"
object-name είναι το μοναδικό όνομα του αντικειμένου μέσα στην αποθήκη κλειδιών
object-version είναι δημιουργημένο από το σύστημα και χρησιμοποιείται προαιρετικά για να αναφερθεί σε μια μοναδική έκδοση ενός αντικειμένου.
Για να έχετε πρόσβαση στα μυστικά που αποθηκεύονται στην αποθήκη κλειδιών, μπορούν να χρησιμοποιηθούν 2 μοντέλα δικαιωμάτων πρόσβασης:
Πολιτική πρόσβασης αποθήκης
Azure RBAC
Έλεγχος Πρόσβασης
Η πρόσβαση σε ένα πόρο Key Vault ελέγχεται από δύο επίπεδα:
Χρησιμοποιείται για τη διαχείριση της αποθήκης κλειδιών και των πολιτικών πρόσβασης. Υποστηρίζεται μόνο ο ρόλος πρόσβασης βασισμένος σε ρόλους Azure (RBAC).
Το επίπεδο δεδομένων, το οποίο έχει ως στόχο το <vault-name>.vault.azure.com.
Χρησιμοποιείται για τη διαχείριση και πρόσβαση στα δεδομένα (κλειδιά, μυστικά και πιστοποιητικά) στην αποθήκη κλειδιών. Αυτό υποστηρίζει τις πολιτικές πρόσβασης της αποθήκης κλειδιών ή το Azure RBAC.
Ένας ρόλος όπως ο Contributor που έχει δικαιώματα στον τόπο διαχείρισης για τη διαχείριση των πολιτικών πρόσβασης μπορεί να έχει πρόσβαση στα μυστικά τροποποιώντας τις πολιτικές πρόσβασης.
Ενσωματωμένοι Ρόλοι RBAC Key Vault
Πρόσβαση στο Δίκτυο
Στο Azure Key Vault, μπορούν να οριστούν κανόνες τείχους προστασίας για να επιτρέπουν λειτουργίες επιπέδου δεδομένων μόνο από συγκεκριμένα εικονικά δίκτυα ή εύρους διευθύνσεων IPv4. Αυτός ο περιορισμός επηρεάζει επίσης την πρόσβαση μέσω της διαχείρισης του Azure portal. Οι χρήστες δεν θα μπορούν να καταλογίσουν κλειδιά, μυστικά ή πιστοποιητικά σε μια αποθήκη κλειδιών εάν η διεύθυνση IP σύνδεσής τους δεν βρίσκεται εντός του εξουσιοδοτημένου εύρους.
Για την ανάλυση και διαχείριση αυτών των ρυθμίσεων, μπορείτε να χρησιμοποιήσετε το Azure CLI:
azkeyvaultshow--namename-vault--querynetworkAcls
Η προηγούμενη εντολή θα εμφανίσει τις ρυθμίσεις του τείχους προστασίας (firewall) για το name-vault, συμπεριλαμβανομένων των ενεργοποιημένων εύρων IP και των πολιτικών για την απόρριψη της κίνησης.
Απαρίθμηση
# Get keyvault tokencurl "$IDENTITY_ENDPOINT?resource=https://vault.azure.net&api-version=2017-09-01"-H secret:$IDENTITY_HEADER# Connect with PS AzureAD## $token from management APIConnect-AzAccount -AccessToken $token -AccountId 1937ea5938eb-10eb-a365-10abede52387 -KeyVaultAccessToken $keyvaulttoken
# List vaultsGet-AzKeyVault# Get secrets names from the vaultGet-AzKeyVaultSecret-VaultName <vault_name># Get secret valuesGet-AzKeyVaultSecret-VaultName <vault_name>-Name <secret_name> –AsPlainText
Key Vault
Το Azure Key Vault είναι ένα υπηρεσία διαχείρισης κλειδιών, μυστικών και πιστοποιητικών στο Azure. Χρησιμοποιείται για την ασφαλή αποθήκευση και διαχείριση ευαίσθητων πληροφοριών, όπως κωδικοί πρόσβασης, κλειδιά κρυπτογράφησης και πιστοποιητικά.
Επίθεση στο Key Vault
Οι επιθέσεις στο Azure Key Vault μπορούν να περιλαμβάνουν:
Επίθεση brute force για να μαντέψετε τον κωδικό πρόσβασης του Key Vault.
Εκμετάλλευση ευπάθειας στον κώδικα της εφαρμογής για να αποκτήσετε πρόσβαση στο Key Vault.
Αποκάλυψη ευαίσθητων πληροφοριών μέσω της διαρροής πιστοποιητικών ή κλειδιών κρυπτογράφησης που αποθηκεύονται στο Key Vault.
Προστασία του Key Vault
Για να προστατεύσετε το Azure Key Vault από επιθέσεις, μπορείτε να λάβετε τα παρακάτω μέτρα ασφαλείας:
Χρησιμοποιήστε ισχυρούς κωδικούς πρόσβασης για το Key Vault και τα πιστοποιητικά.
Εφαρμόστε πολιτικές πρόσβασης που περιορίζουν την πρόσβαση στο Key Vault μόνο σε εξουσιοδοτημένους χρήστες και εφαρμογές.
Ενεργοποιήστε την προστασία από διαρροή πληροφοριών για να αποτρέψετε την αποκάλυψη ευαίσθητων πληροφοριών.
Ελέγξτε τακτικά τα αρχεία καταγραφής για ανανωμένες εγγραφές που υποδεικνύουν ανεπιθύμητη δραστηριότητα.
Ενημερώστε το Key Vault και τις εφαρμογές σας με τις τελευταίες ενημερώσεις ασφαλείας και ευπαθειών.
Ανάκτηση πληροφοριών από το Key Vault
Για να ανακτήσετε πληροφορίες από το Azure Key Vault, μπορείτε να χρησιμοποιήσετε τις παρακάτω τεχνικές:
Χρησιμοποιήστε το Azure CLI ή το Azure PowerShell για να ανακτήσετε τα κλειδιά, τα μυστικά και τα πιστοποιητικά από το Key Vault.
Χρησιμοποιήστε το Azure SDK για να ενσωματώσετε τη λειτουργικότητα του Key Vault στις εφαρμογές σας.
Χρησιμοποιήστε το REST API του Key Vault για να ανακτήσετε πληροφορίες από το Key Vault.
Συμπεράσματα
Το Azure Key Vault είναι μια ισχυρή υπηρεσία για την ασφαλή αποθήκευση και διαχείριση κλειδιών, μυστικών και πιστοποιητικών στο Azure. Με την κατάλληλη προστασία και τη χρήση των σωστών τεχνικών ανάκτησης πληροφοριών, μπορείτε να εκμεταλλευτείτε πλήρως τη λειτουργικότητα του Key Vault για την ασφάλεια των εφαρμογών σας.
#!/bin/bash# Dump all keyvaults from the subscription# Define Azure subscription IDAZ_SUBSCRIPTION_ID="your-subscription-id"# Specify the filename for outputCSV_OUTPUT="vault-names-list.csv"# Login to Azure accountazlogin# Select the desired subscriptionazaccountset--subscription $AZ_SUBSCRIPTION_ID# Retrieve all resource groups within the subscriptionAZ_RESOURCE_GROUPS=$(azgrouplist--query"[].name"-otsv)# Initialize the CSV file with headersecho"Vault Name,Associated Resource Group"> $CSV_OUTPUT# Iterate over each resource groupfor GROUP in $AZ_RESOURCE_GROUPSdo# Fetch key vaults within the current resource groupVAULT_LIST=$(azkeyvaultlist--resource-group $GROUP --query"[].name"-otsv)# Process each key vaultfor VAULT in $VAULT_LISTdo# Extract the key vault's nameVAULT_NAME=$(azkeyvaultshow--name $VAULT --resource-group $GROUP --query"name"-otsv)# Append the key vault name and its resource group to the fileecho"$VAULT_NAME,$GROUP">> $CSV_OUTPUTdonedone