diff --git a/src/pentesting-cloud/azure-security/az-basic-information/README.md b/src/pentesting-cloud/azure-security/az-basic-information/README.md
index 7d532d8a8..21d98622b 100644
--- a/src/pentesting-cloud/azure-security/az-basic-information/README.md
+++ b/src/pentesting-cloud/azure-security/az-basic-information/README.md
@@ -28,7 +28,7 @@
### Grupos de Recursos
-[Dos docs:](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-python?tabs=macos#what-is-a-resource-group) Um grupo de recursos é um **container** que contém **recursos relacionados** para uma solução do Azure. O grupo de recursos pode incluir todos os recursos para a solução, ou apenas aqueles **recursos que você deseja gerenciar como um grupo**. Geralmente, adicione **recursos** que compartilham o **mesmo ciclo de vida** ao mesmo grupo de recursos para que você possa facilmente implantar, atualizar e excluí-los como um grupo.
+[Dos docs:](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-python?tabs=macos#what-is-a-resource-group) Um grupo de recursos é um **container** que contém **recursos relacionados** para uma solução do Azure. O grupo de recursos pode incluir todos os recursos para a solução ou apenas aqueles **recursos que você deseja gerenciar como um grupo**. Geralmente, adicione **recursos** que compartilham o **mesmo ciclo de vida** ao mesmo grupo de recursos para que você possa facilmente implantar, atualizar e excluí-los como um grupo.
Todos os **recursos** devem estar **dentro de um grupo de recursos** e podem pertencer apenas a um grupo e, se um grupo de recursos for excluído, todos os recursos dentro dele também são excluídos.
@@ -50,7 +50,7 @@ Para uma máquina virtual chamada myVM em um grupo de recursos `myResourceGroup`
### Azure
-Azure é a **plataforma de computação em nuvem abrangente da Microsoft, oferecendo uma ampla gama de serviços**, incluindo máquinas virtuais, bancos de dados, inteligência artificial e armazenamento. Atua como a base para hospedar e gerenciar aplicativos, construir infraestruturas escaláveis e executar cargas de trabalho modernas na nuvem. O Azure fornece ferramentas para desenvolvedores e profissionais de TI criarem, implantarem e gerenciarem aplicativos e serviços de forma contínua, atendendo a uma variedade de necessidades, desde startups até grandes empresas.
+Azure é a **plataforma de computação em nuvem abrangente da Microsoft, oferecendo uma ampla gama de serviços**, incluindo máquinas virtuais, bancos de dados, inteligência artificial e armazenamento. Ela atua como a base para hospedar e gerenciar aplicativos, construir infraestruturas escaláveis e executar cargas de trabalho modernas na nuvem. O Azure fornece ferramentas para desenvolvedores e profissionais de TI criarem, implantarem e gerenciarem aplicativos e serviços de forma contínua, atendendo a uma variedade de necessidades, desde startups até grandes empresas.
### Entra ID (anteriormente Azure Active Directory)
@@ -58,7 +58,7 @@ Entra ID é um serviço de **gerenciamento de identidade e acesso baseado em nuv
### Serviços de Domínio do Entra (anteriormente Azure AD DS)
-Os Serviços de Domínio do Entra estendem as capacidades do Entra ID, oferecendo **serviços de domínio gerenciados compatíveis com ambientes tradicionais do Active Directory do Windows**. Suporta protocolos legados como LDAP, Kerberos e NTLM, permitindo que as organizações migrem ou executem aplicativos mais antigos na nuvem sem implantar controladores de domínio locais. Este serviço também suporta Política de Grupo para gerenciamento centralizado, tornando-o adequado para cenários onde cargas de trabalho legadas ou baseadas em AD precisam coexistir com ambientes modernos de nuvem.
+Os Serviços de Domínio do Entra estendem as capacidades do Entra ID, oferecendo **serviços de domínio gerenciados compatíveis com ambientes tradicionais do Active Directory do Windows**. Ele suporta protocolos legados como LDAP, Kerberos e NTLM, permitindo que as organizações migrem ou executem aplicativos mais antigos na nuvem sem implantar controladores de domínio locais. Este serviço também suporta Política de Grupo para gerenciamento centralizado, tornando-o adequado para cenários onde cargas de trabalho legadas ou baseadas em AD precisam coexistir com ambientes modernos de nuvem.
## Principais do Entra ID
@@ -107,7 +107,7 @@ Você pode verificá-las em [https://learn.microsoft.com/en-us/entra/fundamental
- **Usuários convidados têm o mesmo acesso que membros**.
- **Usuários convidados têm acesso limitado a propriedades e associações de objetos de diretório (padrão)**. Isso restringe o acesso do convidado apenas ao seu próprio perfil de usuário por padrão. O acesso a informações de outros usuários e grupos não é mais permitido.
- **O acesso de usuários convidados é restrito a propriedades e associações de seus próprios objetos de diretório** é o mais restritivo.
-- **Opções de convite para convidados**:
+- **Opções de convite de convidados**:
- **Qualquer pessoa na organização pode convidar usuários convidados, incluindo convidados e não administradores (mais inclusivo) - Padrão**
- **Usuários membros e usuários atribuídos a funções administrativas específicas podem convidar usuários convidados, incluindo convidados com permissões de membro**
- **Apenas usuários atribuídos a funções administrativas específicas podem convidar usuários convidados**
@@ -142,13 +142,13 @@ Um **Principal de Serviço** é uma **identidade** criada para **uso** com **apl
### Registros de Aplicativos
-Um **Registro de Aplicativo** é uma configuração que permite que uma aplicação se integre ao Entra ID e realize ações.
+Um **Registro de Aplicativo** é uma configuração que permite que uma aplicação se integre com o Entra ID e realize ações.
#### Componentes Chave:
1. **ID da Aplicação (Client ID):** Um identificador único para seu aplicativo no Azure AD.
2. **URIs de Redirecionamento:** URLs onde o Azure AD envia respostas de autenticação.
-3. **Certificados, Segredos e Credenciais Federadas:** É possível gerar um segredo ou um certificado para fazer login como o principal de serviço da aplicação, ou conceder acesso federado a ele (por exemplo, Github Actions).
+3. **Certificados, Segredos e Credenciais Federadas:** É possível gerar um segredo ou um certificado para fazer login como o principal de serviço da aplicação ou conceder acesso federado a ele (por exemplo, Github Actions).
1. Se um **certificado** ou **segredo** for gerado, é possível que uma pessoa **faça login como o principal de serviço** com ferramentas CLI conhecendo o **ID da aplicação**, o **segredo** ou **certificado** e o **inquilino** (domínio ou ID).
4. **Permissões da API:** Especifica quais recursos ou APIs o aplicativo pode acessar.
5. **Configurações de Autenticação:** Define os fluxos de autenticação suportados pelo aplicativo (por exemplo, OAuth2, OpenID Connect).
@@ -193,7 +193,7 @@ Identidades Gerenciadas **não geram credenciais eternas** (como senhas ou certi
É apenas uma **tabela no Azure para filtrar principais de serviço** e verificar as aplicações que foram atribuídas a.
-**Não é outro tipo de “aplicação”**, não há nenhum objeto no Azure que seja uma “Aplicação Empresarial”, é apenas uma abstração para verificar os Principais de Serviço, Registros de Aplicativos e Identidades Gerenciadas.
+**Não é outro tipo de “aplicação”**, não existe nenhum objeto no Azure que seja uma “Aplicação Empresarial”, é apenas uma abstração para verificar os Principais de Serviço, Registros de Aplicativos e Identidades Gerenciadas.
### Unidades Administrativas
@@ -212,34 +212,28 @@ Exemplo:
- Conceder o papel de "Administrador de Usuários" ao pessoal de TI regional, limitado à AU de sua região.
- Resultado: Administradores de TI regionais podem gerenciar contas de usuário dentro de sua região sem afetar outras regiões.
-### Funções do Entra ID
+### Funções e Permissões do Entra ID
- Para gerenciar o Entra ID, existem algumas **funções integradas** que podem ser atribuídas a principais do Entra ID para gerenciar o Entra ID
- Verifique as funções em [https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference](https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference)
+- Funções marcadas como **`PRIVILEGIADAS`** pelo EntraID devem ser atribuídas com cautela, pois como a Microsoft explica [nos docs](https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference): Atribuições de função privilegiadas podem levar à elevação de privilégios se não forem usadas de maneira segura e intencional.
- A função mais privilegiada é **Administrador Global**
-- Na descrição da função, é possível ver suas **permissões granulares**
+- As funções agrupam **permissões granulares** e podem ser encontradas em suas descrições.
+- É possível **criar funções personalizadas** com as permissões desejadas. Embora, por algum motivo, nem todas as permissões granulares estejam disponíveis para os administradores criarem funções personalizadas.
+- As funções no Entra ID são completamente **independentes** das funções no Azure. A única relação é que os principais com a função **Administrador Global** no Entra ID podem elevar para a função **Administrador de Acesso do Usuário** no Azure.
+- **Não é possível usar curingas** nas funções do Entra ID.
-## Funções e Permissões
+## Funções e Permissões do Azure
-**Funções** são **atribuídas** a **principais** em um **escopo**: `principal -[HAS ROLE]->(scope)`
-
-**Funções** atribuídas a **grupos** são **herdadas** por todos os **membros** do grupo.
-
-Dependendo do escopo ao qual a função foi atribuída, a **função** pode ser **herdada** para **outros recursos** dentro do contêiner de escopo. Por exemplo, se um usuário A tem uma **função na assinatura**, ele terá essa **função em todos os grupos de recursos** dentro da assinatura e em **todos os recursos** dentro do grupo de recursos.
-
-### Funções Clássicas
-
-| **Proprietário** |
- Acesso total a todos os recursos
- Pode gerenciar o acesso de outros usuários
| Todos os tipos de recursos |
-| ------------------------------- | ---------------------------------------------------------------------------------------------------- | -------------------------- |
-| **Contribuidor** | - Acesso total a todos os recursos
- Não pode gerenciar acesso
| Todos os tipos de recursos |
-| **Leitor** | • Visualizar todos os recursos | Todos os tipos de recursos |
-| **Administrador de Acesso do Usuário** | - Visualizar todos os recursos
- Pode gerenciar o acesso de outros usuários
| Todos os tipos de recursos |
+- **Funções** são **atribuídas** a **principais** em um **escopo**: `principal -[TEM FUNÇÃO]->(escopo)`
+- **Funções** atribuídas a **grupos** são **herdadas** por todos os **membros** do grupo.
+- Dependendo do escopo ao qual a função foi atribuída, a **função** pode ser **herdada** para **outros recursos** dentro do contêiner de escopo. Por exemplo, se um usuário A tem uma **função na assinatura**, ele terá essa **função em todos os grupos de recursos** dentro da assinatura e em **todos os recursos** dentro do grupo de recursos.
### Funções Integradas
-[Dos docs: ](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles)[O controle de acesso baseado em função do Azure (Azure RBAC)](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview) tem várias **funções integradas do Azure** que você pode **atribuir** a **usuários, grupos, principais de serviço e identidades gerenciadas**. As atribuições de função são a maneira de controlar **o acesso aos recursos do Azure**. Se as funções integradas não atenderem às necessidades específicas de sua organização, você pode criar suas próprias [**funções personalizadas do Azure**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles)**.**
+[Dos docs: ](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles)[O controle de acesso baseado em função do Azure (Azure RBAC)](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview) tem várias **funções integradas do Azure** que você pode **atribuir** a **usuários, grupos, principais de serviço e identidades gerenciadas**. As atribuições de função são a maneira de controlar **o acesso aos recursos do Azure**. Se as funções integradas não atenderem às necessidades específicas de sua organização, você pode criar suas próprias [**funções personalizadas do Azure**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles).
-As funções **Integradas** se aplicam apenas aos **recursos** para os quais são **destinadas**, por exemplo, verifique esses 2 exemplos de **Funções Integradas sobre recursos de Computação**:
+As **funções integradas** se aplicam apenas aos **recursos** para os quais são **destinadas**, por exemplo, verifique estes 2 exemplos de **funções integradas sobre recursos de Computação**:
| [Leitor de Backup de Disco](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#disk-backup-reader) | Fornece permissão ao cofre de backup para realizar backup de disco. | 3e5e47e6-65f7-47ef-90b5-e5dd4d455f24 |
| ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------ |
@@ -303,7 +297,7 @@ Exemplo de JSON de permissões para uma função personalizada:
### Administrador Global
-O Administrador Global é um papel do Entra ID que concede **controle total sobre o locatário do Entra ID**. No entanto, ele não concede nenhuma permissão sobre recursos do Azure por padrão.
+Administrador Global é um papel do Entra ID que concede **controle total sobre o locatário do Entra ID**. No entanto, ele não concede nenhuma permissão sobre recursos do Azure por padrão.
Usuários com o papel de Administrador Global têm a capacidade de '**elevar' para o papel de Administrador de Acesso do Usuário no Grupo de Gerenciamento Raiz**. Assim, Administradores Globais podem gerenciar o acesso em **todas as assinaturas e grupos de gerenciamento do Azure.**\
Essa elevação pode ser feita no final da página: [https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/\~/Properties](https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/Properties)
@@ -318,7 +312,7 @@ De acordo com **[a documentação](https://learn.microsoft.com/en-us/azure/role-
Assim como as atribuições de papéis, **atribuições de negação** são usadas para **controlar o acesso a recursos do Azure**. No entanto, **atribuições de negação** são usadas para **negar explicitamente o acesso** a um recurso, mesmo que um usuário tenha recebido acesso por meio de uma atribuição de papel. **Atribuições de negação** têm precedência sobre **atribuições de papel**, o que significa que se um usuário receber acesso por meio de uma atribuição de papel, mas também for explicitamente negado acesso por meio de uma atribuição de negação, a atribuição de negação terá precedência.
-Assim como as atribuições de papéis, **atribuições de negação** são aplicadas sobre algum escopo indicando os principais afetados e as permissões que estão sendo negadas. Além disso, no caso de atribuições de negação, é possível **impedir que a negação seja herdada** por recursos filhos.
+Assim como as atribuições de papel, **atribuições de negação** são aplicadas sobre algum escopo indicando os principais afetados e as permissões que estão sendo negadas. Além disso, no caso de atribuições de negação, é possível **impedir que a negação seja herdada** por recursos filhos.
### Políticas do Azure
@@ -339,12 +333,12 @@ As Políticas do Azure são **proativas**: elas podem impedir que recursos não
2. **Impondo Padrões de Nomenclatura**: Políticas podem impor convenções de nomenclatura para recursos do Azure. Isso ajuda na organização e identificação fácil de recursos com base em seus nomes, o que é útil em grandes ambientes.
3. **Restringindo Certos Tipos de Recursos**: Esta política pode restringir a criação de certos tipos de recursos. Por exemplo, uma política pode ser definida para impedir a criação de tipos de recursos caros, como certos tamanhos de VM, para controlar custos.
4. **Impondo Políticas de Tagging**: Tags são pares chave-valor associados a recursos do Azure usados para gerenciamento de recursos. Políticas podem impor que certas tags devem estar presentes ou ter valores específicos para todos os recursos. Isso é útil para rastreamento de custos, propriedade ou categorização de recursos.
-5. **Limitando o Acesso Público a Recursos**: Políticas podem impor que certos recursos, como contas de armazenamento ou bancos de dados, não tenham endpoints públicos, garantindo que sejam acessíveis apenas dentro da rede da organização.
+5. **Limitando Acesso Público a Recursos**: Políticas podem impor que certos recursos, como contas de armazenamento ou bancos de dados, não tenham endpoints públicos, garantindo que sejam acessíveis apenas dentro da rede da organização.
6. **Aplicando Configurações de Segurança Automaticamente**: Políticas podem ser usadas para aplicar automaticamente configurações de segurança a recursos, como aplicar um grupo de segurança de rede específico a todas as VMs ou garantir que todas as contas de armazenamento usem criptografia.
Observe que as Políticas do Azure podem ser anexadas a qualquer nível da hierarquia do Azure, mas são **comumente usadas no grupo de gerenciamento raiz** ou em outros grupos de gerenciamento.
-Exemplo de json de política do Azure:
+Exemplo de política do Azure em json:
```json
{
"policyRule": {
@@ -375,7 +369,7 @@ Essa estrutura hierárquica permite uma gestão eficiente e escalável das permi
**RBAC** (controle de acesso baseado em função) é o que já vimos nas seções anteriores: **Atribuir uma função a um principal para conceder acesso** a um recurso.\
No entanto, em alguns casos, você pode querer fornecer **uma gestão de acesso mais detalhada** ou **simplificar** a gestão de **centenas** de atribuições de função.
-O **ABAC** do Azure (controle de acesso baseado em atributos) se baseia no Azure RBAC, adicionando **condições de atribuição de função baseadas em atributos** no contexto de ações específicas. Uma _condição de atribuição de função_ é uma **verificação adicional que você pode opcionalmente adicionar à sua atribuição de função** para fornecer um controle de acesso mais detalhado. Uma condição filtra as permissões concedidas como parte da definição de função e da atribuição de função. Por exemplo, você pode **adicionar uma condição que exige que um objeto tenha uma tag específica para ler o objeto**.\
+O **ABAC** do Azure (controle de acesso baseado em atributos) se baseia no Azure RBAC, adicionando **condições de atribuição de função com base em atributos** no contexto de ações específicas. Uma _condição de atribuição de função_ é uma **verificação adicional que você pode opcionalmente adicionar à sua atribuição de função** para fornecer um controle de acesso mais detalhado. Uma condição filtra as permissões concedidas como parte da definição de função e da atribuição de função. Por exemplo, você pode **adicionar uma condição que exige que um objeto tenha uma tag específica para ler o objeto**.\
Você **não pode** explicitamente **negar** **acesso** a recursos específicos **usando condições**.
## Referências
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 25259dbcd..c4f80993c 100644
--- a/src/pentesting-cloud/azure-security/az-services/az-azuread.md
+++ b/src/pentesting-cloud/azure-security/az-services/az-azuread.md
@@ -184,9 +184,9 @@ Connect-AzureAD -AccountId test@corp.onmicrosoft.com -AadAccessToken $token
{{#endtab }}
{{#endtabs }}
-Quando você **faz login** via **CLI** no Azure com qualquer programa, você está usando uma **Aplicação Azure** de um **tenant** 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**.
+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 sysadmin 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
@@ -487,7 +487,7 @@ Os proprietários do grupo podem adicionar novos usuários ao grupo
Add-AzureADGroupMember -ObjectId -RefObjectId -Verbose
```
> [!WARNING]
-> Grupos podem ser dinâmicos, o que basicamente significa que **se um usuário cumprir certas condições, ele será adicionado a um grupo**. Claro, se as condições forem baseadas em **atributos** que um **usuário** pode **controlar**, ele pode abusar desse recurso para **entrar em outros grupos**.\
+> Grupos podem ser dinâmicos, o que basicamente significa que **se um usuário cumprir certas condições, ele será adicionado a um grupo**. Claro, se as condições forem baseadas em **atributos** que um **usuário** pode **controlar**, ele poderia abusar dessa funcionalidade para **entrar em outros grupos**.\
> Confira como abusar de grupos dinâmicos na página a seguir:
{{#ref}}
@@ -496,7 +496,7 @@ Add-AzureADGroupMember -ObjectId -RefObjectId -Verbose
### Principais Serviços
-Para mais informações sobre os principais serviços do Entra ID, confira:
+Para mais informações sobre principais serviços do Entra ID, confira:
{{#ref}}
../az-basic-information/
@@ -735,6 +735,13 @@ az ad app owner list --id --query "[].[displayName]" -o table
az ad app list --show-mine
# Get apps with generated secret or certificate
az ad app list --query '[?length(keyCredentials) > `0` || length(passwordCredentials) > `0`].[displayName, appId, keyCredentials, passwordCredentials]' -o json
+# Get Global Administrators (full access over apps)
+az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/1b2256f9-46c1-4fc2-a125-5b2f51bb43b7/members"
+# Get Application Administrators (full access over apps)
+az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/1e92c3b7-2363-4826-93a6-7f7a5b53e7f9/members"
+# Get Cloud Applications Administrators (full access over apps)
+az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/0d601d27-7b9c-476f-8134-8e7cd6744f02/members"
+
```
{{#endtab }}
@@ -792,7 +799,7 @@ Get-AzureADApplication -ObjectId | Get-AzureADApplicationOwner |fl *
> Uma string secreta que o aplicativo usa para provar sua identidade ao solicitar um token é a senha do aplicativo.\
> Portanto, se encontrar esta **senha**, você pode acessar como o **service principal** **dentro** do **tenant**.\
> Note que esta senha só é visível quando gerada (você pode alterá-la, mas não pode obtê-la novamente).\
-> O **proprietário** do **aplicativo** pode **adicionar uma senha** a ele (para que possa se passar por ele).\
+> O **proprietário** do **aplicativo** pode **adicionar uma senha** a ele (para que ele possa se passar por ele).\
> Logins como esses service principals **não são marcados como arriscados** e **não terão MFA.**
É possível encontrar uma lista de IDs de aplicativos comumente usados que pertencem à Microsoft em [https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications](https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications)