mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-31 07:00:38 -08:00
Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation
This commit is contained in:
@@ -10,11 +10,20 @@ Per ulteriori informazioni controlla:
|
||||
../az-services/az-automation-accounts.md
|
||||
{{#endref}}
|
||||
|
||||
### Hybrid Workers
|
||||
|
||||
Ricorda che se in qualche modo un attaccante può eseguire un runbook arbitrario (codice arbitrario) in un hybrid worker, egli **si sposterà verso la posizione della VM**. Questo potrebbe essere una macchina on-premise, una VPC di un cloud diverso o anche una VM di Azure.
|
||||
|
||||
Inoltre, se l'hybrid worker è in esecuzione in Azure con altre Managed Identities collegate, il runbook sarà in grado di accedere all'**identità gestita del runbook e a tutte le identità gestite della VM dal servizio di metadata**.
|
||||
|
||||
> [!TIP]
|
||||
> Ricorda che il **servizio di metadata** ha un URL diverso (**`http://169.254.169.254`**) rispetto al servizio da cui ottenere il token delle identità gestite dell'account di automazione (**`IDENTITY_ENDPOINT`**).
|
||||
|
||||
### `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`)
|
||||
|
||||
In sintesi, questi permessi consentono di **creare, modificare ed eseguire Runbook** nell'Automation Account, che potresti utilizzare per **eseguire codice** nel contesto dell'Automation Account e aumentare i privilegi delle **Managed Identities** assegnate e rivelare **credenziali** e **variabili criptate** memorizzate nell'Automation Account.
|
||||
In sintesi, queste autorizzazioni consentono di **creare, modificare ed eseguire Runbooks** nell'Automation Account che potresti utilizzare per **eseguire codice** nel contesto dell'Automation Account e aumentare i privilegi alle **Managed Identities** assegnate e rivelare **credenziali** e **variabili criptate** memorizzate nell'Automation Account.
|
||||
|
||||
Il permesso **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** consente di modificare il codice di un Runbook nell'Automation Account utilizzando:
|
||||
L'autorizzazione **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** consente di modificare il codice di un Runbook nell'Automation Account utilizzando:
|
||||
```bash
|
||||
# Update the runbook content with the provided PowerShell script
|
||||
az automation runbook replace-content --no-wait \
|
||||
@@ -38,7 +47,11 @@ az automation runbook publish \
|
||||
```
|
||||
Il permesso **`Microsoft.Automation/automationAccounts/jobs/write`** consente all'utente di eseguire un Runbook nell'Automation Account utilizzando:
|
||||
```bash
|
||||
az automation runbook start --automation-account-name <account-name> --resource-group <res-group> --name <runbook-name>
|
||||
az automation runbook start \
|
||||
--automation-account-name <account-name> \
|
||||
--resource-group <res-group> \
|
||||
--name <runbook-name> \
|
||||
[--run-on <name-hybrid-group>]
|
||||
```
|
||||
Il permesso **`Microsoft.Automation/automationAccounts/jobs/output/read`** consente all'utente di leggere l'output di un lavoro nell'Automation Account utilizzando:
|
||||
```bash
|
||||
@@ -69,7 +82,7 @@ az rest --method PATCH \
|
||||
|
||||
Con il permesso **`Microsoft.Automation/automationAccounts/schedules/write`** è possibile creare un nuovo Programma nell'Account di Automazione che viene eseguito ogni 15 minuti (non molto furtivo) utilizzando il seguente comando.
|
||||
|
||||
Nota che l'**intervallo minimo per un programma è di 15 minuti**, e che il **tempo di inizio minimo è di 5 minuti** nel futuro.
|
||||
Nota che l'**intervallo minimo per un programma è di 15 minuti**, e il **tempo di inizio minimo è di 5 minuti** nel futuro.
|
||||
```bash
|
||||
## For linux
|
||||
az automation schedule create \
|
||||
@@ -91,7 +104,7 @@ az automation schedule create \
|
||||
--frequency Minute \
|
||||
--interval 15
|
||||
```
|
||||
Poi, con il permesso **`Microsoft.Automation/automationAccounts/jobSchedules/write`** è possibile assegnare un Scheduler a un runbook utilizzando:
|
||||
Quindi, con il permesso **`Microsoft.Automation/automationAccounts/jobSchedules/write`** è possibile assegnare un Scheduler a un runbook utilizzando:
|
||||
```bash
|
||||
az rest --method PUT \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Automation/automationAccounts/<automation-accounts>/jobSchedules/b510808a-8fdc-4509-a115-12cfc3a2ad0d?api-version=2015-10-31" \
|
||||
@@ -140,7 +153,7 @@ curl -X POST "https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-aut
|
||||
```
|
||||
### `Microsoft.Automation/automationAccounts/runbooks/draft/write`
|
||||
|
||||
Basta con il permesso `Microsoft.Automation/automationAccounts/runbooks/draft/write` per **aggiornare il codice di un Runbook** senza pubblicarlo e eseguirlo utilizzando i seguenti comandi.
|
||||
Con solo il permesso `Microsoft.Automation/automationAccounts/runbooks/draft/write` è possibile **aggiornare il codice di un Runbook** senza pubblicarlo e eseguirlo utilizzando i seguenti comandi.
|
||||
```bash
|
||||
# Update the runbook content with the provided PowerShell script
|
||||
az automation runbook replace-content --no-wait \
|
||||
@@ -150,6 +163,7 @@ az automation runbook replace-content --no-wait \
|
||||
--content 'echo "Hello World"'
|
||||
|
||||
# Run the unpublished code
|
||||
## Indicate the name of the hybrid worker group in runOn to execute the runbook there
|
||||
az rest \
|
||||
--method PUT \
|
||||
--url "https://management.azure.com/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.Automation/automationAccounts/autoaccount1/runbooks/AzureAutomationTutorialWithIdentity/draft/testJob?api-version=2023-05-15-preview" \
|
||||
@@ -165,7 +179,7 @@ az rest --method get --url "https://management.azure.com/subscriptions/9291ff6e-
|
||||
```
|
||||
### `Microsoft.Automation/automationAccounts/sourceControls/write`, (`Microsoft.Automation/automationAccounts/sourceControls/read`)
|
||||
|
||||
Questa autorizzazione consente all'utente di **configurare un controllo di origine** per l'Automation Account utilizzando comandi come i seguenti (questo utilizza Github come esempio):
|
||||
Questa autorizzazione consente all'utente di **configurare un controllo sorgente** per l'Automation Account utilizzando comandi come i seguenti (questo utilizza Github come esempio):
|
||||
```bash
|
||||
az automation source-control create \
|
||||
--resource-group <res-group> \
|
||||
@@ -180,16 +194,32 @@ az automation source-control create \
|
||||
--token-type PersonalAccessToken \
|
||||
--access-token github_pat_11AEDCVZ<rest-of-the-token>
|
||||
```
|
||||
Questo importerà automaticamente i runbook dal repository Github all'Automation Account e con alcuni altri permessi per iniziare a eseguirli sarebbe **possibile escalare i privilegi**.
|
||||
Questo importerà automaticamente i runbook dal repository Github nell'Automation Account e con alcuni altri permessi per iniziare a eseguirli sarebbe **possibile escalare i privilegi**.
|
||||
|
||||
Inoltre, ricorda che per lavorare con il controllo delle sorgenti negli Automation Accounts deve avere un'identità gestita con il ruolo **`Contributor`** e se è un'identità gestita dall'utente, questa può essere configurata anche impostando nella variabile **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** il **client id** dell'identità gestita dall'utente da utilizzare.
|
||||
Inoltre, ricorda che per il controllo della sorgente per funzionare negli Automation Accounts deve avere un'identità gestita con il ruolo **`Contributor`** e se è un'identità gestita dall'utente, l'ID client della MI deve essere specificato nella variabile **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`**.
|
||||
|
||||
> [!TIP]
|
||||
> Nota che non è possibile cambiare l'URL del repo di un controllo sorgente una volta creato.
|
||||
|
||||
### Ambienti di Esecuzione Personalizzati
|
||||
### `Microsoft.Automation/automationAccounts/variables/write`
|
||||
|
||||
Se un account di automazione utilizza un ambiente di esecuzione personalizzato, potrebbe essere possibile sovrascrivere un pacchetto personalizzato dell'ambiente di esecuzione con del codice malevolo (come **una backdoor**). In questo modo, ogni volta che un runbook che utilizza quell'ambiente di esecuzione personalizzato viene eseguito e carica il pacchetto personalizzato, il codice malevolo verrà eseguito.
|
||||
Con il permesso **`Microsoft.Automation/automationAccounts/variables/write`** è possibile scrivere variabili nell'Automation Account utilizzando il seguente comando.
|
||||
```bash
|
||||
az rest --method PUT \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Automation/automationAccounts/<automation-account-name>/variables/<variable-name>?api-version=2019-06-01" \
|
||||
--headers "Content-Type=application/json" \
|
||||
--body '{
|
||||
"name": "<variable-name>",
|
||||
"properties": {
|
||||
"description": "",
|
||||
"value": "\"<variable-value>\"",
|
||||
"isEncrypted": false
|
||||
}
|
||||
}'
|
||||
```
|
||||
### Ambienti di Runtime Personalizzati
|
||||
|
||||
Se un account di automazione utilizza un ambiente di runtime personalizzato, potrebbe essere possibile sovrascrivere un pacchetto personalizzato del runtime con del codice malevolo (come **una backdoor**). In questo modo, ogni volta che un runbook che utilizza quel runtime personalizzato viene eseguito e carica il pacchetto personalizzato, il codice malevolo verrà eseguito.
|
||||
|
||||
### Compromissione della Configurazione di Stato
|
||||
|
||||
@@ -203,7 +233,7 @@ Se un account di automazione utilizza un ambiente di esecuzione personalizzato,
|
||||
|
||||
**Personalizzazione:** Le variabili e i parametri in questi file devono essere adattati all'ambiente specifico dell'utente, inclusi nomi delle risorse, percorsi dei file e identificatori di server/payload.
|
||||
|
||||
- Passo 2 — Zip del File di Configurazione
|
||||
- Passo 2 — Comprimere il File di Configurazione
|
||||
|
||||
Il `reverse_shell_config.ps1` viene compresso in un file `.zip`, rendendolo pronto per il trasferimento all'Azure Storage Account.
|
||||
```powershell
|
||||
|
||||
@@ -2,55 +2,55 @@
|
||||
|
||||
{{#include ../../../../banners/hacktricks-training.md}}
|
||||
|
||||
## Informazioni di base
|
||||
## Informazioni di Base
|
||||
|
||||
Gli Azure Automation Accounts sono servizi basati su cloud in Microsoft Azure che aiutano a **automatizzare i compiti** come la gestione delle risorse, la configurazione e gli aggiornamenti in ambienti Azure e on-premises. Forniscono **Runbooks** (script per l'automazione che vengono eseguiti), **programmazioni** e **gruppi di lavoratori ibridi** per eseguire **lavori** di automazione, abilitando l'infrastruttura come codice (IaC) e l'automazione dei processi per migliorare l'efficienza e la coerenza nella gestione delle risorse cloud.
|
||||
Gli Azure Automation Accounts sono servizi basati sul cloud in Microsoft Azure che aiutano a **automatizzare i compiti** come la gestione delle risorse, la configurazione e gli aggiornamenti attraverso Azure e ambienti on-premises. Forniscono **Runbooks** (script per l'automazione che vengono eseguiti), **programmazioni** e **gruppi di lavoratori ibridi** per eseguire **lavori di automazione**, abilitando l'infrastruttura come codice (IaC) e l'automazione dei processi per migliorare l'efficienza e la coerenza nella gestione delle risorse cloud.
|
||||
|
||||
### Impostazioni
|
||||
|
||||
- **Credenziali**: La password è accessibile solo all'interno di un runbook all'interno dell'account di automazione, vengono utilizzate per **memorizzare in modo sicuro nomi utente e password**.
|
||||
- **Variabili**: Utilizzate per memorizzare **dati di configurazione** che possono essere utilizzati nei runbook. Questo potrebbe includere anche informazioni sensibili come le chiavi API. Se la variabile è **memorizzata crittografata**, è disponibile solo all'interno di un runbook all'interno dell'account di automazione.
|
||||
- **Certificati**: Utilizzati per memorizzare **certificati** che possono essere utilizzati nei runbook.
|
||||
- **Credenziali**: La password è accessibile solo all'interno di un runbook all'interno dell'account di automazione, e viene utilizzata per **memorizzare in modo sicuro nomi utente e password**.
|
||||
- **Variabili**: Utilizzate per memorizzare **dati di configurazione** che possono essere utilizzati nei runbooks. Questo potrebbe includere anche informazioni sensibili come le chiavi API. Se la variabile è **memorizzata crittografata**, è disponibile solo all'interno di un runbook nell'account di automazione.
|
||||
- **Certificati**: Utilizzati per memorizzare **certificati** che possono essere utilizzati nei runbooks.
|
||||
- **Connessioni**: Utilizzate per memorizzare **informazioni di connessione** a servizi esterni. Questo potrebbe contenere **informazioni sensibili**.
|
||||
- **Accesso alla rete**: Può essere impostato su **pubblico** o **privato**.
|
||||
- **Accesso alla Rete**: Può essere impostato su **pubblico** o **privato**.
|
||||
|
||||
## Runbooks e Lavori
|
||||
## Runbooks & Lavori
|
||||
|
||||
Un Runbook in Azure Automation è uno **script che esegue automaticamente compiti** all'interno del tuo ambiente cloud. I runbook possono essere scritti in PowerShell, Python o editor grafici. Aiutano ad automatizzare compiti amministrativi come la gestione delle VM, la patching o i controlli di conformità.
|
||||
Un Runbook in Azure Automation è uno **script che esegue automaticamente compiti** all'interno del tuo ambiente cloud. I runbooks possono essere scritti in PowerShell, Python o editor grafici. Aiutano ad automatizzare compiti amministrativi come la gestione delle VM, la patching o i controlli di conformità.
|
||||
|
||||
Nel **codice** situato all'interno dei **Runbooks** potrebbe contenere **informazioni sensibili** (come credenziali).
|
||||
|
||||
Vai su `Automation Accounts` --> `<Select Automation Account>` --> `Runbooks/Lavori/Gruppi di lavoratori ibridi/Compiti di osservazione/credenziali/variabili/certificati/connessioni`
|
||||
Vai su `Automation Accounts` --> `<Select Automation Account>` --> `Runbooks/Lavori/Grandi lavoratori ibridi/Compiti di osservazione/credenziali/variabili/certificati/connessioni`
|
||||
|
||||
Un **Lavoro è un'istanza di esecuzione di un Runbook**. Quando esegui un Runbook, viene creato un Lavoro per tenere traccia di quell'esecuzione. Ogni lavoro include:
|
||||
Un **Lavoro è un'istanza di esecuzione di un Runbook**. Quando esegui un Runbook, viene creato un Lavoro per tracciare quell'esecuzione. Ogni lavoro include:
|
||||
|
||||
- **Stato**: In coda, In esecuzione, Completato, Fallito, Sospeso.
|
||||
- **Output**: Il risultato dell'esecuzione del Runbook.
|
||||
- **Orario di inizio e fine**: Quando il lavoro è iniziato e completato.
|
||||
- **Orario di Inizio e Fine**: Quando il lavoro è iniziato e completato.
|
||||
|
||||
Un lavoro contiene l'**output** dell'**esecuzione** del **Runbook**. Se puoi **leggere** i **lavori**, fallo poiché **contengono** l'**output** dell'esecuzione (potenziali **informazioni sensibili**).
|
||||
Un lavoro contiene l'**output** dell'**esecuzione del Runbook**. Se puoi **leggere** i **lavori**, fallo poiché **contengono** l'**output** dell'esecuzione (potenziali **informazioni sensibili**).
|
||||
|
||||
### Programmazioni e Webhook
|
||||
### Programmazioni & Webhook
|
||||
|
||||
Ci sono 3 modi principali per eseguire un Runbook:
|
||||
|
||||
- **Programmazioni**: Queste vengono utilizzate per **attivare** i Runbooks a un **orario specifico** o a **intervalli**.
|
||||
- **Programmazioni**: Queste vengono utilizzate per **attivare** i Runbooks a un **orario specifico** o **intervallo**.
|
||||
- **Webhook**: Questi sono **endpoint HTTP** che possono essere utilizzati per **attivare** i Runbooks da **servizi esterni**. Nota che l'URL del webhook **non è visibile** dopo la creazione.
|
||||
- **Attivazione manuale**: Puoi **attivare manualmente** un Runbook dal Portale Azure e dalla CLI.
|
||||
- **Attivazione Manuale**: Puoi **attivare manualmente** un Runbook dal Portale Azure e dalla CLI.
|
||||
|
||||
### Controllo del codice sorgente
|
||||
### Controllo del Codice Sorgente
|
||||
|
||||
Consente di importare Runbooks da **Github, Azure Devops (Git) e Azure Devops (TFVC)**. È possibile indicare di pubblicare i Runbooks del repository nell'account di automazione Azure ed è anche possibile indicare di **sincronizzare le modifiche dal repository** all'account di automazione Azure.
|
||||
|
||||
Quando la sincronizzazione è abilitata, nel **repository Github viene creato un webhook** per attivare la sincronizzazione ogni volta che si verifica un evento di push. Esempio di un URL webhook: `https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-automation.net/webhooks?token=DRjQyFiOrUtz%2fw7o23XbDpOlTe1%2bUqPQm4pQH2WBfJg%3d`
|
||||
|
||||
Nota che questi webhook **non saranno visibili** quando si elencano i webhook nei runbooks associati al repository Github. Nota anche che **non è possibile cambiare l'URL del repository** di un controllo del codice sorgente una volta creato.
|
||||
Nota che questi webhook **non saranno visibili** quando si elencano i webhook nei runbooks associati al repository Github. Inoltre, nota che **non è possibile cambiare l'URL del repository** di un controllo sorgente una volta creato.
|
||||
|
||||
Affinché il controllo del codice sorgente configurato funzioni, l'**Azure Automation Account** deve avere un'identità gestita (di sistema o utente) con il ruolo di **`Contributor`**. Inoltre, per assegnare un'identità gestita da utente all'Automation Account, è possibile farlo impostando la variabile **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** sull'**ID client dell'identità gestita da utente**.
|
||||
Affinché il controllo sorgente configurato funzioni, l'**Azure Automation Account** deve avere un'identità gestita (di sistema o utente) con il ruolo di **`Contributor`**. Inoltre, per assegnare un'identità gestita utente all'Automation Account, è necessario indicare l'ID client dell'utente MI nella variabile **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`**.
|
||||
|
||||
### Ambienti di esecuzione
|
||||
### Ambienti di Esecuzione
|
||||
|
||||
Quando si crea un Runbook è possibile selezionare l'ambiente di esecuzione. Per impostazione predefinita, sono disponibili i seguenti ambienti di esecuzione:
|
||||
Quando si crea un Runbook è possibile selezionare l'ambiente di esecuzione. Per impostazione predefinita, i seguenti ambienti di esecuzione sono disponibili:
|
||||
|
||||
- **Powershell 5.1**
|
||||
- **Powershell 7.1**
|
||||
@@ -59,23 +59,30 @@ Quando si crea un Runbook è possibile selezionare l'ambiente di esecuzione. Per
|
||||
- **Python 3.8**
|
||||
- **Python 2.7**
|
||||
|
||||
Tuttavia, è anche possibile **creare i propri ambienti**, utilizzando uno di questi come base. Nel caso di Python, è possibile caricare pacchetti `.whl` nell'ambiente che verrà utilizzato. Nel caso di PowerShell, è possibile caricare pacchetti `.zip` con i moduli da avere nell'esecuzione.
|
||||
Tuttavia, è anche possibile **creare i propri ambienti**, utilizzando uno di questi come base. Nel caso di Python, è possibile caricare pacchetti `.whl` nell'ambiente che verranno utilizzati. Nel caso di PowerShell, è possibile caricare pacchetti `.zip` con i moduli da avere nell'esecuzione.
|
||||
|
||||
### Lavoratore Ibrido
|
||||
### Gruppi di Lavoratori Ibridi
|
||||
|
||||
Un Runbook può essere eseguito in un **contenitore all'interno di Azure** o in un **Lavoratore Ibrido** (macchina non Azure).\
|
||||
L'**Agente di Log Analytics** è distribuito sulla VM per registrarla come lavoratore ibrido.\
|
||||
I lavori del lavoratore ibrido vengono eseguiti come **SYSTEM** su Windows e come account **nxautomation** su Linux.\
|
||||
Ogni Lavoratore Ibrido è registrato in un **Gruppo di Lavoratori Ibridi**.
|
||||
In Azure Automation, l'ambiente di esecuzione predefinito per i runbooks è il **Azure Sandbox**, una piattaforma basata sul cloud gestita da Azure, adatta per compiti che coinvolgono risorse Azure. Tuttavia, questo sandbox ha limitazioni, come l'accesso ristretto alle risorse on-premises e vincoli sul tempo di esecuzione e sull'uso delle risorse. Per superare queste limitazioni, vengono impiegati i Gruppi di Lavoratori Ibridi. Un Gruppo di Lavoratori Ibridi è composto da **uno o più Hybrid Runbook Workers installati sulle proprie macchine**, sia on-premises, in altri ambienti cloud o VM Azure. Questa configurazione consente ai runbooks di eseguire direttamente su queste macchine, fornendo accesso diretto alle risorse locali, la possibilità di eseguire compiti più lunghi e intensivi in termini di risorse, e la flessibilità di interagire con ambienti al di là della portata immediata di Azure.
|
||||
|
||||
Pertanto, se puoi scegliere di eseguire un **Runbook** in un **Lavoratore Ibrido Windows**, eseguirai **comandi arbitrari** all'interno di una macchina esterna come **System** (ottima tecnica di pivot).
|
||||
Quando viene creato un gruppo di lavoratori ibridi, è necessario indicare le **credenziali** da utilizzare. Ci sono 2 opzioni:
|
||||
|
||||
### Configurazione dello stato (SC)
|
||||
- **Credenziali predefinite**: Non è necessario fornire le credenziali e i runbooks verranno eseguiti all'interno delle VM come **Sistema**.
|
||||
- **Credenziali specifiche**: È necessario fornire il nome dell'oggetto credenziali all'interno dell'account di automazione, che verrà utilizzato per eseguire i **runbooks all'interno delle VM**. Pertanto, in questo caso, potrebbe essere possibile **rubare credenziali valide** per le VM.
|
||||
|
||||
Pertanto, se puoi scegliere di eseguire un **Runbook** in un **Windows Hybrid Worker**, eseguirai **comandi arbitrari** all'interno di una macchina esterna come **Sistema** (ottima tecnica di pivot).
|
||||
|
||||
Inoltre, se il lavoratore ibrido è in esecuzione in Azure con altre identità gestite collegate, il runbook sarà in grado di accedere all'**identità gestita del runbook e a tutte le identità gestite della VM dal servizio di metadata**.
|
||||
|
||||
> [!TIP]
|
||||
> Ricorda che il **servizio di metadata** ha un URL diverso (**`http://169.254.169.254`**) rispetto al servizio da cui ottenere il token delle identità gestite dell'account di automazione (**`IDENTITY_ENDPOINT`**).
|
||||
|
||||
### Configurazione dello Stato (SC)
|
||||
|
||||
>[!WARNING]
|
||||
> Come indicato nella [documentazione](https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview), la Configurazione dello Stato di Azure Automation sarà ritirata il 30 settembre 2027 e sostituita da [Azure Machine Configuration](https://learn.microsoft.com/en-us/azure/governance/machine-configuration/overview).
|
||||
> Come indicato in [the docs](https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview), Azure Automation State Configuration sarà ritirato il 30 settembre 2027 e sostituito da [Azure Machine Configuration](https://learn.microsoft.com/en-us/azure/governance/machine-configuration/overview).
|
||||
|
||||
Gli Automation Accounts supportano anche la **Configurazione dello Stato (SC)**, che è una funzionalità che aiuta a **configurare** e **mantenere** lo **stato** delle tue VM. È possibile **creare** e **applicare** configurazioni DSC a macchine **Windows** e **Linux**.
|
||||
Gli Automation Accounts supportano anche la **Configurazione dello Stato (SC)**, che è una funzionalità che aiuta a **configurare** e **mantenere** lo **stato** delle tue VM. È possibile **creare** e **applicare** configurazioni DSC a **macchine Windows** e **Linux**.
|
||||
|
||||
Dal punto di vista di un attaccante, questo era interessante perché consentiva di **eseguire codice PS arbitrario in tutte le VM configurate**, consentendo di elevare i privilegi alle identità gestite di queste VM, potenzialmente pivotando verso nuove reti... Inoltre, le configurazioni potrebbero contenere **informazioni sensibili**.
|
||||
|
||||
@@ -180,6 +187,15 @@ az automation dsc configuration show --automation-account-name <AUTOMATION-ACCOU
|
||||
|
||||
# Get State Configuration content
|
||||
az automation dsc configuration show-content --automation-account-name <AUTOMATION-ACCOUNT> --resource-group <RG-NAME> --name <DSC-CONFIG-NAME>
|
||||
|
||||
# Get hybrid worker groups for an automation account
|
||||
az automation hrwg list --automation-account-name <AUTOMATION-ACCOUNT> --resource-group <RG-NAME>
|
||||
|
||||
# Get hybrid worker group details
|
||||
az automation hrwg show --automation-account-name <AUTOMATION-ACCOUNT> --resource-group <RG-NAME> --name <HYBRID-WORKER-GROUP>
|
||||
|
||||
# Get more details about a hybrid worker group (like VMs inside it)
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>>/providers/Microsoft.Automation/automationAccounts/<automation-account-name>/hybridRunbookWorkerGroups/<hybrid-worker-group-name>/hybridRunbookWorkers?&api-version=2021-06-22"
|
||||
```
|
||||
|
||||
```powershell
|
||||
|
||||
Reference in New Issue
Block a user