From 02ec0f081efe38071ee4e5581364a0e22f0640d5 Mon Sep 17 00:00:00 2001 From: Translator Date: Wed, 12 Feb 2025 13:58:52 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-services/az-automati --- .../az-services/az-automation-accounts.md | 38 +++++++++---------- .../az-services/az-container-instances.md | 4 +- .../az-services/az-container-registry.md | 14 +++---- theme/ht_searcher.js | 4 +- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md b/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md index 96be33404..0f849948a 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md +++ b/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md @@ -1,10 +1,10 @@ # Az - Automation Accounts -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} ## Basic Information -Οι Azure Automation Accounts είναι υπηρεσίες cloud της Microsoft Azure που βοηθούν στην **αυτοματοποίηση εργασιών** όπως η διαχείριση πόρων, η διαμόρφωση και οι ενημερώσεις σε περιβάλλοντα Azure και τοπικά. Παρέχουν **Runbooks** (σενάρια για αυτοματοποίηση που εκτελούνται), **προγράμματα** και **ομάδες υβριδικών εργαζομένων** για την εκτέλεση αυτοματοποιημένων **εργασιών**, επιτρέποντας την υποδομή ως κώδικα (IaC) και την αυτοματοποίηση διαδικασιών για βελτιωμένη αποδοτικότητα και συνέπεια στη διαχείριση πόρων cloud. +Οι Λογαριασμοί Αυτοματοποίησης Azure είναι υπηρεσίες cloud της Microsoft Azure που βοηθούν στην **αυτοματοποίηση εργασιών** όπως η διαχείριση πόρων, η διαμόρφωση και οι ενημερώσεις σε περιβάλλοντα Azure και τοπικά. Παρέχουν **Runbooks** (σενάρια για αυτοματοποίηση που εκτελούνται), **προγράμματα** και **ομάδες υβριδικών εργαζομένων** για την εκτέλεση αυτοματοποιημένων **εργασιών**, επιτρέποντας την υποδομή ως κώδικα (IaC) και την αυτοματοποίηση διαδικασιών για βελτιωμένη αποδοτικότητα και συνέπεια στη διαχείριση πόρων cloud. ### Settings @@ -16,7 +16,7 @@ ### Runbooks & Jobs -Ένα Runbook στην Azure Automation είναι ένα **σενάριο που εκτελεί εργασίες αυτόματα** μέσα στο περιβάλλον cloud σας. Τα Runbooks μπορούν να γραφούν σε PowerShell, Python ή Γραφικά εργαλεία. Βοηθούν στην αυτοματοποίηση διοικητικών εργασιών όπως η διαχείριση VM, η ενημέρωση ή οι έλεγχοι συμμόρφωσης. +Ένα Runbook στην Αυτοματοποίηση Azure είναι ένα **σενάριο που εκτελεί εργασίες αυτόματα** μέσα στο περιβάλλον cloud σας. Τα Runbooks μπορούν να γραφούν σε PowerShell, Python ή Γραφικά εργαλεία. Βοηθούν στην αυτοματοποίηση διοικητικών εργασιών όπως η διαχείριση VM, η εφαρμογή ενημερώσεων ή οι έλεγχοι συμμόρφωσης. Στον **κώδικα** που βρίσκεται μέσα στα **Runbooks** μπορεί να περιέχονται **ευαίσθητες πληροφορίες** (όπως κωδικοί). @@ -30,7 +30,7 @@ ### Schedules & Webhooks -Υπάρχουν 3 κύριοι τρόποι για να εκτελέσετε ένα Runbook: +Υπάρχουν 3 κύριοι τρόποι εκτέλεσης ενός Runbook: - **Schedules**: Αυτά χρησιμοποιούνται για να **ενεργοποιούν** Runbooks σε μια **συγκεκριμένη ώρα** ή **διάστημα**. - **Webhooks**: Αυτά είναι **HTTP endpoints** που μπορούν να χρησιμοποιηθούν για να **ενεργοποιούν** Runbooks από **εξωτερικές υπηρεσίες**. Σημειώστε ότι το URL του webhook **δεν είναι ορατό** μετά τη δημιουργία. @@ -38,13 +38,13 @@ ### Source Control -Επιτρέπει την εισαγωγή Runbooks από **Github, Azure Devops (Git) και Azure Devops (TFVC)**. Είναι δυνατή η ένδειξη για να δημοσιεύσετε τα Runbooks του repo στον λογαριασμό Azure Automation και είναι επίσης δυνατή η ένδειξη για να **συγχρονίσετε τις αλλαγές από το repo** στον λογαριασμό Azure Automation. +Επιτρέπει την εισαγωγή Runbooks από **Github, Azure Devops (Git) και Azure Devops (TFVC)**. Είναι δυνατή η ένδειξη για τη δημοσίευση των Runbooks του repo στον λογαριασμό αυτοματοποίησης Azure και είναι επίσης δυνατή η ένδειξη για να **συγχρονίσετε τις αλλαγές από το repo** στον λογαριασμό αυτοματοποίησης Azure. Όταν η συγχρονισμός είναι ενεργοποιημένος, στο **αποθετήριο Github δημιουργείται ένα webhook** για να ενεργοποιεί τη συγχρονισμό κάθε φορά που συμβαίνει ένα γεγονός push. Παράδειγμα URL webhook: `https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-automation.net/webhooks?token=DRjQyFiOrUtz%2fw7o23XbDpOlTe1%2bUqPQm4pQH2WBfJg%3d` -Σημειώστε ότι αυτά τα webhooks **δεν θα είναι ορατά** κατά την καταχώριση webhooks στα συσχετιζόμενα runbooks με το αποθετήριο Github. Επίσης, σημειώστε ότι **δεν είναι δυνατή η αλλαγή του URL του repo** ενός source control μόλις δημιουργηθεί. +Σημειώστε ότι αυτά τα webhooks **δεν θα είναι ορατά** κατά την καταχώριση webhooks στα συσχετιζόμενα runbooks με το repo Github. Επίσης, σημειώστε ότι **δεν είναι δυνατή η αλλαγή του URL του repo** ενός source control μόλις δημιουργηθεί. -Για να λειτουργήσει το ρυθμισμένο source control, ο **Azure Automation Account** πρέπει να έχει μια διαχειριζόμενη ταυτότητα (σύστημα ή χρήστη) με τον ρόλο **`Contributor`**. Επιπλέον, για να αναθέσετε μια διαχειριζόμενη ταυτότητα χρήστη στον λογαριασμό αυτοματοποίησης, είναι απαραίτητο να δηλώσετε το client ID της διαχειριζόμενης ταυτότητας χρήστη στη μεταβλητή **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`**. +Για να λειτουργήσει η ρυθμισμένη πηγή ελέγχου, ο **Λογαριασμός Αυτοματοποίησης Azure** πρέπει να έχει μια διαχειριζόμενη ταυτότητα (σύστημα ή χρήστη) με τον ρόλο **`Contributor`**. Επιπλέον, για να ανατεθεί μια διαχειριζόμενη ταυτότητα χρήστη στον Λογαριασμό Αυτοματοποίησης, είναι απαραίτητο να δηλωθεί το ID πελάτη της διαχειριζόμενης ταυτότητας χρήστη στη μεταβλητή **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`**. ### Runtime Environments @@ -57,32 +57,32 @@ - **Python 3.8** - **Python 2.7** -Ωστόσο, είναι επίσης δυνατή η **δημιουργία των δικών σας περιβαλλόντων**, χρησιμοποιώντας ένα από αυτά ως βάση. Στην περίπτωση του python, είναι δυνατή η μεταφόρτωση πακέτων `.whl` στο περιβάλλον που θα χρησιμοποιηθεί. Στην περίπτωση του PowerShell, είναι δυνατή η μεταφόρτωση πακέτων `.zip` με τα modules που θα έχετε στο runtime. +Ωστόσο, είναι επίσης δυνατή η **δημιουργία των δικών σας περιβαλλόντων**, χρησιμοποιώντας ένα από αυτά ως βάση. Στην περίπτωση του python, είναι δυνατή η μεταφόρτωση πακέτων `.whl` στο περιβάλλον που θα χρησιμοποιηθεί. Στην περίπτωση του PowerShell, είναι δυνατή η μεταφόρτωση πακέτων `.zip` με τα modules που θα υπάρχουν στην εκτέλεση. ### Hybrid Worker Groups -Στην Azure Automation, το προεπιλεγμένο περιβάλλον εκτέλεσης για τα runbooks είναι το **Azure Sandbox**, μια πλατφόρμα cloud που διαχειρίζεται η Azure, κατάλληλη για εργασίες που περιλαμβάνουν πόρους Azure. Ωστόσο, αυτό το sandbox έχει περιορισμούς, όπως περιορισμένη πρόσβαση σε τοπικούς πόρους και περιορισμούς στον χρόνο εκτέλεσης και τη χρήση πόρων. Για να ξεπεραστούν αυτοί οι περιορισμοί, χρησιμοποιούνται οι Υβριδικές Ομάδες Εργαζομένων. Μια Υβριδική Ομάδα Εργαζομένων αποτελείται από **ένα ή περισσότερους Υβριδικούς Εργαζόμενους Runbook εγκατεστημένους στους δικούς σας υπολογιστές**, είτε τοπικά, σε άλλα περιβάλλοντα cloud ή σε Azure VMs. Αυτή η ρύθμιση επιτρέπει στα runbooks να εκτελούνται απευθείας σε αυτούς τους υπολογιστές, παρέχοντας άμεση πρόσβαση σε τοπικούς πόρους, τη δυνατότητα εκτέλεσης μεγαλύτερων και πιο απαιτητικών εργασιών, και την ευελιξία να αλληλεπιδρούν με περιβάλλοντα πέρα από την άμεση εμβέλεια της Azure. +Στην Αυτοματοποίηση Azure, το προεπιλεγμένο περιβάλλον εκτέλεσης για τα runbooks είναι το **Azure Sandbox**, μια πλατφόρμα cloud που διαχειρίζεται η Azure, κατάλληλη για εργασίες που περιλαμβάνουν πόρους Azure. Ωστόσο, αυτό το sandbox έχει περιορισμούς, όπως περιορισμένη πρόσβαση σε τοπικούς πόρους και περιορισμούς στον χρόνο εκτέλεσης και τη χρήση πόρων. Για να ξεπεραστούν αυτοί οι περιορισμοί, χρησιμοποιούνται οι Υβριδικές Ομάδες Εργαζομένων. Μια Υβριδική Ομάδα Εργαζομένων αποτελείται από **ένα ή περισσότερους Υβριδικούς Εργαζόμενους Runbook εγκατεστημένους στους δικούς σας υπολογιστές**, είτε τοπικά, σε άλλα περιβάλλοντα cloud ή σε VM Azure. Αυτή η ρύθμιση επιτρέπει στα runbooks να εκτελούνται απευθείας σε αυτούς τους υπολογιστές, παρέχοντας άμεση πρόσβαση σε τοπικούς πόρους, τη δυνατότητα εκτέλεσης μεγαλύτερων και πιο απαιτητικών εργασιών, και την ευελιξία να αλληλεπιδρούν με περιβάλλοντα πέρα από την άμεση εμβέλεια της Azure. Όταν δημιουργείται μια υβριδική ομάδα εργαζομένων, είναι απαραίτητο να δηλωθούν τα **credentials** που θα χρησιμοποιηθούν. Υπάρχουν 2 επιλογές: -- **Default credentials**: Δεν χρειάζεται να παρέχετε τα credentials και τα runbooks θα εκτελούνται μέσα στα VMs ως **System**. -- **Specific credentials**: Πρέπει να παρέχετε το όνομα του αντικειμένου credentials μέσα στον λογαριασμό αυτοματοποίησης, το οποίο θα χρησιμοποιηθεί για την εκτέλεση των **runbooks μέσα στα VMs**. Επομένως, σε αυτή την περίπτωση, θα μπορούσε να είναι δυνατό να **κλέψετε έγκυρα credentials** για τα VMs. +- **Default credentials**: Δεν χρειάζεται να παρέχετε τα credentials και τα runbooks θα εκτελούνται μέσα στα VM ως **System**. +- **Specific credentials**: Πρέπει να παρέχετε το όνομα του αντικειμένου credentials μέσα στον λογαριασμό αυτοματοποίησης, το οποίο θα χρησιμοποιηθεί για την εκτέλεση των **runbooks μέσα στα VM**. Επομένως, σε αυτή την περίπτωση, θα μπορούσε να είναι δυνατό να **κλέψετε έγκυρα credentials** για τα VM. -Επομένως, αν μπορείτε να επιλέξετε να εκτελέσετε ένα **Runbook** σε έναν **Υβριδικό Εργαζόμενο**, θα εκτελέσετε **τυχαίες εντολές** μέσα σε έναν εξωτερικό υπολογιστή ως **System** (καλή τεχνική pivot). +Επομένως, εάν μπορείτε να επιλέξετε να εκτελέσετε ένα **Runbook** σε έναν **Υβριδικό Εργαζόμενο**, θα εκτελέσετε **τυχαίες εντολές** μέσα σε έναν εξωτερικό υπολογιστή ως **System** (καλή τεχνική pivot). -Επιπλέον, αν ο υβριδικός εργαζόμενος εκτελείται στην Azure με άλλες διαχειριζόμενες ταυτότητες συνδεδεμένες, το runbook θα μπορεί να έχει πρόσβαση στη **διαχειριζόμενη ταυτότητα του runbook και σε όλες τις διαχειριζόμενες ταυτότητες του VM από την υπηρεσία μεταδεδομένων**. +Επιπλέον, εάν ο υβριδικός εργαζόμενος εκτελείται στην Azure με άλλες Διαχειριζόμενες Ταυτότητες συνδεδεμένες, το runbook θα μπορεί να έχει πρόσβαση στη **διαχειριζόμενη ταυτότητα του runbook και σε όλες τις διαχειριζόμενες ταυτότητες του VM από την υπηρεσία μεταδεδομένων**. > [!TIP] -> Θυμηθείτε ότι η **υπηρεσία μεταδεδομένων** έχει διαφορετικό URL (**`http://169.254.169.254`**) από την υπηρεσία από όπου αποκτάτε το token διαχειριζόμενης ταυτότητας του λογαριασμού αυτοματοποίησης (**`IDENTITY_ENDPOINT`**). +> Θυμηθείτε ότι η **υπηρεσία μεταδεδομένων** έχει διαφορετικό URL (**`http://169.254.169.254`**) από την υπηρεσία από όπου λαμβάνετε το token διαχειριζόμενης ταυτότητας του λογαριασμού αυτοματοποίησης (**`IDENTITY_ENDPOINT`**). ### State Configuration (SC) ->[!WARNING] -> Όπως αναφέρεται στα [έγγραφα](https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview), η Azure Automation State Configuration θα αποσυρθεί στις 30 Σεπτεμβρίου 2027 και θα αντικατασταθεί από [Azure Machine Configuration](https://learn.microsoft.com/en-us/azure/governance/machine-configuration/overview). +> [!WARNING] +> Όπως αναφέρεται στα [έγγραφα](https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview), η Ρύθμιση Κατάστασης Αυτοματοποίησης Azure θα αποσυρθεί στις 30 Σεπτεμβρίου 2027 και θα αντικατασταθεί από [Azure Machine Configuration](https://learn.microsoft.com/en-us/azure/governance/machine-configuration/overview). -Οι λογαριασμοί αυτοματοποίησης υποστηρίζουν επίσης **State Configuration (SC)**, η οποία είναι μια δυνατότητα που βοηθά στη **διαμόρφωση** και **διατήρηση** της **κατάστασης** των VMs σας. Είναι δυνατή η **δημιουργία** και **εφαρμογή** DSC διαμορφώσεων σε **Windows** και **Linux** μηχανές. +Οι Λογαριασμοί Αυτοματοποίησης υποστηρίζουν επίσης **Ρύθμιση Κατάστασης (SC)**, η οποία είναι μια δυνατότητα που βοηθά στη **ρύθμιση** και **διατήρηση** της **κατάστασης** των VM σας. Είναι δυνατή η **δημιουργία** και **εφαρμογή** ρυθμίσεων DSC σε **Windows** και **Linux** μηχανές. -Από την οπτική γωνία των επιτιθέμενων, αυτό ήταν ενδιαφέρον γιατί επέτρεπε την **εκτέλεση τυχαίου κώδικα PS σε όλα τα ρυθμισμένα VMs**, επιτρέποντας την κλιμάκωση προνομίων στις διαχειριζόμενες ταυτότητες αυτών των VMs, πιθανώς μεταπηδώντας σε νέα δίκτυα... Επίσης, οι διαμορφώσεις θα μπορούσαν να περιέχουν **ευαίσθητες πληροφορίες**. +Από την οπτική γωνία των επιτιθέμενων, αυτό ήταν ενδιαφέρον γιατί επέτρεπε την **εκτέλεση τυχαίου κώδικα PS σε όλα τα ρυθμισμένα VM**, επιτρέποντας την κλιμάκωση προνομίων στις διαχειριζόμενες ταυτότητες αυτών των VM, πιθανώς μεταπηδώντας σε νέα δίκτυα... Επίσης, οι ρυθμίσεις θα μπορούσαν να περιέχουν **ευαίσθητες πληροφορίες**. ## Enumeration ```bash @@ -238,4 +238,4 @@ Get-AzAutomationHybridWorkerGroup -AutomationAccountName -R - [https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview](https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview) - [https://github.com/rootsecdev/Azure-Red-Team#runbook-automation](https://github.com/rootsecdev/Azure-Red-Team#runbook-automation) -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-services/az-container-instances.md b/src/pentesting-cloud/azure-security/az-services/az-container-instances.md index 58a406708..6ae53e488 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-container-instances.md +++ b/src/pentesting-cloud/azure-security/az-services/az-container-instances.md @@ -1,10 +1,10 @@ # Az - Container Instances -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} ## Basic Information -Οι Azure Container Instances (ACI) παρέχουν έναν **serverless, on-demand τρόπο** για να τρέχετε **containers** στο Azure cloud. Μπορείτε να **deploy** έναν ή πολλούς containers σε μια ομάδα με **scalable compute**, **networking options**, και την ευελιξία να συνδεθείτε με **άλλες υπηρεσίες Azure** (όπως Storage, Virtual Networks, ή Container Registries). +Azure Container Instances (ACI) παρέχουν έναν **serverless, on-demand τρόπο** για να τρέχετε **containers** στο Azure cloud. Μπορείτε να **deploy** έναν ή πολλούς containers σε μια ομάδα με **scalable compute**, **networking options**, και την ευελιξία να συνδεθείτε με **άλλες υπηρεσίες Azure** (όπως Storage, Virtual Networks, ή Container Registries). Καθώς είναι **ephemeral** workloads, δεν χρειάζεται να διαχειρίζεστε την υποκείμενη υποδομή VM — το Azure το διαχειρίζεται για εσάς. Ωστόσο, από μια **offensive security perspective**, είναι κρίσιμο να κατανοήσετε πώς οι **permissions**, οι **identities**, οι **network configurations**, και τα **logs** μπορούν να αποκαλύψουν επιφάνειες επίθεσης και πιθανές κακοδιαμορφώσεις. diff --git a/src/pentesting-cloud/azure-security/az-services/az-container-registry.md b/src/pentesting-cloud/azure-security/az-services/az-container-registry.md index 4f0225c44..1d54b9710 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-container-registry.md +++ b/src/pentesting-cloud/azure-security/az-services/az-container-registry.md @@ -1,6 +1,6 @@ # Az - Container Registry -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} ## Basic Information @@ -20,7 +20,7 @@ Azure Container Registry (ACR) είναι ένα ασφαλές, ιδιωτικ Υπάρχουν επίσης μερικοί **ενσωματωμένοι ρόλοι** που μπορούν να ανατεθούν, και είναι επίσης δυνατή η δημιουργία **προσαρμοσμένων ρόλων**. -![]() +![](/images/registry_roles.png) ### Authentication @@ -29,8 +29,8 @@ Azure Container Registry (ACR) είναι ένα ασφαλές, ιδιωτικ Υπάρχουν 4 τρόποι για να αυθεντικοποιηθείτε σε ένα ACR: -- **Με Entra ID**: Αυτός είναι ο **προεπιλεγμένος** τρόπος αυθεντικοποίησης σε ένα ACR. Χρησιμοποιεί την εντολή **`az acr login`** για να αυθεντικοποιηθεί στο ACR. Αυτή η εντολή θα **αποθηκεύσει τα διαπιστευτήρια** στο αρχείο **`~/.docker/config.json`**. Επιπλέον, αν εκτελείτε αυτή την εντολή από ένα περιβάλλον χωρίς πρόσβαση σε docker socket όπως σε ένα **cloud shell**, είναι δυνατή η χρήση της σημαίας **`--expose-token`** για να αποκτήσετε το **token** για να αυθεντικοποιηθείτε στο ACR. Στη συνέχεια, για να αυθεντικοποιηθείτε πρέπει να χρησιμοποιήσετε ως όνομα χρήστη `00000000-0000-0000-0000-000000000000` όπως: `docker login myregistry.azurecr.io --username 00000000-0000-0000-0000-000000000000 --password-stdin <<< $TOKEN` -- **Με έναν λογαριασμό διαχειριστή**: Ο διαχειριστής χρήστη είναι απενεργοποιημένος από προεπιλογή αλλά μπορεί να ενεργοποιηθεί και στη συνέχεια θα είναι δυνατή η πρόσβαση στο μητρώο με το **όνομα χρήστη** και τον **κωδικό πρόσβασης** του λογαριασμού διαχειριστή με πλήρεις άδειες στο μητρώο. Αυτό υποστηρίζεται ακόμα γιατί ορισμένες υπηρεσίες Azure το χρησιμοποιούν. Σημειώστε ότι δημιουργούνται **2 κωδικοί πρόσβασης** για αυτόν τον χρήστη και οι δύο είναι έγκυροι. Μπορείτε να το ενεργοποιήσετε με `az acr update -n --admin-enabled true`. Σημειώστε ότι το όνομα χρήστη είναι συνήθως το όνομα του μητρώου (και όχι `admin`). +- **Με Entra ID**: Αυτός είναι ο **προεπιλεγμένος** τρόπος αυθεντικοποίησης σε ένα ACR. Χρησιμοποιεί την εντολή **`az acr login`** για να αυθεντικοποιηθεί στο ACR. Αυτή η εντολή θα **αποθηκεύσει τα διαπιστευτήρια** στο αρχείο **`~/.docker/config.json`**. Επιπλέον, αν εκτελείτε αυτή την εντολή από ένα περιβάλλον χωρίς πρόσβαση σε docker socket όπως σε ένα **cloud shell**, είναι δυνατή η χρήση της σημαίας **`--expose-token`** για να αποκτήσετε το **token** για να αυθεντικοποιηθείτε στο ACR. Στη συνέχεια, για να αυθεντικοποιηθείτε, πρέπει να χρησιμοποιήσετε ως όνομα χρήστη `00000000-0000-0000-0000-000000000000` όπως: `docker login myregistry.azurecr.io --username 00000000-0000-0000-0000-000000000000 --password-stdin <<< $TOKEN` +- **Με έναν λογαριασμό διαχειριστή**: Ο διαχειριστής χρήστη είναι απενεργοποιημένος από προεπιλογή, αλλά μπορεί να ενεργοποιηθεί και στη συνέχεια θα είναι δυνατή η πρόσβαση στο μητρώο με το **όνομα χρήστη** και τον **κωδικό πρόσβασης** του λογαριασμού διαχειριστή με πλήρεις άδειες στο μητρώο. Αυτό υποστηρίζεται ακόμα γιατί ορισμένες υπηρεσίες Azure το χρησιμοποιούν. Σημειώστε ότι **2 κωδικοί πρόσβασης** δημιουργούνται για αυτόν τον χρήστη και οι δύο είναι έγκυροι. Μπορείτε να το ενεργοποιήσετε με `az acr update -n --admin-enabled true`. Σημειώστε ότι το όνομα χρήστη είναι συνήθως το όνομα του μητρώου (και όχι `admin`). - **Με ένα token**: Είναι δυνατή η δημιουργία ενός **token** με έναν **συγκεκριμένο `scope map`** (άδειες) για πρόσβαση στο μητρώο. Στη συνέχεια, είναι δυνατή η χρήση αυτού του ονόματος token ως όνομα χρήστη και κάποιου από τους παραγόμενους κωδικούς πρόσβασης για να αυθεντικοποιηθείτε στο μητρώο με `docker login -u -p aregistry-url>` - **Με έναν Service Principal**: Είναι δυνατή η δημιουργία ενός **service principal** και η ανάθεση ενός ρόλου όπως **`AcrPull`** για να κάνετε pull εικόνες. Στη συνέχεια, θα είναι δυνατή η **σύνδεση στο μητρώο** χρησιμοποιώντας το appId του SP ως όνομα χρήστη και ένα παραγόμενο μυστικό ως κωδικό πρόσβασης. @@ -67,7 +67,7 @@ echo "Service principal password: $PASSWORD" ### Webhooks -Είναι δυνατόν να **δημιουργήσετε webhooks** μέσα σε μητρώα. Σε αυτό το webhook είναι απαραίτητο να καθορίσετε τη διεύθυνση URL όπου θα αποσταλεί ένα **αίτημα κάθε φορά που εκτελείται μια ενέργεια push ή delete**. Επιπλέον, τα Webhooks μπορούν να υποδείξουν μια εμβέλεια για να υποδείξουν τα αποθετήρια (εικόνες) που θα επηρεαστούν. Για παράδειγμα, 'foo:*' σημαίνει γεγονότα κάτω από το αποθετήριο 'foo'. +Είναι δυνατόν να **δημιουργήσετε webhooks** μέσα σε μητρώα. Σε αυτό το webhook είναι απαραίτητο να καθορίσετε τη διεύθυνση URL όπου θα αποσταλεί ένα **αίτημα κάθε φορά που εκτελείται μια ενέργεια push ή delete**. Επιπλέον, τα Webhooks μπορούν να υποδείξουν ένα πεδίο για να υποδείξουν τα αποθετήρια (εικόνες) που θα επηρεαστούν. Για παράδειγμα, 'foo:\*' σημαίνει γεγονότα κάτω από το αποθετήριο 'foo'. Από την οπτική γωνία ενός επιτιθέμενου, είναι ενδιαφέρον να ελέγξετε αυτό **πριν εκτελέσετε οποιαδήποτε ενέργεια** στο μητρώο και να το αφαιρέσετε προσωρινά αν χρειαστεί, για να αποφευχθεί η ανίχνευση. @@ -77,7 +77,7 @@ echo "Service principal password: $PASSWORD" Έχει 2 λειτουργίες: **ReadOnly** και **ReadWrite**. Στην πρώτη, οι εικόνες **τραβιούνται** μόνο από το μητρώο προέλευσης, και στη δεύτερη, οι εικόνες μπορούν επίσης να **ωθηθούν** στο μητρώο προέλευσης. -Για να έχουν πρόσβαση οι πελάτες στο μητρώο από την Azure, δημιουργείται ένα **token** όταν χρησιμοποιείται το συνδεδεμένο μητρώο. +Για να έχουν οι πελάτες πρόσβαση στο μητρώο από την Azure, δημιουργείται ένα **token** όταν χρησιμοποιείται το συνδεδεμένο μητρώο. ### Εκτελέσεις & Εργασίες @@ -154,4 +154,4 @@ az acr cache show --name --registry - [https://learn.microsoft.com/en-us/azure/container-registry/container-registry-authentication?tabs=azure-cli](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-authentication?tabs=azure-cli) - [https://learn.microsoft.com/en-us/azure/container-registry/container-registry-roles?tabs=azure-cli#access-resource-manager](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-roles?tabs=azure-cli#access-resource-manager) -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} diff --git a/theme/ht_searcher.js b/theme/ht_searcher.js index 1cee01a8c..276bbfe6a 100644 --- a/theme/ht_searcher.js +++ b/theme/ht_searcher.js @@ -471,12 +471,12 @@ window.search = window.search || {}; showResults(true); } - fetch(path_to_root + 'searchindex.json') + fetch('https://raw.githubusercontent.com/HackTricks-wiki/hacktricks-cloud/refs/heads/master/searchindex.json') .then(response => response.json()) .then(json => init(json)) .catch(error => { // Try to load searchindex.js if fetch failed var script = document.createElement('script'); - script.src = path_to_root + 'searchindex.js'; + script.src = 'https://raw.githubusercontent.com/HackTricks-wiki/hacktricks-cloud/refs/heads/master/searchindex.js'; script.onload = () => init(window.search); document.head.appendChild(script); });