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.