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

This commit is contained in:
Translator
2025-01-10 17:42:08 +00:00
parent 2d49bdf9fd
commit 090d893057
2 changed files with 14 additions and 16 deletions

View File

@@ -10,11 +10,11 @@ Para mais informações, consulte:
../az-services/az-automation-accounts.md
{{#endref}}
### Hybrid Workers
### Grupo de Trabalhadores Híbridos
Lembre-se de que, se de alguma forma um atacante conseguir executar um runbook arbitrário (código arbitrário) em um worker híbrido, ele irá **pivotar para a localização da VM**. Isso pode ser uma máquina local, uma VPC de uma nuvem diferente ou até mesmo uma VM do Azure.
Lembre-se de que, se de alguma forma um atacante conseguir executar um runbook arbitrário (código arbitrário) em um trabalhador híbrido, ele irá **pivotar para a localização da VM**. Isso pode ser uma máquina local, uma VPC de uma nuvem diferente ou até mesmo uma VM do Azure.
Além disso, se o worker híbrido estiver sendo executado no Azure com outras Identidades Gerenciadas anexadas, o runbook poderá acessar a **identidade gerenciada do runbook e todas as identidades gerenciadas da VM a partir do serviço de metadados**.
Além disso, se o trabalhador híbrido estiver sendo executado no Azure com outras Identidades Gerenciadas anexadas, o runbook poderá acessar a **identidade gerenciada do runbook e todas as identidades gerenciadas da VM a partir do serviço de metadados**.
> [!TIP]
> Lembre-se de que o **serviço de metadados** tem uma URL diferente (**`http://169.254.169.254`**) do serviço de onde se obtém o token de identidades gerenciadas da conta de automação (**`IDENTITY_ENDPOINT`**).
@@ -80,9 +80,9 @@ az rest --method PATCH \
```
### `Microsoft.Automation/automationAccounts/schedules/write`, `Microsoft.Automation/automationAccounts/jobSchedules/write`
Com a permissão **`Microsoft.Automation/automationAccounts/schedules/write`** é possível criar um novo Agendamento na Conta de Automação que é executado a cada 15 minutos (não muito discreto) usando o seguinte comando.
Com a permissão **`Microsoft.Automation/automationAccounts/schedules/write`** é possível criar um novo Schedule na Conta de Automação que é executado a cada 15 minutos (não muito discreto) usando o seguinte comando.
Observe que o **intervalo mínimo para um agendamento é de 15 minutos**, e o **tempo de início mínimo é de 5 minutos** no futuro.
Note que o **intervalo mínimo para um schedule é de 15 minutos**, e o **tempo de início mínimo é de 5 minutos** no futuro.
```bash
## For linux
az automation schedule create \
@@ -123,7 +123,7 @@ az rest --method PUT \
}'
```
> [!TIP]
> No exemplo anterior, o id do jobchedule foi deixado como **`b510808a-8fdc-4509-a115-12cfc3a2ad0d` como exemplo** mas você precisará usar um valor arbitrário para criar essa atribuição.
> No exemplo anterior, o id do jobchedule foi deixado como **`b510808a-8fdc-4509-a115-12cfc3a2ad0d` como exemplo** mas você precisará usar um valor arbitrário para criar esta atribuição.
### `Microsoft.Automation/automationAccounts/webhooks/write`

View File

@@ -14,14 +14,12 @@ As Contas de Automação do Azure são serviços baseados em nuvem na Microsoft
- **Conexões**: Usadas para armazenar **informações de conexão** com serviços externos. Isso pode conter **informações sensíveis**.
- **Acesso à Rede**: Pode ser definido como **público** ou **privado**.
## Runbooks & Trabalhos
### Runbooks & Trabalhos
Um Runbook na Automação do Azure é um **script que executa tarefas automaticamente** dentro do seu ambiente de nuvem. Os runbooks podem ser escritos em PowerShell, Python ou editores gráficos. Eles ajudam a automatizar tarefas administrativas, como gerenciamento de VMs, aplicação de patches ou verificações de conformidade.
No **código** localizado dentro dos **Runbooks** pode conter **informações sensíveis** (como credenciais).
Vá para `Automation Accounts` --> `<Select Automation Account>` --> `Runbooks/Jobs/Hybrid worker groups/Watcher tasks/credentials/variables/certificates/connections`
Um **Trabalho é uma instância da execução de um Runbook**. Quando você executa um Runbook, um Trabalho é criado para rastrear essa execução. Cada trabalho inclui:
- **Status**: Em fila, Executando, Concluído, Falhou, Suspenso.
@@ -34,13 +32,13 @@ Um trabalho contém a **saída** da execução do **Runbook**. Se você puder **
Existem 3 maneiras principais de executar um Runbook:
- **Agendas**: Estas são usadas para **disparar** Runbooks em um **horário específico** ou **intervalo**.
- **Webhooks**: Estes são **endpoints HTTP** que podem ser usados para **disparar** Runbooks de **serviços externos**. Observe que a URL do webhook **não é visível** após a criação.
- **Disparo Manual**: Você pode **disparar manualmente** um Runbook a partir do Portal do Azure e da CLI.
- **Agendas**: Usadas para **disparar** Runbooks em um **horário específico** ou **intervalo**.
- **Webhooks**: São **endpoints HTTP** que podem ser usados para **disparar** Runbooks a partir de **serviços externos**. Observe que a URL do webhook **não é visível** após a criação.
- **Disparo Manual**: Você pode **disparar manualmente** um Runbook a partir do Portal do Azure e do CLI.
### Controle de Versão
Permite importar Runbooks do **Github, Azure Devops (Git) e Azure Devops (TFVC)**. É possível indicar que deseja publicar os Runbooks do repositório na conta de automação do Azure e também é possível indicar para **sincronizar as alterações do repositório** com a conta de automação do Azure.
Permite importar Runbooks do **Github, Azure Devops (Git) e Azure Devops (TFVC)**. É possível indicar que os Runbooks do repositório sejam publicados na conta de Automação do Azure e também é possível indicar para **sincronizar as alterações do repositório** com a conta de Automação do Azure.
Quando a sincronização está habilitada, um **webhook é criado no repositório do Github** para disparar a sincronização sempre que um evento de push ocorre. Exemplo de uma URL de webhook: `https://f931b47b-18c8-45a2-9d6d-0211545d8c02.webhook.eus.azure-automation.net/webhooks?token=DRjQyFiOrUtz%2fw7o23XbDpOlTe1%2bUqPQm4pQH2WBfJg%3d`
@@ -70,12 +68,12 @@ Quando um grupo de trabalhadores híbridos é criado, é necessário indicar as
- **Credenciais padrão**: Você não precisa fornecer as credenciais e os runbooks serão executados dentro das VMs como **Sistema**.
- **Credenciais específicas**: Você precisa fornecer o nome do objeto de credenciais dentro da conta de automação, que será usado para executar os **runbooks dentro das VMs**. Portanto, nesse caso, pode ser possível **roubar credenciais válidas** para as VMs.
Portanto, se você puder escolher executar um **Runbook** em um **Trabalhador Híbrido do Windows**, você executará **comandos arbitrários** dentro de uma máquina externa como **Sistema** (boa técnica de pivotagem).
Portanto, se você puder escolher executar um **Runbook** em um **Trabalhador Híbrido**, você executará **comandos arbitrários** dentro de uma máquina externa como **Sistema** (boa técnica de pivotagem).
Além disso, se o trabalhador híbrido estiver sendo executado no Azure com outras Identidades Gerenciadas anexadas, o runbook poderá acessar a **identidade gerenciada do runbook e todas as identidades gerenciadas da VM a partir do serviço de metadados**.
> [!TIP]
> Lembre-se de que o **serviço de metadados** tem uma URL diferente (**`http://169.254.169.254`**) do serviço de onde se obtém o token de identidade gerenciada da conta de automação (**`IDENTITY_ENDPOINT`**).
> Lembre-se de que o **serviço de metadados** tem uma URL diferente (**`http://169.254.169.254`**) do serviço de onde se obtém o token de identidades gerenciadas da conta de automação (**`IDENTITY_ENDPOINT`**).
### Configuração de Estado (SC)
@@ -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"