mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-09 11:44:59 -08:00
Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
## Basiese Inligting
|
||||
|
||||
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.
|
||||
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** (skripte 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
|
||||
|
||||
@@ -14,13 +14,11 @@ Azure Automatiseringsrekeninge is wolk-gebaseerde dienste in Microsoft Azure wat
|
||||
- **Verbindings**: Gebruik om **verbindinginligting** na eksterne dienste te stoor. Dit kan **sensitiewe inligting** bevat.
|
||||
- **Netwerktoegang**: Dit kan gestel word op **publiek** of **privaat**.
|
||||
|
||||
## Runbooks & Take
|
||||
### 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 outomatiseer.
|
||||
'n Runbook in Azure Automatisering is 'n **skrip 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/verbindings`
|
||||
In die **kode** geleë binne **Runbooks** kan **sensitiewe inligting** bevat (soos geloofsbriewe).
|
||||
|
||||
'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:
|
||||
|
||||
@@ -40,17 +38,17 @@ Daar is 3 hoofmaniere om 'n Runbook uit te voer:
|
||||
|
||||
### Bronbeheer
|
||||
|
||||
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**.
|
||||
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**.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
Ten einde vir die geconfigureerde bronbeheer om te werk, moet die **Azure Automatiseringsrekening** 'n bestuurde identiteit (stelsel of gebruiker) met die **`Contributor`** rol hê. Boonop, om 'n gebruiker bestuurde identiteit aan die Automatiseringsrekening toe te ken, is dit nodig om die kliënt-ID van die gebruiker MI in die veranderlike **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** aan te dui.
|
||||
|
||||
### Runtime Omgewings
|
||||
### Tydslope Omgewings
|
||||
|
||||
Wanneer 'n Runbook geskep word, is dit moontlik om die runtime-omgewing te kies. Standaard is die volgende runtime-omgewings beskikbaar:
|
||||
Wanneer 'n Runbook geskep word, is dit moontlik om die tydslope omgewing te kies. Standaard is die volgende tydslope omgewings beskikbaar:
|
||||
|
||||
- **Powershell 5.1**
|
||||
- **Powershell 7.1**
|
||||
@@ -59,18 +57,18 @@ 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 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 tydslope moet wees.
|
||||
|
||||
### Hibridewerkersgroepe
|
||||
|
||||
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.
|
||||
|
||||
Wanneer 'n hibridewerkersgroep geskep word, is dit nodig om die **geloofsbriewe** aan te dui wat gebruik gaan word. Daar is 2 opsies:
|
||||
Wanneer 'n hibridewerkersgroep geskep word, is dit nodig om die **geloofsbriewe** aan te dui wat gebruik moet 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).
|
||||
Daarom, as jy kan kies om 'n **Runbook** in 'n **Hibridewerkers** uit te voer, sal jy **arbitraire opdragte** binne 'n eksterne masjien as **Stelsel** uitvoer (lekker 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**.
|
||||
|
||||
@@ -80,13 +78,13 @@ Boonop, as die hibridewerkers in Azure met ander Bestuurde Identiteite aangeheg
|
||||
### Toestand Konfigurasie (SC)
|
||||
|
||||
>[!WARNING]
|
||||
> 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).
|
||||
> 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 afgeskakel 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 **DSC konfigurasies te skep** en toe te pas op **Windows** en **Linux** masjiene.
|
||||
Automatiseringsrekeninge ondersteun ook **Toestand Konfigurasie (SC)**, wat 'n kenmerk is wat help om **te konfigureer** en **die toestand** van jou VM's te **onderhou**. Dit is moontlik om **te skep** en **toe te pas** DSC konfigurasies 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 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.
|
||||
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 toegelaat het om voorregte na die bestuurde identiteite van hierdie VM's te eskaleer, potensieel te pivot na nuwe netwerke... Ook, die konfigurasies kan **sensitiewe inligting** bevat.
|
||||
|
||||
## Enumerasie
|
||||
## Opname
|
||||
```bash
|
||||
# List Automation Accounts
|
||||
az automation account list --output table
|
||||
@@ -170,7 +168,7 @@ az rest --method GET \
|
||||
|
||||
# Get the source control setting of an automation account (if any)
|
||||
## inside the output it's possible to see if the autoSync is enabled, if the publishRunbook is enabled and the repo URL
|
||||
aaz automation source-control list --automation-account-name <AUTOMATION-ACCOUNT> --resource-group <RG-NAME>
|
||||
az automation source-control list --automation-account-name <AUTOMATION-ACCOUNT> --resource-group <RG-NAME>
|
||||
|
||||
# Get custom runtime environments
|
||||
## Check in defaultPackages for custom ones, by default Python envs won't have anything here and PS1 envs will have "az" and "azure cli"
|
||||
|
||||
Reference in New Issue
Block a user