diff --git a/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md b/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md index e753a34d5..1649fb1e0 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md +++ b/src/pentesting-cloud/azure-security/az-services/az-automation-accounts.md @@ -1,10 +1,10 @@ # Az - Contas de Automação -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} ## Informações Básicas -As Contas de Automação do Azure são serviços baseados em nuvem na Microsoft Azure que ajudam a **automatizar tarefas** como gerenciamento de recursos, configuração e atualizações em ambientes Azure e locais. Elas fornecem **Runbooks** (scripts para automação que são executados), **agendas** e **grupos de trabalhadores híbridos** para executar **trabalhos de automação**, permitindo infraestrutura como código (IaC) e automação de processos para melhorar a eficiência e a consistência na gestão de recursos em nuvem. +As Contas de Automação do Azure são serviços baseados em nuvem na Microsoft Azure que ajudam a **automatizar tarefas** como gerenciamento de recursos, configuração e atualizações em ambientes Azure e locais. Elas fornecem **Runbooks** (scripts para automação que são executados), **agendas** e **grupos de trabalhadores híbridos** para executar **trabalhos** de automação, permitindo infraestrutura como código (IaC) e automação de processos para melhorar a eficiência e a consistência na gestão de recursos em nuvem. ### Configurações @@ -16,7 +16,7 @@ As Contas de Automação do Azure são serviços baseados em nuvem na Microsoft ### Runbooks & Trabalhos -Um Runbook na Automação do Azure é um **script que executa tarefas automaticamente** dentro do seu ambiente em 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. +Um Runbook na Automação do Azure é um **script que executa tarefas automaticamente** dentro do seu ambiente em nuvem. Os runbooks podem ser escritos em PowerShell, Python ou editores gráficos. Eles ajudam a automatizar tarefas administrativas como gerenciamento de VM, aplicação de patches ou verificações de conformidade. No **código** localizado dentro dos **Runbooks** pode conter **informações sensíveis** (como credenciais). @@ -61,7 +61,7 @@ No entanto, também é possível **criar seus próprios ambientes**, usando um d ### Grupos de Trabalhadores Híbridos -Na Automação do Azure, o ambiente de execução padrão para runbooks é o **Azure Sandbox**, uma plataforma baseada em nuvem gerenciada pelo Azure, adequada para tarefas envolvendo recursos do Azure. No entanto, esse sandbox tem limitações, como acesso restrito a recursos locais e restrições de tempo de execução e uso de recursos. Para superar essas limitações, são empregados Grupos de Trabalhadores Híbridos. Um Grupo de Trabalhadores Híbridos consiste em **um ou mais Trabalhadores de Runbook Híbridos instalados em suas próprias máquinas**, seja em locais, em outros ambientes de nuvem ou VMs do Azure. Essa configuração permite que os runbooks sejam executados diretamente nessas máquinas, proporcionando acesso direto a recursos locais, a capacidade de executar tarefas mais longas e intensivas em recursos, e a flexibilidade de interagir com ambientes além do alcance imediato do Azure. +Na Automação do Azure, o ambiente de execução padrão para runbooks é o **Azure Sandbox**, uma plataforma baseada em nuvem gerenciada pelo Azure, adequada para tarefas envolvendo recursos do Azure. No entanto, esse sandbox tem limitações, como acesso restrito a recursos locais e restrições de tempo de execução e uso de recursos. Para superar essas limitações, são empregados Grupos de Trabalhadores Híbridos. Um Grupo de Trabalhadores Híbridos consiste em **um ou mais Trabalhadores de Runbook Híbridos instalados em suas próprias máquinas**, seja em locais, em outros ambientes de nuvem ou VMs do Azure. Essa configuração permite que runbooks sejam executados diretamente nessas máquinas, proporcionando acesso direto a recursos locais, a capacidade de executar tarefas mais longas e intensivas em recursos, e a flexibilidade de interagir com ambientes além do alcance imediato do Azure. Quando um grupo de trabalhadores híbridos é criado, é necessário indicar as **credenciais** a serem usadas. Existem 2 opções: @@ -73,12 +73,12 @@ Portanto, se você puder escolher executar um **Runbook** em um **Trabalhador H 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) ->[!WARNING] -> Como indicado na [documentação](https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview), a Configuração de Estado do Azure Automation será descontinuada em 30 de setembro de 2027 e substituída pela [Configuração de Máquina do Azure](https://learn.microsoft.com/en-us/azure/governance/machine-configuration/overview). +> [!WARNING] +> Conforme indicado na [documentação](https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview), a Configuração de Estado do Azure Automation será descontinuada em 30 de setembro de 2027 e substituída pela [Configuração de Máquina do Azure](https://learn.microsoft.com/en-us/azure/governance/machine-configuration/overview). As Contas de Automação também suportam **Configuração de Estado (SC)**, que é um recurso que ajuda a **configurar** e **manter** o **estado** de suas VMs. É possível **criar** e **aplicar** configurações DSC em máquinas **Windows** e **Linux**. @@ -238,4 +238,4 @@ Get-AzAutomationHybridWorkerGroup -AutomationAccountName -R - [https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview](https://learn.microsoft.com/en-us/azure/automation/automation-dsc-overview) - [https://github.com/rootsecdev/Azure-Red-Team#runbook-automation](https://github.com/rootsecdev/Azure-Red-Team#runbook-automation) -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-services/az-container-instances.md b/src/pentesting-cloud/azure-security/az-services/az-container-instances.md index d832a422b..576c65a2a 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-container-instances.md +++ b/src/pentesting-cloud/azure-security/az-services/az-container-instances.md @@ -1,12 +1,12 @@ # Az - Container Instances -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} ## Informações Básicas Azure Container Instances (ACI) fornecem uma **forma sem servidor e sob demanda** de executar **containers** na nuvem Azure. Você pode **implantar** um ou vários containers em um grupo com **computação escalável**, **opções de rede** e a flexibilidade de se conectar a **outros serviços Azure** (como Storage, Virtual Networks ou Container Registries). -Como são cargas de trabalho **efêmeras**, você não precisa gerenciar a infraestrutura subjacente da VM — a Azure cuida disso para você. No entanto, de uma **perspectiva de segurança ofensiva**, é crucial entender como **permissões**, **identidades**, **configurações de rede** e **logs** podem revelar superfícies de ataque e potenciais configurações incorretas. +Como são cargas de trabalho **efêmeras**, você não precisa gerenciar a infraestrutura subjacente da VM — a Azure cuida disso para você. No entanto, de uma **perspectiva de segurança ofensiva**, é crucial entender como **permissões**, **identidades**, **configurações de rede** e **logs** podem revelar superfícies de ataque e possíveis configurações incorretas. ### Configurações diff --git a/src/pentesting-cloud/azure-security/az-services/az-container-registry.md b/src/pentesting-cloud/azure-security/az-services/az-container-registry.md index b6dc3bdb4..8e6b40a05 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-container-registry.md +++ b/src/pentesting-cloud/azure-security/az-services/az-container-registry.md @@ -1,10 +1,10 @@ # Az - Container Registry -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} ## Informações Básicas -Azure Container Registry (ACR) é um registro privado e seguro que permite **armazenar, gerenciar e acessar imagens de contêiner na nuvem Azure**. Ele se integra perfeitamente com vários serviços do Azure, fornecendo fluxos de trabalho automatizados de construção e implantação em grande escala. Com recursos como geo-replicação e verificação de vulnerabilidades, o ACR ajuda a garantir segurança e conformidade de nível empresarial para aplicações conteinerizadas. +Azure Container Registry (ACR) é um registro privado e seguro que permite **armazenar, gerenciar e acessar imagens de contêiner na nuvem Azure**. Ele se integra perfeitamente com vários serviços Azure, fornecendo fluxos de trabalho automatizados de construção e implantação em grande escala. Com recursos como geo-replicação e verificação de vulnerabilidades, o ACR ajuda a garantir segurança e conformidade de nível empresarial para aplicativos conteinerizados. ### Permissões @@ -20,7 +20,7 @@ Estas são as **diferentes permissões** [de acordo com a documentação](https: Existem também alguns **papéis integrados** que podem ser atribuídos, e também é possível criar **papéis personalizados**. -![]() +![](/images/registry_roles.png) ### Autenticação @@ -30,7 +30,7 @@ Existem também alguns **papéis integrados** que podem ser atribuídos, e tamb Existem 4 maneiras de autenticar-se em um ACR: - **Com Entra ID**: Esta é a **maneira padrão** de autenticar-se em um ACR. Ele usa o comando **`az acr login`** para autenticar-se no ACR. Este comando irá **armazenar as credenciais** no arquivo **`~/.docker/config.json`**. Além disso, se você estiver executando este comando de um ambiente sem acesso a um socket docker, como em um **cloud shell**, é possível usar a flag **`--expose-token`** para obter o **token** para autenticar-se no ACR. Então, para autenticar, você precisa usar como nome de usuário `00000000-0000-0000-0000-000000000000`, como: `docker login myregistry.azurecr.io --username 00000000-0000-0000-0000-000000000000 --password-stdin <<< $TOKEN` -- **Com uma conta de administrador**: O usuário administrador está desativado por padrão, mas pode ser ativado e então será possível acessar o registro com o **nome de usuário** e **senha** da conta de administrador com permissões totais para o registro. Isso ainda é suportado porque alguns serviços do Azure o utilizam. Note que **2 senhas** são criadas para este usuário e ambas são válidas. Você pode ativá-lo com `az acr update -n --admin-enabled true`. Note que o nome de usuário geralmente é o nome do registro (e não `admin`). +- **Com uma conta de administrador**: O usuário administrador está desativado por padrão, mas pode ser ativado e então será possível acessar o registro com o **nome de usuário** e **senha** da conta de administrador com permissões totais para o registro. Isso ainda é suportado porque alguns serviços Azure o utilizam. Note que **2 senhas** são criadas para este usuário e ambas são válidas. Você pode ativá-lo com `az acr update -n --admin-enabled true`. Note que o nome de usuário geralmente é o nome do registro (e não `admin`). - **Com um token**: É possível criar um **token** com um **`scope map`** específico (permissões) para acessar o registro. Então, é possível usar este nome de token como nome de usuário e algumas das senhas geradas para autenticar-se no registro com `docker login -u -p aregistry-url>` - **Com um Service Principal**: É possível criar um **service principal** e atribuir um papel como **`AcrPull`** para puxar imagens. Então, será possível **fazer login no registro** usando o appId do SP como nome de usuário e um segredo gerado como senha. @@ -67,7 +67,7 @@ O recurso de **soft-delete** permite que você **recupere um registro excluído* ### Webhooks -É possível **criar webhooks** dentro dos registros. Neste webhook, é necessário especificar a URL onde uma **solicitação será enviada sempre que uma ação de push ou delete for realizada**. Além disso, os Webhooks podem indicar um escopo para indicar os repositórios (imagens) que serão afetados. Por exemplo, 'foo:*' significa eventos sob o repositório 'foo'. +É possível **criar webhooks** dentro dos registros. Neste webhook, é necessário especificar a URL onde uma **solicitação será enviada sempre que uma ação de push ou delete for realizada**. Além disso, os Webhooks podem indicar um escopo para indicar os repositórios (imagens) que serão afetados. Por exemplo, 'foo:\*' significa eventos sob o repositório 'foo'. Do ponto de vista de um atacante, é interessante verificar isso **antes de realizar qualquer ação** no registro e removê-lo temporariamente, se necessário, para evitar ser detectado. @@ -75,13 +75,13 @@ Do ponto de vista de um atacante, é interessante verificar isso **antes de real Isso basicamente permite **espelhar as imagens** de um registro para outro, geralmente localizado no local. -Possui 2 modos: **ReadOnly** e **ReadWrite**. No primeiro, as imagens são apenas **puxadas** do registro de origem, e no segundo, as imagens também podem ser **enviadas** para o registro de origem. +Possui 2 modos: **ReadOnly** e **ReadWrite**. No primeiro, as imagens são apenas **baixadas** do registro de origem, e no segundo, as imagens também podem ser **enviadas** para o registro de origem. Para que os clientes acessem o registro a partir da Azure, um **token** é gerado quando o registro conectado é utilizado. -### Execuções & Tarefas +### Execuções e Tarefas -Execuções & Tarefas permite executar ações relacionadas a contêineres no Azure que você normalmente precisaria fazer localmente ou em um pipeline de CI/CD. Por exemplo, você pode **construir, enviar e executar imagens no registro**. +Execuções e Tarefas permitem executar ações relacionadas a contêineres no Azure que você normalmente precisaria fazer localmente ou em um pipeline de CI/CD. Por exemplo, você pode **construir, enviar e executar imagens no registro**. A maneira mais fácil de construir e executar um contêiner é usando uma Execução regular: ```bash @@ -94,7 +94,7 @@ az acr run --registry mycontainerregistry008 --cmd '$Registry/sample/hello-world ``` No entanto, isso irá acionar execuções que não são muito interessantes do ponto de vista de um atacante, pois não têm nenhuma identidade gerenciada anexada a elas. -No entanto, **tasks** podem ter uma **identidade gerenciada de sistema e de usuário** anexada a elas. Essas tasks são as úteis para **escalar privilégios** no contêiner. Na seção de escalonamento de privilégios, é possível ver como usar tasks para escalar privilégios. +No entanto, **tasks** podem ter uma **identidade gerenciada pelo sistema e pelo usuário** anexada a elas. Essas tasks são as úteis para **escalar privilégios** no contêiner. Na seção de escalonamento de privilégios, é possível ver como usar tasks para escalar privilégios. ### Cache @@ -143,7 +143,7 @@ az acr cache list --registry # Get cache details az acr cache show --name --registry ``` -## Escalação de Privilégios & Pós Exploração +## Escalação de Privilégios & Pós-Exploração {{#ref}} ../az-privilege-escalation/az-automation-accounts-privesc.md @@ -154,4 +154,4 @@ az acr cache show --name --registry - [https://learn.microsoft.com/en-us/azure/container-registry/container-registry-authentication?tabs=azure-cli](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-authentication?tabs=azure-cli) - [https://learn.microsoft.com/en-us/azure/container-registry/container-registry-roles?tabs=azure-cli#access-resource-manager](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-roles?tabs=azure-cli#access-resource-manager) -{{#include ../../../../banners/hacktricks-training.md}} +{{#include ../../../banners/hacktricks-training.md}} diff --git a/theme/ht_searcher.js b/theme/ht_searcher.js index 1cee01a8c..276bbfe6a 100644 --- a/theme/ht_searcher.js +++ b/theme/ht_searcher.js @@ -471,12 +471,12 @@ window.search = window.search || {}; showResults(true); } - fetch(path_to_root + 'searchindex.json') + fetch('https://raw.githubusercontent.com/HackTricks-wiki/hacktricks-cloud/refs/heads/master/searchindex.json') .then(response => response.json()) .then(json => init(json)) .catch(error => { // Try to load searchindex.js if fetch failed var script = document.createElement('script'); - script.src = path_to_root + 'searchindex.js'; + script.src = 'https://raw.githubusercontent.com/HackTricks-wiki/hacktricks-cloud/refs/heads/master/searchindex.js'; script.onload = () => init(window.search); document.head.appendChild(script); });