From 0405cda95b0a1b56cbbc1c2f1379de299e7628c1 Mon Sep 17 00:00:00 2001 From: Translator Date: Sun, 26 Jan 2025 15:10:03 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/README.md', 'src/pentes --- src/pentesting-cloud/azure-security/README.md | 34 +++++++++++-------- .../azure-security/az-persistence/README.md | 4 +-- .../azure-security/az-services/az-azuread.md | 6 ++-- 3 files changed, 25 insertions(+), 19 deletions(-) diff --git a/src/pentesting-cloud/azure-security/README.md b/src/pentesting-cloud/azure-security/README.md index 76c75a7b4..ac1b9d93b 100644 --- a/src/pentesting-cloud/azure-security/README.md +++ b/src/pentesting-cloud/azure-security/README.md @@ -14,7 +14,7 @@ az-basic-information/ Para auditar um ambiente AZURE, é muito importante saber: quais **serviços estão sendo usados**, o que está **sendo exposto**, quem tem **acesso** a quê e como os serviços internos do Azure e os **serviços externos** estão conectados. -Do ponto de vista de um Red Team, o **primeiro passo para comprometer um ambiente Azure** é conseguir obter algum **ponto de apoio**. +Do ponto de vista do Red Team, o **primeiro passo para comprometer um ambiente Azure** é conseguir obter algum **ponto de apoio**. ### Enumeração Externa & Acesso Inicial @@ -34,22 +34,22 @@ Com essas informações, as maneiras mais comuns de tentar obter um ponto de apo - Comprar credenciais de um funcionário - [**Phishing Comum**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (credenciais ou aplicativo Oauth) - [Phishing de Autenticação por Código de Dispositivo](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md) -- **Vazamentos** de terceiros +- **terceiros comprometidos** - Vulnerabilidades em Aplicações Hospedadas no Azure - [**Server Side Request Forgery**](https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html) com acesso ao endpoint de metadados -- **Tomadas de Subdomínio** como em [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/) +- **Tomadas de subdomínio** como em [https://godiego.co/posts/STO-Azure/](https://godiego.co/posts/STO-Azure/) - **Outras configurações incorretas de serviços do Azure** - Se algum laptop de desenvolvedor estiver comprometido ([WinPEAS e LinPEAS](https://github.com/peass-ng/PEASS-ng) podem encontrar essas informações): - Dentro de **`/.Azure`** - **`azureProfile.json`** contém informações sobre usuários logados no passado - **`clouds.config` contém** informações sobre assinaturas -- **`service_principal_entries.json`** contém credenciais de aplicativos (ID do inquilino, clientes e segredo). Apenas no Linux e macOS +- **`service_principal_entries.json`** contém credenciais de aplicativos (id do inquilino, clientes e segredo). Apenas no Linux e macOS - **`msal_token_cache.json`** contém tokens de acesso e tokens de atualização. Apenas no Linux e macOS - **`service_principal_entries.bin`** e **msal_token_cache.bin** são usados no Windows e são criptografados com DPAPI - **`msal_http_cache.bin`** é um cache de requisições HTTP -- Carregue-o: `with open("msal_http_cache.bin", 'rb') as f: pickle.load(f)` +- Carregue: `with open("msal_http_cache.bin", 'rb') as f: pickle.load(f)` - **`AzureRmContext.json`** contém informações sobre logins anteriores usando Az PowerShell (mas sem credenciais) -- Dentro de **`C:\Users\\AppData\Local\Microsoft\IdentityCache\*`** estão vários arquivos `.bin` com **tokens de acesso**, tokens de ID e informações de conta criptografadas com o DPAPI do usuário. +- Dentro de **`C:\Users\\AppData\Local\Microsoft\IdentityCache\*`** estão vários arquivos `.bin` com **tokens de acesso**, tokens de ID e informações de conta criptografadas com o DPAPI dos usuários. - É possível encontrar mais **tokens de acesso** nos arquivos `.tbres` dentro de **`C:\Users\\AppData\Local\Microsoft\TokenBroken\Cache\`** que contêm um base64 criptografado com DPAPI com tokens de acesso. - No Linux e macOS, você pode obter **tokens de acesso, tokens de atualização e tokens de ID** do Az PowerShell (se usado) executando `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"` - No Windows, isso gera apenas tokens de ID. @@ -72,7 +72,7 @@ As seguintes ferramentas serão super úteis para enumerar tanto inquilinos do E az-enumeration-tools.md {{#endref}} -### Bypass de Condições de Login +### Bypass de Políticas de Acesso
@@ -80,11 +80,17 @@ Em casos onde você tem algumas credenciais válidas, mas não consegue fazer lo - **Whitelist de IP** -- Você precisa comprometer um IP válido - **Restrições geográficas** -- Descubra onde o usuário mora ou onde estão os escritórios da empresa e obtenha um IP da mesma cidade (ou país, pelo menos) -- **Navegador** -- Talvez apenas um navegador de um determinado SO (Windows, Linux, Mac, Android, iOS) seja permitido. Descubra qual SO a vítima/empresa usa. +- **Navegador** -- Talvez apenas um navegador de certos SO (Windows, Linux, Mac, Android, iOS) seja permitido. Descubra qual SO a vítima/empresa usa. - Você também pode tentar **comprometer credenciais de Service Principal**, pois geralmente são menos limitadas e seu login é menos revisado Após contornar isso, você pode ser capaz de voltar à sua configuração inicial e ainda terá acesso. +Verifique: + +{{#ref}} +az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md +{{#endref}} + ### Whoami > [!CAUTION] @@ -135,7 +141,7 @@ Get-AzureADTenantDetail {{#endtabs }} -### Enumeração do Entra ID e Escalação de Privilégios +### Enumeração do Entra ID & Privesc Por padrão, qualquer usuário deve ter **permissões suficientes para enumerar** coisas como usuários, grupos, funções, principais de serviço... (ver [permissões padrão do AzureAD](az-basic-information/index.html#default-user-permissions)).\ Você pode encontrar aqui um guia: @@ -151,7 +157,7 @@ az-enumeration-tools.md#automated-post-exploitation-tools {{#endref}} -### Enumerar Serviços do Azure +### Enumeração do Azure Uma vez que você saiba quem é, pode começar a enumerar os **serviços do Azure aos quais você tem acesso**. @@ -167,7 +173,7 @@ Além disso, você pode obter as mesmas informações na **console web** acessan Observe que você precisa da permissão **`Microsoft.Authorization/roleAssignments/read`** para executar esta ação. -Além disso, com permissões suficientes, a função **`Get-AzRoleAssignment`** pode ser usada para **enumerar todas as funções** na assinatura ou a permissão sobre um recurso específico indicando-o como em: **`Get-AzRoleAssignment -Scope /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4`**. +Além disso, com permissões suficientes, a função **`Get-AzRoleAssignment`** pode ser usada para **enumerar todas as funções** na assinatura ou a permissão sobre um recurso específico, indicando-o como em: **`Get-AzRoleAssignment -Scope /subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.RecoveryServices/vaults/vault-m3ww8ut4`**. Também é possível obter essas informações executando **`az rest --method GET --uri "https://management.azure.com//providers/Microsoft.Authorization/roleAssignments?api-version=2020-08-01-preview" | jq ".value"`** como em: @@ -180,17 +186,17 @@ Então, para obter a permissão granular, você pode executar **`(Get-AzRoleDefi Ou chamar a API diretamente com **`az rest --method GET --uri "https://management.azure.com//subscriptions//providers/Microsoft.Authorization/roleDefinitions/?api-version=2020-08-01-preview" | jq ".properties"`**. -Na seção seguinte, você pode encontrar **informações sobre os serviços mais comuns do Azure e como enumerá-los**: +Na seção a seguir, você pode encontrar **informações sobre os serviços mais comuns do Azure e como enumerá-los**: {{#ref}} az-services/ {{#endref}} -### Escalação de Privilégios, Pós-Exploração e Persistência em Serviços do Azure +### Escalação de Privilégios, Pós-Exploração & Persistência Uma vez que você saiba como o ambiente do Azure está estruturado e quais serviços estão sendo usados, pode começar a procurar maneiras de **escalar privilégios, mover-se lateralmente, realizar outros ataques de pós-exploração e manter persistência**. -Na seção seguinte, você pode encontrar informações sobre como escalar privilégios nos serviços mais comuns do Azure: +Na seção a seguir, você pode encontrar informações sobre como escalar privilégios nos serviços mais comuns do Azure: {{#ref}} az-privilege-escalation/ diff --git a/src/pentesting-cloud/azure-security/az-persistence/README.md b/src/pentesting-cloud/azure-security/az-persistence/README.md index 6f2903e13..52117b8ed 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/README.md +++ b/src/pentesting-cloud/azure-security/az-persistence/README.md @@ -2,9 +2,9 @@ {{#include ../../../banners/hacktricks-training.md}} -### Concessão de Consentimento Ilícito +### Aplicativo OAuth -Por padrão, qualquer usuário pode registrar um aplicativo no Azure AD. Assim, você pode registrar um aplicativo (apenas para o inquilino alvo) que precisa de permissões de alto impacto com consentimento do administrador (e aprová-lo se você for o administrador) - como enviar e-mails em nome de um usuário, gerenciamento de funções, etc. Isso nos permitirá **executar ataques de phishing** que seriam muito **frutíferos** em caso de sucesso. +Por padrão, qualquer usuário pode registrar um aplicativo no Entra ID. Assim, você pode registrar um aplicativo (apenas para o inquilino alvo) que precisa de permissões de alto impacto com consentimento do administrador (e aprová-lo se você for o administrador) - como enviar e-mails em nome de um usuário, gerenciamento de funções, etc. Isso nos permitirá **executar ataques de phishing** que seriam muito **frutíferos** em caso de sucesso. Além disso, você também poderia aceitar esse aplicativo com seu usuário como uma forma de manter o acesso sobre ele. diff --git a/src/pentesting-cloud/azure-security/az-services/az-azuread.md b/src/pentesting-cloud/azure-security/az-services/az-azuread.md index c7787349a..2b2775892 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-azuread.md +++ b/src/pentesting-cloud/azure-security/az-services/az-azuread.md @@ -158,7 +158,7 @@ Connect-AzureAD -AccountId test@corp.onmicrosoft.com -AadAccessToken $token Quando você **faz login** via **CLI** no Azure com qualquer programa, você está usando uma **Aplicação Azure** de um **inquilino** que pertence à **Microsoft**. Essas Aplicações, como as que você pode criar em sua conta, **têm um id de cliente**. Você **não poderá ver todas elas** nas **listas de aplicações permitidas** que você pode ver no console, **mas elas são permitidas por padrão**. -Por exemplo, um **script powershell** que **autentica** usa um app com id de cliente **`1950a258-227b-4e31-a9cf-717495945fc2`**. Mesmo que o app não apareça no console, um sysadmin poderia **bloquear essa aplicação** para que os usuários não possam acessar usando ferramentas que se conectam via esse App. +Por exemplo, um **script powershell** que **autentica** usa um aplicativo com id de cliente **`1950a258-227b-4e31-a9cf-717495945fc2`**. Mesmo que o aplicativo não apareça no console, um administrador de sistema poderia **bloquear essa aplicação** para que os usuários não possam acessar usando ferramentas que se conectam via esse App. No entanto, existem **outros ids de cliente** de aplicações que **permitirão que você se conecte ao Azure**: ```bash @@ -933,7 +933,7 @@ Quando o PIM está habilitado, é possível configurar cada função com certos - Tempo máximo para expirar as atribuições elegíveis - Muitas mais configurações sobre quando e quem enviar notificações quando certas ações acontecem com esse papel -### Políticas de Acesso Condicional +### Políticas de Acesso Condicional Verifique: @@ -941,7 +941,7 @@ Verifique: ../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md {{#endref}} -### Proteção de Identidade do Entra +### Proteção de Identidade do Entra A Proteção de Identidade do Entra é um serviço de segurança que permite **detectar quando um usuário ou um login é muito arriscado** para ser aceito, permitindo **bloquear** o usuário ou a tentativa de login.