mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-04 19:11:41 -08:00
Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation
This commit is contained in:
@@ -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`
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user