From 3701fac71080f3d01e7d2d7941abcf0800d36ce7 Mon Sep 17 00:00:00 2001 From: Translator Date: Sun, 26 Jan 2025 17:59:45 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-persistence/az-cloud --- hacktricks-preprocessor.py | 2 ++ src/SUMMARY.md | 4 ++-- .../az-persistence/az-cloud-shell-persistence.md | 2 +- .../az-privilege-escalation/az-logic-apps-privesc.md | 2 +- .../azure-security/az-services/az-app-services.md | 8 ++++---- .../azure-security/az-services/az-cloud-shell.md | 2 +- .../azure-security/az-services/az-function-apps.md | 12 ++++++------ .../azure-security/az-services/az-logic-apps.md | 2 +- .../azure-security/az-services/az-servicebus-enum.md | 6 +++--- .../azure-security/az-services/az-static-web-apps.md | 12 ++++++------ .../azure-security/az-services/az-table-storage.md | 6 +++--- 11 files changed, 30 insertions(+), 28 deletions(-) diff --git a/hacktricks-preprocessor.py b/hacktricks-preprocessor.py index f07acbcdf..f19dddbe1 100644 --- a/hacktricks-preprocessor.py +++ b/hacktricks-preprocessor.py @@ -77,6 +77,8 @@ def ref(matchobj): logger.error(f'Error getting chapter title: {path.normpath(path.join(dir,href))}') sys.exit(1) + if href.endswith("/README.md"): + href = href.replace("/README.md", "/index.html") template = f"""{title}""" diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 4d0520541..e01dc44a7 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -398,8 +398,8 @@ - [Az - Enumeration Tools](pentesting-cloud/azure-security/az-enumeration-tools.md) - [Az - Unauthenticated Enum & Initial Entry](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/README.md) - [Az - OAuth Apps Phishing](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/az-oauth-apps-phishing.md) - - [Az - Storage Unath](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/az-storage-unauth.md) - - [Az - VMs Unath](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/az-vms-unauth.md) + - [Az - Storage Unauth](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/az-storage-unauth.md) + - [Az - VMs Unauth](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/az-vms-unauth.md) - [Az - Device Code Authentication Phishing](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md) - [Az - Password Spraying](pentesting-cloud/azure-security/az-unauthenticated-enum-and-initial-entry/az-password-spraying.md) - [Az - Services](pentesting-cloud/azure-security/az-services/README.md) diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md b/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md index 7ab38ffb0..64980f0aa 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md +++ b/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md @@ -50,7 +50,7 @@ Aprenda e pratique Hacking GCP: [!NOTE] > Assim como em [**VMs**](vms/index.html), Functions podem ter **1 identidade gerenciada atribuída pelo sistema** e **várias atribuídas pelo usuário**, portanto, é sempre importante tentar encontrar todas elas se você comprometer a função, pois pode ser capaz de elevar privilégios para várias identidades gerenciadas a partir de apenas uma Função. @@ -79,8 +79,8 @@ Note que você precisa descobrir uma maneira de **verificar todas as Identidades Ao criar um endpoint dentro de uma função usando um **gatilho HTTP**, é possível indicar o **nível de autorização da chave de acesso** necessário para acionar a função. Três opções estão disponíveis: - **ANONYMOUS**: **Todos** podem acessar a função pela URL. -- **FUNCTION**: O endpoint é acessível apenas a usuários usando uma **chave de função, host ou mestre**. -- **ADMIN**: O endpoint é acessível apenas a usuários com uma **chave mestre**. +- **FUNCTION**: O endpoint é acessível apenas para usuários usando uma **chave de função, host ou mestre**. +- **ADMIN**: O endpoint é acessível apenas para usuários com uma **chave mestre**. **Tipo de chaves:** @@ -104,7 +104,7 @@ az-app-services.md ### Implantações Baseadas em Github -Quando uma função é gerada a partir de um repositório Github, o console web do Azure permite **criar automaticamente um Workflow do Github em um repositório específico**, de modo que sempre que este repositório for atualizado, o código da função seja atualizado. Na verdade, o yaml da ação do Github para uma função em python se parece com isso: +Quando uma função é gerada a partir de um repositório Github, o console web do Azure permite **criar automaticamente um Workflow do Github em um repositório específico**, de modo que sempre que este repositório for atualizado, o código da função seja atualizado. Na verdade, o yaml da ação do Github para uma função python se parece com isso:
diff --git a/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md b/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md index 7486717d3..178e8873b 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md +++ b/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md @@ -19,7 +19,7 @@ Logic Apps fornece um designer visual para criar fluxos de trabalho com uma **am
-ou verificar o código na seção "**Visualização do código do Logic App**". +ou verificar o código na seção "**Visualização do código do Logic app**". ### Proteção SSRF diff --git a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md index 14aedc7f9..f9a5f7dfd 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md @@ -9,7 +9,7 @@ Azure Service Bus é um **serviço de mensagens** baseado em nuvem projetado par ### Conceitos Chave 1. **Filas:** seu propósito é armazenar mensagens até que o receptor esteja pronto. -- As mensagens são ordenadas, carimbadas com data/hora e armazenadas de forma durável. +- As mensagens são ordenadas, com timestamp e armazenadas de forma durável. - Entregues em modo pull (recuperação sob demanda). - Suporta comunicação ponto a ponto. 2. **Tópicos:** Mensagens de publicação-assinatura para transmissão. @@ -23,9 +23,9 @@ Azure Service Bus é um **serviço de mensagens** baseado em nuvem projetado par Alguns recursos avançados são: - **Sessões de Mensagens**: Garante processamento FIFO e suporta padrões de solicitação-resposta. -- **Encaminhamento Automático**: Transfere mensagens entre filas ou tópicos no mesmo namespace. +- **Auto-Encaminhamento**: Transfere mensagens entre filas ou tópicos no mesmo namespace. - **Dead-Lettering**: Captura mensagens não entregáveis para revisão. -- **Entrega Programada**: Retarda o processamento de mensagens para tarefas futuras. +- **Entrega Agendada**: Retarda o processamento de mensagens para tarefas futuras. - **Atraso de Mensagens**: Adia a recuperação de mensagens até que esteja pronto. - **Transações**: Agrupa operações em execução atômica. - **Filtros e Ações**: Aplica regras para filtrar ou anotar mensagens. diff --git a/src/pentesting-cloud/azure-security/az-services/az-static-web-apps.md b/src/pentesting-cloud/azure-security/az-services/az-static-web-apps.md index b384e60e2..eca2875c2 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-static-web-apps.md +++ b/src/pentesting-cloud/azure-security/az-services/az-static-web-apps.md @@ -15,11 +15,11 @@ Azure Static Web Apps é um serviço de nuvem para hospedar **aplicativos web es - **Fluxo de trabalho do GitHub Actions**: Neste caso, uma Ação do Github muito semelhante também é implantada no repositório e o **token também é armazenado em um segredo**. No entanto, esta Ação do Github tem uma diferença, ela usa a **`actions/github-script@v6`** para obter o IDToken do repositório e usá-lo para implantar o aplicativo. - Mesmo que em ambos os casos a ação **`Azure/static-web-apps-deploy@v1`** seja usada com um token no parâmetro `azure_static_web_apps_api_token`, neste segundo caso, um token aleatório com um formato válido como `12345cbb198a77a092ff885781a62a15d51ef5e3654ca11234509ab54547270704-4140ccee-e04f-424f-b4ca-3d4dd123459c00f0702071d12345` é suficiente para implantar o aplicativo, pois a autorização é feita com o IDToken no parâmetro `github_id_token`. -### Autenticação Básica de Aplicativos Web +### Autenticação Básica do Aplicativo Web -É possível **configurar uma senha** para acessar o Aplicativo Web. O console web permite configurá-la para proteger apenas ambientes de staging ou tanto o staging quanto o de produção. +É possível **configurar uma senha** para acessar o Aplicativo Web. O console da web permite configurá-la para proteger apenas ambientes de staging ou tanto o staging quanto o de produção. -É assim que, no momento da escrita, um aplicativo web protegido por senha se parece: +É assim que, no momento da redação, um aplicativo web protegido por senha se parece:
@@ -69,13 +69,13 @@ Note como é possível **proteger um caminho com um papel**, então, os usuário A URL de staging tem este formato: `https://-..` como: `https://ambitious-plant-0f764e00f-2.eastus2.4.azurestaticapps.net` -### Identidades Gerenciadas +### Managed Identities -Azure Static Web Apps pode ser configurado para usar **identidades gerenciadas**, no entanto, como mencionado nesta [FAQ](https://learn.microsoft.com/en-gb/azure/static-web-apps/faq#does-static-web-apps-support-managed-identity-), elas são suportadas apenas para **extrair segredos do Azure Key Vault para fins de autenticação, não para acessar outros recursos do Azure**. +Azure Static Web Apps pode ser configurado para usar **managed identities**, no entanto, como mencionado em [this FAQ](https://learn.microsoft.com/en-gb/azure/static-web-apps/faq#does-static-web-apps-support-managed-identity-), elas são suportadas apenas para **extrair segredos do Azure Key Vault para fins de autenticação, não para acessar outros recursos do Azure**. Para mais informações, você pode encontrar um guia do Azure sobre como usar um segredo de cofre em um aplicativo estático em https://learn.microsoft.com/en-us/azure/static-web-apps/key-vault-secrets. -## Enumeração +## Enumeration {% tabs %} {% tab title="az cli" %} diff --git a/src/pentesting-cloud/azure-security/az-services/az-table-storage.md b/src/pentesting-cloud/azure-security/az-services/az-table-storage.md index 71c8022c7..44c138fc0 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-table-storage.md +++ b/src/pentesting-cloud/azure-security/az-services/az-table-storage.md @@ -12,17 +12,17 @@ Não **existe um mecanismo de backup embutido** para o armazenamento de tabelas. #### **PartitionKey** -- O **PartitionKey agrupa entidades em partições lógicas**. Entidades com o mesmo PartitionKey são armazenadas juntas, o que melhora o desempenho da consulta e a escalabilidade. +- A **PartitionKey agrupa entidades em partições lógicas**. Entidades com a mesma PartitionKey são armazenadas juntas, o que melhora o desempenho da consulta e a escalabilidade. - Exemplo: Em uma tabela que armazena dados de funcionários, `PartitionKey` pode representar um departamento, por exemplo, `"RH"` ou `"TI"`. #### **RowKey** -- O **RowKey é o identificador único** para uma entidade dentro de uma partição. Quando combinado com o PartitionKey, garante que cada entidade na tabela tenha um identificador globalmente único. +- A **RowKey é o identificador único** para uma entidade dentro de uma partição. Quando combinada com a PartitionKey, garante que cada entidade na tabela tenha um identificador globalmente único. - Exemplo: Para a partição `"RH"`, `RowKey` pode ser um ID de funcionário, por exemplo, `"12345"`. #### **Outras Propriedades (Propriedades Personalizadas)** -- Além do PartitionKey e RowKey, uma entidade pode ter **propriedades personalizadas adicionais para armazenar dados**. Estas são definidas pelo usuário e atuam como colunas em um banco de dados tradicional. +- Além da PartitionKey e RowKey, uma entidade pode ter **propriedades personalizadas adicionais para armazenar dados**. Estas são definidas pelo usuário e atuam como colunas em um banco de dados tradicional. - As propriedades são armazenadas como **pares chave-valor**. - Exemplo: `Nome`, `Idade`, `Título` poderiam ser propriedades personalizadas para um funcionário.