mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-07 21:30:47 -08:00
Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation
This commit is contained in:
@@ -10,11 +10,20 @@ Daha fazla bilgi için kontrol edin:
|
||||
../az-services/az-automation-accounts.md
|
||||
{{#endref}}
|
||||
|
||||
### Hybrid Workers
|
||||
|
||||
Unutmayın ki eğer bir şekilde bir saldırgan bir hybrid worker'da keyfi bir runbook (keyfi kod) çalıştırabiliyorsa, **VM'nin konumuna geçiş yapacaktır**. Bu, bir yerel makine, farklı bir bulutun VPC'si veya hatta bir Azure VM olabilir.
|
||||
|
||||
Ayrıca, eğer hybrid worker Azure'da diğer Yönetilen Kimliklerle birlikte çalışıyorsa, runbook **runbook'un yönetilen kimliğine ve VM'nin metadata hizmetinden tüm yönetilen kimliklerine erişim sağlayacaktır**.
|
||||
|
||||
> [!TIP]
|
||||
> **Metadata hizmetinin** yönetilen kimlikler token'ını almak için kullanılan hizmetten farklı bir URL'si vardır (**`http://169.254.169.254`**).
|
||||
|
||||
### `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`)
|
||||
|
||||
Özetle, bu izinler **Automation Account** içinde **Runbook'lar oluşturma, değiştirme ve çalıştırma** yetkisi verir; bu da **Automation Account** bağlamında **kod çalıştırma** ve atanan **Managed Identities** için ayrıcalıkları yükseltme, ayrıca **Automation Account** içinde saklanan **kimlik bilgilerini** ve **şifrelenmiş değişkenleri** sızdırma imkanı sağlar.
|
||||
Özetle, bu izinler **Automation Account'ta Runbook'lar oluşturma, değiştirme ve çalıştırma** yetkisi verir; bu da **Automation Account'ın bağlamında kod çalıştırmak** ve atanan **Yönetilen Kimliklere** ayrıcalıkları yükseltmek için kullanılabilir ve **kimlik bilgilerini** ve **şifrelenmiş değişkenleri** Automation Account'ta sızdırabilir.
|
||||
|
||||
İzin **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** Automation Account içindeki bir Runbook'un kodunu değiştirmeye olanak tanır:
|
||||
**`Microsoft.Automation/automationAccounts/runbooks/draft/write`** izni, Automation Account'taki bir Runbook'un kodunu değiştirmeye olanak tanır:
|
||||
```bash
|
||||
# Update the runbook content with the provided PowerShell script
|
||||
az automation runbook replace-content --no-wait \
|
||||
@@ -27,7 +36,7 @@ $runbook_variable
|
||||
$creds.GetNetworkCredential().username
|
||||
$creds.GetNetworkCredential().password'
|
||||
```
|
||||
Not edin ki önceki script, bir kimlik bilgisi için **kullanıcı adı ve şifreyi** ve Automation Account'ta saklanan bir **şifreli değişkenin** değerini **sızdırmak** için kullanılabilir.
|
||||
Not edin ki önceki script, bir kimlik bilgisi için **kullanıcı adı ve şifreyi sızdırmak** ve Automation Account'ta saklanan bir **şifreli değişkenin** değerini almak için kullanılabilir.
|
||||
|
||||
**`Microsoft.Automation/automationAccounts/runbooks/publish/action`** izni, kullanıcının Automation Account'ta bir Runbook yayınlamasına izin verir, böylece değişiklikler uygulanır:
|
||||
```bash
|
||||
@@ -38,7 +47,11 @@ az automation runbook publish \
|
||||
```
|
||||
İzin **`Microsoft.Automation/automationAccounts/jobs/write`** kullanıcının Automation Account içinde bir Runbook çalıştırmasına olanak tanır:
|
||||
```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>]
|
||||
```
|
||||
İzin **`Microsoft.Automation/automationAccounts/jobs/output/read`** kullanıcının Automation Account'taki bir işin çıktısını okumasına olanak tanır:
|
||||
```bash
|
||||
@@ -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" \
|
||||
@@ -182,36 +196,52 @@ az automation source-control create \
|
||||
```
|
||||
Bu, runbook'ları Github deposundan Automation Account'a otomatik olarak içe aktaracak ve bazı diğer izinlerle çalıştırmaya başlamak **yetkileri artırmak** mümkün olacaktır.
|
||||
|
||||
Ayrıca, Automation Accounts'ta kaynak kontrolünün çalışabilmesi için yönetilen bir kimliğe sahip olması gerektiğini unutmayın; bu kimlik **`Contributor`** rolüne sahip olmalıdır ve eğer bu bir kullanıcı yönetilen kimlikse, **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** değişkenine kullanılacak kullanıcı yönetilen kimliğinin **client id**'sini ayarlayarak da yapılandırılabilir.
|
||||
Ayrıca, Automation Accounts'ta kaynak kontrolünün çalışabilmesi için yönetilen bir kimliğe sahip olması gerektiğini ve eğer bu bir kullanıcı yönetilen kimliği ise MI'nin istemci kimliğinin **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** değişkeninde belirtilmesi gerektiğini unutmayın.
|
||||
|
||||
> [!TIP]
|
||||
> Oluşturulduktan sonra bir kaynak kontrolünün repo URL'sini değiştirmenin mümkün olmadığını unutmayın.
|
||||
|
||||
### `Microsoft.Automation/automationAccounts/variables/write`
|
||||
|
||||
**`Microsoft.Automation/automationAccounts/variables/write`** izni ile aşağıdaki komutu kullanarak Automation Account'ta değişkenler yazmak mümkündür.
|
||||
```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
|
||||
}
|
||||
}'
|
||||
```
|
||||
### Özel Çalışma Ortamları
|
||||
|
||||
Eğer bir otomasyon hesabı özel bir çalışma ortamı kullanıyorsa, kötü niyetli bir kod (örneğin, **bir arka kapı**) ile çalışma ortamının özel bir paketini geçersiz kılmak mümkün olabilir. Bu şekilde, o özel çalışma ortamını kullanan bir runbook çalıştırıldığında ve özel paket yüklendiğinde, kötü niyetli kod çalıştırılacaktır.
|
||||
Eğer bir otomasyon hesabı özel bir çalışma ortamı kullanıyorsa, çalışma ortamının özel bir paketini bazı kötü niyetli kodlarla (örneğin **bir arka kapı**) değiştirmek mümkün olabilir. Bu şekilde, o özel çalışma ortamını kullanan bir runbook çalıştırıldığında ve özel paket yüklendiğinde, kötü niyetli kod çalıştırılacaktır.
|
||||
|
||||
### Durum Yapılandırmasını Tehdit Etme
|
||||
|
||||
**Tam gönderiyi kontrol edin:** [**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)
|
||||
|
||||
- Adım 1 — Dosyaları Oluştur
|
||||
- Adım 1 — Dosyalar Oluşturma
|
||||
|
||||
**Gerekli Dosyalar:** İki PowerShell betiği gereklidir:
|
||||
1. `reverse_shell_config.ps1`: Yükü alıp çalıştıran bir Desired State Configuration (DSC) dosyası. [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/reverse_shell_config.ps1) adresinden temin edilebilir.
|
||||
**Gerekli Dosyalar:** İki PowerShell betiğine ihtiyaç vardır:
|
||||
1. `reverse_shell_config.ps1`: Yükü alıp çalıştıran bir İstenilen Durum Yapılandırması (DSC) dosyası. [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/reverse_shell_config.ps1) adresinden temin edilebilir.
|
||||
2. `push_reverse_shell_config.ps1`: Yapılandırmayı VM'ye yayınlamak için bir betik, [GitHub](https://github.com/nickpupp0/AzureDSCAbuse/blob/master/push_reverse_shell_config.ps1) adresinde mevcuttur.
|
||||
|
||||
**Özelleştirme:** Bu dosyalardaki değişkenler ve parametreler, kullanıcıya özgü ortamına göre, kaynak adları, dosya yolları ve sunucu/yük tanımlayıcıları dahil olmak üzere özelleştirilmelidir.
|
||||
**Özelleştirme:** Bu dosyalardaki değişkenler ve parametreler, kullanıcıya özgü ortam için, kaynak adları, dosya yolları ve sunucu/yük tanımlayıcıları dahil olmak üzere özelleştirilmelidir.
|
||||
|
||||
- Adım 2 — Yapılandırma Dosyasını Zip'le
|
||||
- Adım 2 — Yapılandırma Dosyasını Sıkıştırma
|
||||
|
||||
`reverse_shell_config.ps1` bir `.zip` dosyasına sıkıştırılır, böylece Azure Storage Account'a aktarım için hazır hale gelir.
|
||||
`reverse_shell_config.ps1` bir `.zip` dosyasına sıkıştırılır, böylece Azure Depolama Hesabına aktarım için hazır hale gelir.
|
||||
```powershell
|
||||
Compress-Archive -Path .\reverse_shell_config.ps1 -DestinationPath .\reverse_shell_config.ps1.zip
|
||||
```
|
||||
- Adım 3 — Depolama Bağlamını Ayarla ve Yükle
|
||||
|
||||
Sıkıştırılmış yapılandırma dosyası, Azure'un Set-AzStorageBlobContent cmdlet'ini kullanarak önceden tanımlanmış Azure Storage konteyneri olan azure-pentest'e yüklenir.
|
||||
Sıkıştırılmış yapılandırma dosyası, Azure'un Set-AzStorageBlobContent cmdlet'ini kullanarak önceden tanımlanmış Azure Depolama konteyneri olan azure-pentest'e yüklenir.
|
||||
```powershell
|
||||
Set-AzStorageBlobContent -File "reverse_shell_config.ps1.zip" -Container "azure-pentest" -Blob "reverse_shell_config.ps1.zip" -Context $ctx
|
||||
```
|
||||
|
||||
@@ -8,8 +8,8 @@ Azure Automation Hesapları, Microsoft Azure'da kaynak yönetimi, yapılandırma
|
||||
|
||||
### Ayarlar
|
||||
|
||||
- **Kimlik Bilgileri**: Şifre yalnızca otomasyon hesabındaki bir runbook içinde erişilebilir, kullanıcı adlarını ve şifreleri **güvenli bir şekilde saklamak için** kullanılır.
|
||||
- **Değişkenler**: Runbook'larda kullanılabilecek **yapılandırma verilerini** saklamak için kullanılır. Bu, API anahtarları gibi hassas bilgiler de olabilir. Değişken **şifrelenmiş olarak saklanıyorsa**, yalnızca otomasyon hesabındaki bir runbook içinde kullanılabilir.
|
||||
- **Kimlik Bilgileri**: Şifre, otomasyon hesabı içindeki bir runbook içinde yalnızca erişilebilir, **kullanıcı adlarını ve şifreleri güvenli bir şekilde saklamak için** kullanılır.
|
||||
- **Değişkenler**: Runbook'larda kullanılabilecek **yapılandırma verilerini** saklamak için kullanılır. Bu, API anahtarları gibi hassas bilgiler de olabilir. Değişken **şifrelenmiş olarak saklanıyorsa**, yalnızca otomasyon hesabı içindeki bir runbook içinde erişilebilir.
|
||||
- **Sertifikalar**: Runbook'larda kullanılabilecek **sertifikaları** saklamak için kullanılır.
|
||||
- **Bağlantılar**: Harici hizmetlere ait **bağlantı bilgilerini** saklamak için kullanılır. Bu, **hassas bilgiler** içerebilir.
|
||||
- **Ağ Erişimi**: **Herkese açık** veya **özel** olarak ayarlanabilir.
|
||||
@@ -18,7 +18,7 @@ Azure Automation Hesapları, Microsoft Azure'da kaynak yönetimi, yapılandırma
|
||||
|
||||
Azure Automation'daki bir Runbook, bulut ortamınızda görevleri otomatik olarak **yerine getiren bir betiktir**. Runbook'lar PowerShell, Python veya Grafik editörlerde yazılabilir. VM yönetimi, yamanlama veya uyumluluk kontrolleri gibi idari görevleri otomatikleştirmeye yardımcı olurlar.
|
||||
|
||||
**Runbook'lar** içindeki **kod**, **hassas bilgileri** içerebilir (örneğin kimlik bilgileri).
|
||||
**Runbook'lar** içindeki **kod**, **hassas bilgi** (örneğin kimlik bilgileri) içerebilir.
|
||||
|
||||
`Automation Accounts` --> `<Select Automation Account>` --> `Runbooks/Jobs/Hybrid worker groups/Watcher tasks/credentials/variables/certificates/connections` adresine gidin.
|
||||
|
||||
@@ -28,11 +28,11 @@ Bir **İş**, bir Runbook yürütme örneğidir. Bir Runbook çalıştırdığı
|
||||
- **Çıktı**: Runbook yürütmesinin sonucu.
|
||||
- **Başlangıç ve Bitiş Zamanı**: İşin ne zaman başladığı ve tamamlandığı.
|
||||
|
||||
Bir iş, **Runbook** yürütmesinin **çıktısını** içerir. **İşleri** **okuyabiliyorsanız**, bunu yapın çünkü **çıkta** **run**'un **çıktısını** içerir (potansiyel **hassas bilgiler**).
|
||||
Bir iş, **Runbook** yürütmesinin **çıktısını** içerir. **İşleri** **okuyabiliyorsanız**, bunu yapın çünkü **çıkta** **run** (potansiyel **hassas bilgi**) içerir.
|
||||
|
||||
### Programlar & Webhook'lar
|
||||
|
||||
Bir Runbook'u yürütmenin 3 ana yolu vardır:
|
||||
Bir Runbook'u çalıştırmanın 3 ana yolu vardır:
|
||||
|
||||
- **Programlar**: Bunlar, Runbook'ları **belirli bir zamanda** veya **aralıkta** **tetiklemek için** kullanılır.
|
||||
- **Webhook'lar**: Bunlar, **harici hizmetlerden** Runbook'ları **tetiklemek için** kullanılabilecek **HTTP uç noktalarıdır**. Webhook URL'sinin oluşturulduktan sonra **görünür olmadığını** unutmayın.
|
||||
@@ -40,13 +40,13 @@ Bir Runbook'u yürütmenin 3 ana yolu vardır:
|
||||
|
||||
### Kaynak Kontrolü
|
||||
|
||||
Runbook'ları **Github, Azure Devops (Git) ve Azure Devops (TFVC)**'den içe aktarmayı sağlar. Repo'daki Runbook'ları Azure Automation hesabına yayınlamak için belirtmek mümkündür ve ayrıca repo'daki değişiklikleri Azure Automation hesabına **senkronize etmek** için de belirtmek mümkündür.
|
||||
Runbook'ları **Github, Azure Devops (Git) ve Azure Devops (TFVC)**'den içe aktarmayı sağlar. Repo'daki Runbook'ları Azure Automation hesabına yayınlamak için belirtmek ve ayrıca **repo'dan değişiklikleri senkronize etmek** için belirtmek mümkündür.
|
||||
|
||||
Senkronizasyon etkinleştirildiğinde, **Github deposunda bir webhook oluşturulur** ve her push olayı gerçekleştiğinde senkronizasyonu tetikler. Bir webhook URL'sinin örneği: `https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-automation.net/webhooks?token=DRjQyFiOrUtz%2fw7o23XbDpOlTe1%2bUqPQm4pQH2WBfJg%3d`
|
||||
|
||||
Bu webhook'ların, Github deposuna bağlı runbook'larda listelenirken **görünmeyeceğini** unutmayın. Ayrıca, bir kaynak kontrolü oluşturulduktan sonra **repo URL'sini değiştirmek mümkün değildir**.
|
||||
|
||||
Yapılandırılan kaynak kontrolünün çalışabilmesi için, **Azure Automation Hesabı**'nın **`Contributor`** rolüne sahip bir yönetilen kimliğe (sistem veya kullanıcı) sahip olması gerekir. Ayrıca, Automation Hesabına bir kullanıcı yönetilen kimliği atamak için, **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** değişkenini **Kullanıcı Yönetilen Kimliği İstemci Kimliği** olarak ayarlamak yeterlidir.
|
||||
Yapılandırılan kaynak kontrolünün çalışabilmesi için, **Azure Automation Hesabı**'nın **`Contributor`** rolüne sahip bir yönetilen kimliğe (sistem veya kullanıcı) sahip olması gerekir. Ayrıca, Automation Hesabına bir kullanıcı yönetilen kimliği atamak için, kullanıcı MI'nin istemci kimliğini **`AUTOMATION_SC_USER_ASSIGNED_IDENTITY_ID`** değişkeninde belirtmek gerekir.
|
||||
|
||||
### Çalışma Ortamları
|
||||
|
||||
@@ -61,23 +61,30 @@ Bir Runbook oluştururken çalışma ortamını seçmek mümkündür. Varsayıla
|
||||
|
||||
Ancak, bunlardan birini temel alarak **kendi ortamlarınızı oluşturmak** da mümkündür. Python durumunda, kullanılacak ortama `.whl` paketleri yüklemek mümkündür. PowerShell durumunda, çalışma zamanında bulunması gereken modüllerle birlikte `.zip` paketleri yüklemek mümkündür.
|
||||
|
||||
### Hibrit İşçi
|
||||
### Hibrit İşçi Grupları
|
||||
|
||||
Bir Runbook, **Azure içindeki bir konteynerde** veya **Hibrit İşçi** (Azure dışı makine) üzerinde çalıştırılabilir.\
|
||||
**Log Analytics Agent**, onu hibrit işçi olarak kaydetmek için VM'ye dağıtılır.\
|
||||
Hibrit işçi işleri, Windows'ta **SYSTEM** ve Linux'ta **nxautomation** hesabı olarak çalışır.\
|
||||
Her Hibrit İşçi, bir **Hibrit İşçi Grubu** içinde kaydedilir.
|
||||
Azure Automation'da, runbook'lar için varsayılan yürütme ortamı **Azure Sandbox**'dır, bu Azure tarafından yönetilen bulut tabanlı bir platformdur ve Azure kaynaklarıyla ilgili görevler için uygundur. Ancak, bu sandbox'ın, yerel kaynaklara erişim kısıtlamaları ve yürütme süresi ile kaynak kullanımı üzerinde kısıtlamalar gibi sınırlamaları vardır. Bu sınırlamaları aşmak için Hibrit İşçi Grupları kullanılır. Bir Hibrit İşçi Grubu, **kendi makinelerinizde kurulu bir veya daha fazla Hibrit Runbook İşçisi** içerir; bu makineler yerel, diğer bulut ortamlarında veya Azure VM'lerinde olabilir. Bu yapılandırma, runbook'ların bu makinelerde doğrudan çalıştırılmasını sağlar, yerel kaynaklara doğrudan erişim, daha uzun ve daha kaynak yoğun görevleri çalıştırma yeteneği ve Azure'un hemen erişiminde olmayan ortamlarla etkileşimde bulunma esnekliği sunar.
|
||||
|
||||
Bu nedenle, bir **Runbook**'u bir **Windows Hibrit İşçi** üzerinde çalıştırmayı seçerseniz, **Sistem** olarak bir dış makine içinde **rastgele komutlar** çalıştıracaksınız (güzel bir pivot tekniği).
|
||||
Bir hibrit işçi grubu oluşturulduğunda, kullanılacak **kimlik bilgilerini** belirtmek gerekir. İki seçenek vardır:
|
||||
|
||||
- **Varsayılan kimlik bilgileri**: Kimlik bilgilerini sağlamanıza gerek yoktur ve runbook'lar **Sistem** olarak VM'ler içinde çalıştırılacaktır.
|
||||
- **Belirli kimlik bilgileri**: Otomasyon hesabı içindeki kimlik bilgileri nesnesinin adını sağlamanız gerekir; bu, **VM'ler içindeki runbook'ları çalıştırmak için** kullanılacaktır. Bu nedenle, bu durumda, **VM'ler için geçerli kimlik bilgilerini çalmak** mümkün olabilir.
|
||||
|
||||
Bu nedenle, bir **Runbook**'u bir **Windows Hibrit İşçi**'de çalıştırmayı seçerseniz, **Sistem** olarak bir dış makinede **rastgele komutlar** çalıştıracaksınız (güzel bir pivot tekniği).
|
||||
|
||||
Ayrıca, hibrit işçi Azure'da diğer Yönetilen Kimliklerle çalışıyorsa, runbook, **runbook'un yönetilen kimliğine ve VM'nin metadata hizmetinden tüm yönetilen kimliklerine** erişebilecektir.
|
||||
|
||||
> [!TIP]
|
||||
> **Metadata hizmetinin** otomasyon hesabının yönetilen kimlikleri token'ını aldığı hizmetten (**`IDENTITY_ENDPOINT`**) farklı bir URL'si olduğunu unutmayın (**`http://169.254.169.254`**).
|
||||
|
||||
### Durum Yapılandırması (SC)
|
||||
|
||||
>[!WARNING]
|
||||
> [belgelere](https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview) göre, Azure Automation Durum Yapılandırması 30 Eylül 2027'de emekliye ayrılacak ve [Azure Makine Yapılandırması](https://learn.microsoft.com/en-us/azure/governance/machine-configuration/overview) ile değiştirilecektir.
|
||||
|
||||
Otomasyon Hesapları ayrıca **Durum Yapılandırması (SC)**'yı destekler; bu, VM'lerinizin **durumunu** **yapılandırmaya** ve **korumaya** yardımcı olan bir özelliktir. **Windows** ve **Linux** makinelerine DSC yapılandırmaları **oluşturmak** ve **uygulamak** mümkündür.
|
||||
Otomasyon Hesapları ayrıca **Durum Yapılandırması (SC)**'yı destekler; bu, **VM'lerinizin durumunu** **yapılandırmaya** ve **korumaya** yardımcı olan bir özelliktir. **Windows** ve **Linux** makinelerine DSC yapılandırmaları **oluşturmak** ve **uygulamak** mümkündür.
|
||||
|
||||
Saldırganlar açısından bu, **tüm yapılandırılmış VM'lerde rastgele PS kodu çalıştırma** imkanı sunduğu için ilginçti ve bu VM'lerin yönetilen kimliklerine ayrıcalıkları yükseltme imkanı sağladı, potansiyel olarak yeni ağlara geçiş yapma... Ayrıca, yapılandırmalar **hassas bilgiler** içerebilir.
|
||||
Saldırganlar açısından bu, **tüm yapılandırılmış VM'lerde rastgele PS kodu çalıştırma** imkanı sunduğu için ilginçti ve bu, bu VM'lerin yönetilen kimliklerine ayrıcalıkları yükseltme imkanı sağladı, potansiyel olarak yeni ağlara geçiş... Ayrıca, yapılandırmalar **hassas bilgi** içerebilir.
|
||||
|
||||
## Sayım
|
||||
```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
|
||||
|
||||
Reference in New Issue
Block a user