
EntraFalcon V20260824
Uma ferramenta PowerShell leve para avaliar a postura de segurança de ambientes Microsoft Entra ID. Ela ajuda a identificar objetos privilegiados, atribuições arriscadas e possíveis configurações incorretas.
EntraFalcon

O EntraFalcon é uma ferramenta de avaliação baseada em PowerShell para pentesters, analistas de segurança e administradores de sistemas avaliarem a postura de segurança de um ambiente Microsoft Entra ID.
Projetado para facilidade de uso, o EntraFalcon roda no PowerShell 5.1 e 7, suporta Windows e Linux, e não requer módulos adicionais do PowerShell, instalações extras ou consentimento da API do Microsoft Graph.
A ferramenta ajuda a descobrir objetos privilegiados, atribuições potencialmente arriscadas e configurações incorretas de Acesso Condicional que muitas vezes são ignoradas, como:
- Usuários com controle sobre grupos ou aplicativos de alto privilégio
- Aplicativos empresariais externos ou internos com permissões excessivas (ex.: API do Microsoft Graph, funções do Azure)
- Usuários com atribuições de função IAM do Azure diretamente em recursos
- Contas privilegiadas sincronizadas do local (on-premises)
- Usuários inativos ou usuários sem capacidade de MFA
- Grupos desprotegidos usados em atribuições sensíveis (ex.: exclusões de Acesso Condicional, Proprietário de Assinatura ou membro elegível de um grupo privilegiado)
Os resultados são apresentados em relatórios HTML interativos para apoiar uma exploração e análise eficientes.
🚀 Recursos
- Script PowerShell simples compatível com PowerShell 5.1 e 7. Funciona em Windows e Linux
- Autenticação integrada com suporte a múltiplos métodos
- Usa aplicativos Microsoft de primeira parte com escopos pré-consentidos para contornar os prompts de consentimento da API do Graph
- Gera relatórios HTML navegáveis que suportam filtragem, ordenação, exportação de dados, etc.
- Executa mais de 90 verificações automatizadas e resume os resultados em um Relatório de Descobertas de Segurança
- Inclui verificações para configurações fracas do locatário e propriedades ou permissões de objetos arriscadas
- Fornece classificações de gravidade, bem como descrições do problema, ameaças potenciais e orientações de remediação
- Lista os objetos afetados e links diretos para seus relatórios detalhados para investigação adicional
- Realiza pontuação básica de impacto, probabilidade e risco para destacar objetos de alto privilégio fracamente protegidos e ordenar os dados.
- Exibe avisos para configurações arriscadas e privilégios elevados
- Enumera objetos do Entra ID, incluindo:
- Usuários (incluindo Usuários Agentes)
- Grupos
- Aplicativos Empresariais
- Registros de Aplicativos
- Identidades Gerenciadas
- Identidades de agentes
- Principais de blueprint de identidade de agentes
- Blueprints de identidade de agentes
- Atribuições de PIM:
- PIM para Funções do Entra
- PIM para Grupos
- PIM para Funções do Azure
- Atribuições de Funções do Entra
- Atribuições de Funções do Azure
- Atribuições de RBAC do Intune
- Pacotes de Acesso
- Catálogos de Gerenciamento de Direitos
- RBAC de Catálogo
- Políticas de Acesso Condicional
- Unidades Administrativas
- Configurações de PIM:
- PIM para Funções do Entra
- PIM para Grupos (somente autenticação BroCi)
✅ Requisitos
| Tipo | Permissão | Obrigatório | Impacto se ausente |
|---|---|---|---|
| Função do Entra ID | Leitor Global | Sim | Não é possível executar os scripts |
| Função do Azure | Leitor: Em cada Grupo de Gerenciamento ou Assinatura | Não | Não é possível avaliar atribuições de IAM do Azure |
Além disso, você deve ser capaz de autenticar na API do Microsoft Graph e, opcionalmente, na API ARM do Azure a partir do dispositivo onde executa a ferramenta. Garanta que as Políticas de Acesso Condicional não bloqueiem sua autenticação.
▶️ Uso
Baixar o EntraFalcon
Para começar, clone o repositório e navegue até o diretório do projeto:```powershell git clone https://github.com/CompassSecurity/EntraFalcon cd EntraFalcon
Nota: Pode ser necessário alterar temporariamente a política de execução do PowerShell para executar o script.
Faça isso apenas para scripts confiáveis!```
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
Executar o EntraFalcon
O EntraFalcon inclui suporte integrado para autenticação do Entra ID. Use -AuthFlow para selecionar o fluxo de autenticação.
Para avaliações normais, use um dos fluxos de cobertura completa:
| Fluxo Recomendado | Melhor Para | Plataforma | Cobertura |
|---|---|---|---|
BroCi (padrão) | Execuções interativas no Windows | Windows | Completa |
BroCiManualCode | Autenticação em outro navegador | Windows, Linux, macOS | Completa |
BroCiToken | Token de atualização existente do Portal Azure | Windows, Linux, macOS | Completa |
ServicePrincipal | Automação / CI | Windows, Linux, macOS | Completa |
O BroCi usa um único login interativo. O BroCiToken e o ServicePrincipal não usam nenhum. Os fluxos de usuário alternativos podem exigir vários logins interativos, pois tokens de recursos separados são solicitados.
Fluxos de Autenticação Alternativos
Devido à falta de aplicativos de primeira parte pré-consentidos, os fluxos alternativos não conseguem realizar a enumeração completa (PIM for Groups, Access Packages, Catalogs). Portanto, eles permanecem atualmente apenas como opções alternativas.
| Fluxo | Usar Somente Quando | Plataforma | Limitações |
|---|---|---|---|
AuthCode | Compatibilidade legada for necessária | Windows | Cobertura parcial. Sem relatório autônomo de PIM for Groups, Access Packages ou Catalogs. |
DeviceCode | A autenticação baseada em navegador não for possível | Windows, Linux, macOS | Cobertura parcial. Sem relatório autônomo de PIM for Groups, Access Packages ou Catalogs. Algumas verificações de Security Findings são executadas com profundidade reduzida. |
ManualCode | A autenticação deve ser concluída por meio de uma sessão de navegador separada | Windows, Linux, macOS | Cobertura parcial. Sem relatório autônomo de PIM for Groups, Access Packages ou Catalogs. |
Recomendado: Fluxo BroCi (padrão / somente Windows)
O BroCi usa aplicativos de primeira parte alternativos e requer apenas um único login interativo.
É útil quando o cliente Azure Active Directory PowerShell exige atribuição e deve ser evitado.```powershell
.\run_EntraFalcon.ps1
Seleção explícita de BroCi:```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCi
Recomendado: BroCi + Fluxo de Código Manual```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCiManualCode
1. O script copia o URL de autenticação para a área de transferência.
2. Cole o URL em um navegador (opcionalmente em outro dispositivo para suporte a SSO).
3. Abra as ferramentas de desenvolvedor do navegador e, na aba Rede, ative `Preserve log`.
4. Conclua a autenticação.
5. Pesquise no log de rede por `code=1.` e copie o URL da solicitação que contém o código para a área de transferência.
6. Pressione Enter para continuar; o script lê o código da área de transferência e conclui a obtenção do token.
#### Recomendado: BroCi com Token
Se um token de atualização válido do Portal do Azure já estiver disponível (cliente c44b4083-3bb0-49c1-b47d-974e53cbdf3c), ele pode ser usado diretamente.
Exemplo: Obtendo o token de atualização do navegador
1. Abra as ferramentas de desenvolvedor do navegador e, na aba Rede, ative Preserve log.
2. Autentique-se em https://entra.microsoft.com.
3. Pesquise no log de rede por `brk_client_id=c44b4083-3bb0-49c1-b47d-974e53cbdf3c` e extraia o token de atualização da resposta.```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCiToken -BroCiToken "1.XXXXXXXXXXX"
Recomendado: Service Principal
Autentica como uma aplicação registada utilizando a concessão de credenciais de cliente OAuth2 — não é necessária interação do utilizador.
Útil para execuções automatizadas repetidas.
Requer um registo de aplicação Entra personalizado com permissões da Graph API do tipo Application (ver abaixo).
Com segredo de cliente:```powershell .\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "" -SPClientSecret ""
**Com certificado PFX:**```powershell
.\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "<AppId>" -SPCertificatePath "C:\certs\app.pfx"
Para um PFX protegido por senha, adicione -SPCertificatePassword (Read-Host -Prompt "Certificate password" -AsSecureString).
Com certificado PEM + chave privada (apenas PowerShell 7+):```powershell .\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "" -SPCertificatePemPath "C:\certs\cert.pem" -SPPrivateKeyPemPath "C:\certs\key.pem"
Para uma chave privada encriptada, adicione `-SPPrivateKeyPemPassword (Read-Host -Prompt "Private key password" -AsSecureString)`.
##### Permissões Necessárias do Registo da Aplicação
Conceda as seguintes permissões de **Aplicação** (não Delegadas) no registo da aplicação e administre o consentimento para elas:
| Permissão | Tipo |
|---|---|
| `AdministrativeUnit.Read.All` | Aplicação |
| `AgentIdentity.Read.All` | Aplicação |
| `AgentIdentityBlueprint.Read.All` | Aplicação |
| `AgentIdentityBlueprintPrincipal.Read.All` | Aplicação |
| `Application.Read.All` | Aplicação |
| `AuditLog.Read.All` | Aplicação |
| `Device.Read.All` | Aplicação |
| `EntitlementManagement.Read.All` | Aplicação |
| `Group.Read.All` | Aplicação |
| `Organization.Read.All` | Aplicação |
| `Policy.Read.All` | Aplicação |
| `PrivilegedAccess.Read.AzureADGroup` | Aplicação |
| `RoleManagement.Read.Directory` | Aplicação |
| `RoleManagementPolicy.Read.AzureADGroup` | Aplicação |
| `User.Read.All` | Aplicação |
| `DeviceManagementRBAC.Read.All` | Aplicação |
Além disso, atribua a função **Leitor do Azure** no grupo de gestão raiz (ou em cada subscrição relevante) e, opcionalmente, a função **Leitor Global** ao principal de serviço no Entra ID (necessária para o estado de MFA por utilizador).
#### Alternativa: Fluxo de Código de Autorização (apenas Windows)```powershell
.\run_EntraFalcon.ps1 -AuthFlow AuthCode
Fallback: Fluxo de Código de Dispositivo
É frequentemente restringido pelo Acesso Condicional em ambientes endurecidos.
Com DeviceCode, duas verificações de Descobertas de Segurança são executadas com profundidade reduzida (CAP-004 e CAP-005).```powershell
.\run_EntraFalcon.ps1 -AuthFlow DeviceCode
#### Fallback: Fluxo de Código de Autorização + Código Manual```powershell
.\run_EntraFalcon.ps1 -AuthFlow ManualCode
- O script copia o URL de autenticação para a área de transferência.
- Cole o URL em um navegador (opcionalmente em outro dispositivo para suporte a SSO).
- Conclua a autenticação.
- Copie o URL de redirecionamento final da barra de endereços do navegador (contendo o código de autorização) para a área de transferência.
- Pressione Enter para continuar; o script lê o código da área de transferência e conclui a aquisição do token.
Outros Parâmetros
Incluir Aplicativos Empresariais de Propriedade da Microsoft
Por padrão, os aplicativos empresariais oficiais da Microsoft são excluídos da avaliação para reduzir ruído. Para incluí-los na enumeração e análise, use o switch -IncludeMsApps:```powershell
.\run_EntraFalcon.ps1 -IncludeMsApps
#### Ignorar Avaliação de PIM para Grupos
Use o parâmetro `-SkipPimForGroups` para ignorar a pré-coleta e o enriquecimento de PIM para Grupos.
Isso também ignora o relatório autônomo de configurações de `PIM for Groups`.```powershell
.\run_EntraFalcon.ps1 -SkipPimForGroups
Outros Parâmetros Opcionais
| Parâmetro | Descrição | Valor Padrão |
|---|---|---|
| UserAgent | User agent usado para as solicitações ao endpoint de token e chamadas de API. | EntraFalcon |
| DisableCAE | Desativa a solicitação de tokens de Avaliação de Acesso Contínuo (CAE). | false |
| Tenant | Especifica o tenant (ID ou domínio) para autenticar. Útil ao avaliar um tenant diferente do tenant doméstico da conta. | Tenant doméstico da conta |
| OutputFolder | Pasta de saída onde os relatórios são armazenados. | Results_%TenantName%_YYYYMMDD_HHMM |
| LimitResults | Limita o número de grupos e usuários no relatório (após ordenação por risco). Útil para tenants grandes. | - |
| LogLevel | Controla o nível de detalhes do log da CLI em tempo de execução. Valores suportados: Off (padrão), Verbose, Debug, Trace. | Off |
| ApiTop | Define o número máximo de objetos retornados da API. Valores menores reduzem o risco de timeout (HTTP 504), mas aumentam o número de solicitações. | 999 (Intervalo válido: 5–999) |
| AuthFlow | Seletor de fluxo de autenticação preferido. Valores: BroCi (padrão), AuthCode, DeviceCode, ManualCode, BroCiManualCode, BroCiToken, ServicePrincipal. | BroCi |
| BroCiToken | Refresh token do Portal do Azure para AuthFlow BroCiToken. | - |
| SPClientId | ID do aplicativo (cliente) da entidade de serviço. Obrigatório para -AuthFlow ServicePrincipal. | - |
| SPClientSecret | Segredo do cliente para a entidade de serviço. Usado com -AuthFlow ServicePrincipal. | - |
| SPCertificatePath | Caminho para um arquivo de certificado PFX/P12 para autenticação da entidade de serviço. | - |
| SPCertificatePassword | Senha (SecureString) para o certificado PFX especificado por -SPCertificatePath. | - |
| SPCertificatePemPath | Caminho para um arquivo de certificado PEM. Usado em conjunto com -SPPrivateKeyPemPath. | - |
| SPPrivateKeyPemPath | Caminho para o arquivo de chave privada PEM correspondente a -SPCertificatePemPath. | - |
| SPPrivateKeyPemPassword | Senha (SecureString) para a chave privada PEM especificada por -SPPrivateKeyPemPath. | - |
| Csv | Habilita a escrita de arquivos de relatório CSV além dos arquivos de relatório TXT/HTML. | false |
| ExportCapUncoveredUsers | Para cada política de Acesso Condicional habilitada com direcionamento de usuários, exporta um CSV listando usuários não cobertos por essa política. Os arquivos são gravados em uma subpasta ConditionalAccessPolicies_UncoveredUsers no diretório de saída. | false |
| ExportFindingsJson | Exporta todas as Descobertas de Segurança como JSON ao final da execução. | false |
| ExportDataJson | Exporta relatórios enriquecidos e conjuntos de dados de suporte como arquivos de dados JSON brutos em Data_Json; os metadados da execução estão disponíveis em Summary.json. | false |
| DebugObjectDump | Exporta os objetos de relatório finais em memória como CLIXML para Debug_ObjectDump para solução de problemas e testes. | false |
📊 Alguns Exemplos de Relatórios
Relatório de Descobertas de Segurança

Usuários

Usuários (Seção de Detalhes)

Funções do Entra ID

Funções do Azure

Aplicativo Empresarial (Seção de Detalhes)

Políticas de Acesso Condicional

Políticas de Acesso Condicional (Seção de Detalhes)

Configurações de Função do PIM (Entra)

Identidades de Agente

Resumo da Enumeração

📑 Relatório HTML
Geral
- Clique no botão ⚙️ Colunas para mostrar ou ocultar colunas específicas.
- Clique em 💾 Exportar para baixar CSV/JSON ou copiar CSV/TSV/JSON dos dados atualmente visíveis.
- Clique em 👁 Compartilhar Visualização para copiar filtros, ordenação e seleção de colunas como um link compartilhável.
- Clique em 🧰 Visualizações Predefinidas para aplicar filtros e seleções de colunas pré-configurados.
- Clique em 🔄 Redefinir Visualização para redefinir a visualização para o padrão.
- Clique nos nomes dos objetos para saltar para informações detalhadas, mesmo em outros relatórios.
- Ao usar a navegação interna, pressione o botão voltar do navegador para retornar.
- Alguns cabeçalhos de coluna da tabela exibem texto de ajuda ao passar o mouse.
- Ordene os dados clicando em um cabeçalho de tabela.
- Alt+clique em um cabeçalho de coluna principal da tabela para ocultar rapidamente essa coluna.
- Alt+clique em uma linha de conteúdo da tabela principal para ocultá-la temporariamente. Use o chip de linhas ocultas ou Redefinir Visualização para mostrar as linhas ocultas novamente.
Filtragem
- Se nenhum operador for especificado, a filtragem usa contém por padrão.
- Use
=para correspondência exata. - Use
^para começa com (ex.:^Mallory). - Use
$para termina com (ex.:$domain.ch). - Operadores de comparação como
>,<,>=,<=são suportados (somente valores numéricos). - Os filtros podem ser negados começando com
!(exceto para comparações numéricas). Exemplos:!Mallory,!=Mallory,!^Malloryou!$domain.ch. - Use
=emptypara corresponder a células vazias, ou!=emptypara corresponder a células não vazias. - Use
||para corresponder a qualquer um de vários valores na mesma coluna (ex.:Admin || Guest). - Use
&¶ exigir múltiplas correspondências na mesma coluna (ex.:!adm && !svc && !sql). - Para aplicar lógica OR entre colunas, use
or_,group1_,group2_... diretamente em um campo de filtro. Exemplos: na coluna 1:or_>1, na coluna 2:or_!Mallory - Nota: A coluna DisplayName também inclui o ID do objeto (invisível), portanto também é possível filtrar por ID.
Controles usando Parâmetros GET
- Filtragem: Aplique filtros usando nomes de campos como parâmetros HTTP GET, ex.:
?EntraRoles=>1&Enabled=true.
Para aplicar lógica OR entre colunas, use o prefixoor_ougroup1_(ex.:?or_EntraRoles=>0&or_GrpMem=>0). - Seleção de Colunas: Escolha quais colunas exibir usando o parâmetro
columns. Exemplo:?columns=DisplayName,Owner. - Ordenação: Ordene os dados usando os parâmetros
sortesortDir. Exemplo:?sort=Impact&sortDir=descou?sort=OwnerCount&sortDir=asc. - Detalhes do Objeto: Salte diretamente para um objeto específico no relatório usando uma âncora (
#) e o ID do objeto, ex.:#%ObjectID%.
Classificação
- Impacto: Representa a quantidade ou gravidade das permissões que o objeto possui.
- Probabilidade: Representa o quão facilmente o objeto pode ser influenciado ou o quão bem ele está protegido.
- Risco: Pontuação calculada: Impacto × Probabilidade = Risco.
- Importante:
- Esta pontuação é destinada como uma avaliação básica para ajudar a ordenar e priorizar entradas na tabela.
- As pontuações de risco não são diretamente comparáveis entre diferentes tipos de objetos ou relatórios.
- Não se destina a substituir uma avaliação de risco completa.
🔧Nos Bastidores
Categorização de Funções
As funções do Entra ID e do Azure são categorizadas aproximadamente em diferentes níveis de camada. Essa categorização influencia as pontuações de impacto dos objetos atribuídos a essas funções. O objetivo é atribuir uma pontuação de impacto maior a usuários com funções mais poderosas (ex.: Administrador Global) em comparação com usuários com funções menos críticas (ex.: Leitor Global), mesmo que ambas sejam consideradas funções privilegiadas pela Microsoft.
Nota: Para funções do Azure, essa categorização é menos precisa, pois o impacto real depende fortemente do escopo da atribuição da função. Por exemplo, uma função de Proprietário em uma única máquina virtual tem significativamente menos impacto do que quando a mesma função é aplicada a uma assinatura inteira. Também pode ser uma assinatura de teste sem nenhum recurso.
Funções do Entra ID
| Nome da Função | Nível de Camada | GUID |
|---|---|---|
| Administrador Global | 0 | 62e90394-69f5-4237-9190-012177145e10 |
| Suporte Tier2 do Parceiro | 0 | e00e864a-17c5-4a4b-9c06-f5b95a8d5bd8 |
| Administrador de Autenticação Privilegiada | 0 | 7be44c8a-adaf-4e2a-84d6-ab2649e08a13 |
| Administrador de Funções Privilegiadas | 0 | e8611ab8-c189-46e8-94e1-60213ab1f814 |
| Administrador de Nomes de Domínio | 0 | 8329153b-31d0-4727-b945-745eb3bc5f31 |
| Administrador de Provedor de Identidade Externo | 0 | be2f45a1-457d-42af-a067-6ec1fa63bc45 |
| Administrador de Identidade Híbrida | 0 | 8ac3fc64-6eca-42ea-9e69-59f4c7b60eb2 |
| Administrador de Aplicativos | 0 | 9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3 |
| Administrador de Aplicativos na Nuvem | 0 | 158c047a-c907-4556-b7ef-446551a6b5f7 |
| Administrador de Segurança | 0 | 194ae4cb-b126-40b2-bd5b-6091b380977d |
| Administrador de ID do Agente | 1 | db506228-d27e-4b7d-95e5-295956d6615f |
| Administrador de IA | 1 | d2562ede-74db-457e-a7b6-544e236ebb61 |
| Administrador de Acesso Condicional | 1 | b1be1c3e-b65d-4f19-8427-f6fa0d97feb9 |
| Administrador de Autenticação | 1 | c4e39bd9-1100-46d3-8c65-fb160da0071f |
| Administrador do Azure DevOps | 1 | e3973bdf-4987-49ae-837a-ba8e231c7286 |
| Gravadores de Diretório | 1 | 9360feb5-f418-4baa-8175-e2a00bac4301 |
| Respondente de Identidade SOC do Entra | 1 | 58f930cc-fcf4-4152-852c-1d7dbf502139 |
| Administrador do Exchange | 1 | 29232cdf-9323-42fd-ade2-1d097af3e4de |
| Administrador de Grupos | 1 | fdd7a751-b60b-444a-984c-02652fe8fa1c |
| Administrador de Helpdesk | 1 | 729827e3-9c14-49f7-bb1b-9608f156bbb8 |
| Administrador de Governança de Identidade | 1 | 45d8d3c5-c802-45c6-b32a-1d70b5e1e86e |
| Administrador do Intune | 1 | 3a2c62db-5318-420d-8d74-23affee5d9d5 |
| Administrador de Conhecimento | 1 | b5a8dcf3-09d5-43a9-a639-8e29ef291470 |
| Gerente de Conhecimento | 1 | 744ec460-397e-42ad-a462-8b3f9747a02c |
| Administrador de Fluxos de Trabalho de Ciclo de Vida | 1 | 59d46f88-662b-457b-bceb-5c3809e5908f |
| Contas de Sincronização de Diretório | 1 | d29b2b05-8046-44ba-8758-1e26182fcf32 |
| Conta de Sincronização de Diretório Local | 1 | a92aed5d-d78a-4d16-b381-09adb37eb3b0 |
| Suporte Tier1 do Parceiro | 1 | 4ba39ca4-527c-499a-b93d-d9b492c50246 |
| Administrador de Senhas | 1 | 966707d0-3269-4727-9be2-8c3a10f19b9d |
| Administrador do SharePoint | 1 | f28a1f50-f6e7-4571-818b-6a12f2af6b6c |
| Administrador do Teams | 1 | 69091246-20e8-4a56-aa4d-066075b2a7a8 |
| Administrador de Usuários | 1 | fe930be7-5e62-47db-91af-98c3a49a38b1 |
| Administrador do Windows 365 | 1 | 11451d60-acb2-45eb-a7d6-43d0f0125c13 |
| Administrador do Yammer | 1 | 810a2642-a034-447f-a5e8-41beaa378541 |
| Administrador de Políticas de Autenticação | 2 | 0526716b-113d-4c15-b2c8-68e3c22b9f80 |
| Administrador Local de Dispositivos Ingressados no Azure AD | 2 | 9f06204d-73c1-4d4c-880a-6edb90606fd8 |
| Administrador de Dispositivos na Nuvem | 2 | 7698a772-787b-4ac8-901f-60d6b08affd2 |
| Leitor Global | 2 | f2ef992c-3afb-46b9-b7cf-a126ee74c451 |
| Convidado Convidante | 2 | 95e79109-95c0-4d8e-aee3-d01accf2d47b |
| Leitor de Segurança | 2 | 5d6b6bb7-de71-4623-b4af-96380a352509 |
| Leitores de Diretório | 2 | 88d8e3e3-8f55-4a1e-953a-9b9898b8876b |
Funções do Azure
| Nome da Função | Nível de Camada | GUID |
|---|---|---|
| Proprietário | 0 | 8e3af657-a8ff-443c-a75c-2fe8c4bcb635 |
| Administrador de Acesso do Usuário | 0 | 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9 |
| Colaborador | 0 | b24988ac-6180-42a0-ab88-20f7382dd24c |
| Administrador de Controle de Acesso Baseado em Função | 0 | f58310d9-a9f6-439a-9e8d-f62e7b41a168 |
| Administrador de Reservas | 0 | a8889054-8d42-49c9-bc1c-52486c10e7cd |
| Administrador de Segurança | 1 | fb1c8493-542b-48eb-b624-b4c8fea62acd |
| Colaborador de Máquina Virtual | 1 | 9980e02c-c2be-4d73-94e8-173b1dc7cf3c |
| Administrador de Acesso a Dados de Máquina Virtual | 1 | 66f75aeb-eabe-4b70-9f1e-c350c4c9ad04 |
| Login de Administrador de Máquina Virtual | 1 | 1c0163c0-47e6-4577-8991-ea5c82e286e4 |
| Login de Administrador do Windows Admin Center | 1 | a6333a3e-0164-44c3-b281-7a577aff287f |
| Colaborador do Registro de Contêineres e Administrador de Configuração de Acesso a Dados | 1 | 3bc748fc-213d-45c1-8d91-9da5725539b9 |
| Administrador do Key Vault | 1 | 00482a5a-887f-4fb3-b363-3b7fe8e74483 |
| Administrador de Acesso a Dados do Key Vault | 1 | 8b54135c-b56d-4d72-a534-26097cfdc8d8 |
| Oficial de Segredos do Key Vault | 1 | b86a8fe4-44ce-4948-aee5-eccb2c155cd7 |
| Usuário de Segredos do Key Vault | 1 | 4633458b-17de-408a-b874-0445c86b69e6 |
| Administrador RBAC do Serviço Kubernetes do Azure | 1 | 3498e952-d568-435e-9b2c-8d77e338d7f7 |
| Administrador de Cluster RBAC do Serviço Kubernetes do Azure | 1 | b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b |
| Administrador Kubernetes do Azure Arc | 1 | dffb1e0c-446f-4dde-a09f-99eb5cc68b96 |
| Administrador de Cluster Kubernetes do Azure Arc | 1 | 8393591c-06b9-48a2-a542-1bd6b377f6a2 |
| Colaborador de VM VMware do Azure Arc | 1 | b748a06d-6150-4f8a-aaa9-ce3940cd96cb |
| Colaborador de Conta de Armazenamento | 1 | 17d1049b-9a84-46fb-8f53-869881c3d3ab |
| Leitor | 2 | acdd72a7-3385-48ef-bd42-f606fba81ae7 |
| Leitor de Segurança | 2 | 39bc4728-0917-49c7-9d2c-d95423bc2eb4 |
| Login de Usuário de Máquina Virtual | 3 | fb879df8-f326-4884-b1cf-06f3ad86be52 |
| Usuário de Virtualização de Desktop | 3 | 1d18fff3-a72a-46b5-b4a9-0b38a3cd7e63 |
Categorização de Permissões de API
Certas permissões de API permitem que um aplicativo escale diretamente para privilégios de Administrador Global. Portanto, várias permissões de API são categorizadas em diferentes níveis de gravidade. Essa categorização influencia a pontuação de impacto dos aplicativos que possuem essas permissões atribuídas — seja como permissões de aplicativo ou permissões delegadas para usuários.
Permissão de Aplicativo
| Permission | Severity | GUID | |-------------------------------------------------------------|------------|----------------------------------------| | RoleManagement.ReadWrite.Directory | Perigoso | 9e3f62cf-ca93-4989-b6ce-bf83c28f9fe8 | | AppRoleAssignment.ReadWrite.All | Perigoso | 06b708a9-e830-4db3-a914-8e69da51d44f | | Application.ReadWrite.All | Perigoso | 1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9 | | RoleAssignmentSchedule.ReadWrite.Directory | Perigoso | dd199f4a-f148-40a4-a2ec-f0069cc799ec | | PrivilegedAssignmentSchedule.ReadWrite.AzureADGroup | Perigoso | 41202f2c-f7ab-45be-b001-85c9728b9d69 | | PrivilegedAccess.ReadWrite.AzureADGroup | Perigoso | 2f6817f8-7b12-4f0f-bc18-eeaf60705a9e | | RoleEligibilitySchedule.ReadWrite.Directory | Perigoso | fee28b28-e1f3-4841-818e-2704dc62245f | | PrivilegedEligibilitySchedule.ReadWrite.AzureADGroup | Perigoso | 618b6020-bca8-4de6-99f6-ef445fa4d857 | | Domain.ReadWrite.All | Perigoso | 7e05723c-0bb0-42da-be95-ae9f08a6e53c | | Application.ReadUpdate.All | Perigoso | fc023787-fd04-4e44-9bc7-d454f00c0f0a | | AgentIdentityBlueprint.ReadWrite.All | Alto | 7fddd33b-d884-4ec0-8696-72cff90ff825 | | AgentIdentityBlueprint.AddRemoveCreds.All | Alto | 0510736e-bdfb-4b37-9a1f-89b4a074763a | | ADSynchronization.ReadWrite.All | Alto | ab43b826-2c7a-4aff-9ecd-d0629d0ca6a9 | | EntitlementManagement.ReadWrite.All | Alto | 9acd699f-1e81-4958-b001-93b1d2506e19 | | Organization.ReadWrite.All | Alto | 292d869f-3427-49a8-9dab-8c70152b74e9 | | Policy.ReadWrite.PermissionGrant | Alto | a402ca1c-2696-4531-972d-6e5ee4aa11ea | | RoleManagementPolicy.ReadWrite.AzureADGroup | Alto | b38dcc4d-a239-4ed6-aa84-6c65b284f97c | | RoleManagementPolicy.ReadWrite.Directory | Alto | 31e08e0a-d3f7-4ca2-ac39-7343fb83e8ad | | Policy.ReadWrite.AuthenticationMethod | Alto | 29c18626-4985-4dcd-85c0-193eef327366 | | User.DeleteRestore.All | Alto | eccc023d-eccf-4e7b-9683-8813ab36cecc | | User.EnableDisableAccount.All | Alto | 3011c876-62b7-4ada-afa2-506cbbecc68c | | DelegatedPermissionGrant.ReadWrite.All | Alto | 8e8e4742-1d95-4f68-9d56-6ee75648c72a | | Policy.ReadWrite.ConditionalAccess | Alto | 01c0a623-fc9b-48e9-b794-0756f8e8f067 | | DeviceManagementConfiguration.ReadWrite.All | Alto | 9241abd9-d0e6-425a-bd4f-47ba86e767a4 | | DeviceManagementRBAC.ReadWrite.All | Alto | e330c4f0-4170-414e-a55a-2f022ec2b57b | | Directory.ReadWrite.All | Alto | 19dbc75e-c2e2-444c-a770-ec69d8559fc7 | | Group.ReadWrite.All | Alto | 62a82d76-70ea-41e2-9197-370581804d09 | | GroupMember.ReadWrite.All | Alto | dbaae8cf-10b5-4b86-a4a1-f871c94c6695 | | UserAuthenticationMethod.ReadWrite.All | Alto | 50483e42-d915-4231-9639-7fdb7fd190e5 | | User-PasswordProfile.ReadWrite.All | Alto | cc117bb9-00cf-4eb8-b580-ea2a878fe8f7 | | Sites.FullControl.All | Alto | a82116e5-55eb-4c41-a434-62fe8a61c773 | | Sites.FullControl.All SharePointAPI | Alto | 678536fe-1083-478a-9c59-b99265e6b0d3 | | Sites.Manage.All SharePointAPI | Alto | 9bff6588-13f2-4c48-bbf2-ddab62256b36 | | Sites.Read.All SharePointAPI | Alto | d13f72ca-a275-4b96-b789-48ebcc4da984 | | Sites.ReadWrite.All SharePointAPI | Alto | fbcd29d2-fcca-4405-aded-518d457caae4 | | Sites.Manage.All | Alto | 0c0bf378-bf22-4481-8f81-9e89a9b4960a | | Sites.Read.All | Alto | 332a536c-c7ef-4017-ab91-336970924f0d | | Sites.ReadWrite.All | Alto | 9492366f-7969-46a4-8d15-ed1a20078fff | | Files.Read.All | Alto | 01d4889c-1287-42c6-ac1f-5d1e02578ef6 | | Files.ReadWrite.All | Alto | 75359482-378d-4052-8f01-80520e7db3cd | | DeviceLocalCredential.Read.All | Alto | db51be59-e728-414b-b800-e0f010df1a79 | | AdministrativeUnit.ReadWrite.All | Alto | 5eb59dd3-1da2-4329-8733-9dabdc435916 | | UserAuthMethod-HardwareOATH.ReadWrite.All | Alto | 7e9ebcc1-90aa-4471-8051-e68d6b4e9c89 | | UserAuthMethod-Phone.ReadWrite.All | Alto | 6e85d483-7092-4375-babe-0a94a8213a58 | | UserAuthMethod-QR.ReadWrite.All | Alto | 4869299f-18c3-40c8-98f2-222657e67db1 | | UserAuthMethod-TAP.ReadWrite.All | Alto | 627169a8-8c15-451c-861a-5b80e383de5c | | User.ReadWrite.All | Médio | 741f803b-c850-494e-b5df-cde7c675a1ca | | Application.ReadWrite.OwnedBy | Médio | 18a4783c-866b-4cc7-a460-3d5e5662c884 | | Chat.Read.All | Médio | 6b7d71aa-70aa-4810-a8d9-5d9fb2830017 | | Chat.ReadWrite.All | Médio | 294ce7c9-31ba-490a-ad7d-97a7d075e4ed | | Calendars.Read | Médio | 798ee544-9d2d-430c-a058-570e29e34338 | | Calendars.ReadWrite | Médio | ef54d2bf-783f-4e0f-bca1-3210c0444d99 | | Mail.Read | Médio | 810c84a8-4a9e-49e6-bf7d-12d183f40d01 | | Mail.ReadWrite | Médio | e2a3a72e-5f79-4c64-b1b1-878b674786c9 | | BitlockerKey.Read.All | Médio | 57f1cf28-c0c4-4ec3-9a30-19a2eaaf2f6e | | Mail.Send | Médio | b633e1c5-b582-4048-a93e-9f11b44c7e96 | | OnlineMeetings.ReadWrite.All | Médio | b8bb2037-6e08-44ac-a4ea-4674e010e2a4 | | CustomSecAttributeAssignment.ReadWrite.All | Médio | de89b5e4-5b8f-48eb-8925-29c2b33bd8bd | | ServicePrincipalEndpoint.ReadWrite.All | Médio | 89c8469c-83ad-45f7-8ff2-6e3d4285709e | | AgentIdUser.ReadWrite.IdentityParentedBy | Médio | 4aa6e624-eee0-40ab-bdd8-f9639038a614 | | AgentIdentity.CreateAsManager | Baixo | 4c390976-b2b7-42e0-9187-c6be3bead001 |Permissão Delegada
| Permission | Severity | GUID |
|---|---|---|
| RoleManagement.ReadWrite.Directory | Perigoso | d01b97e9-cbc0-49fe-810a-750afd5527a3 |
| AppRoleAssignment.ReadWrite.All | Perigoso | 84bccea3-f856-4a8a-967b-dbe0a3d53a64 |
| Application.ReadWrite.All | Perigoso | bdfbf15f-ee85-4955-8675-146e8e5296b5 |
| RoleAssignmentSchedule.ReadWrite.Directory | Perigoso | 8c026be3-8e26-4774-9372-8d5d6f21daff |
| PrivilegedAssignmentSchedule.ReadWrite.AzureADGroup | Perigoso | 06dbc45d-6708-4ef0-a797-f797ee68bf4b |
| PrivilegedAccess.ReadWrite.AzureADGroup | Perigoso | 32531c59-1f32-461f-b8df-6f8a3b89f73b |
| RoleEligibilitySchedule.ReadWrite.Directory | Perigoso | 62ade113-f8e0-4bf9-a6ba-5acb31db32fd |
| PrivilegedEligibilitySchedule.ReadWrite.AzureADGroup | Perigoso | ba974594-d163-484e-ba39-c330d5897667 |
| Domain.ReadWrite.All | Perigoso | 0b5d694c-a244-4bde-86e6-eb5cd07730fe |
| Application.ReadUpdate.All | Perigoso | 0586a906-4d89-4de8-b3c8-1aacdcc0c679 |
| AgentIdentityBlueprint.AddRemoveCreds.All | Alto | 75b5feb2-bfe7-423f-907d-cc505186f246 |
| AgentIdentityBlueprint.ReadWrite.All | Alto | 4fd490fc-1467-48eb-8a4c-421597ab0402 |
| EntitlementManagement.ReadWrite.All | Alto | ae7a573d-81d7-432b-ad44-4ed5c9d89038 |
| Organization.ReadWrite.All | Alto | 46ca0847-7e6b-426e-9775-ea810a948356 |
| Policy.ReadWrite.PermissionGrant | Alto | 2672f8bb-fd5e-42e0-85e1-ec764dd2614e |
| RoleManagementPolicy.ReadWrite.AzureADGroup | Alto | 0da165c7-3f15-4236-b733-c0b0f6abe41d |
| RoleManagementPolicy.ReadWrite.Directory | Alto | 1ff1be21-34eb-448c-9ac9-ce1f506b2a68 |
| Policy.ReadWrite.AuthenticationMethod | Alto | 7e823077-d88e-468f-a337-e18f1f0e6c7c |
| User.DeleteRestore.All | Alto | 4bb440cd-2cf2-4f90-8004-aa2acd2537c5 |
| User.EnableDisableAccount.All | Alto | f92e74e7-2563-467f-9dd0-902688cb5863 |
| DelegatedPermissionGrant.ReadWrite.All | Alto | 41ce6ca6-6826-4807-84f1-1c82854f7ee5 |
| Policy.ReadWrite.ConditionalAccess | Alto | ad902697-1014-4ef5-81ef-2b4301988e8c |
| DeviceManagementConfiguration.ReadWrite.All | Alto | 0883f392-0a7a-443d-8c76-16a6d39c7b63 |
| DeviceManagementRBAC.ReadWrite.All | Alto | 0c5e8a55-87a6-4556-93ab-adc52c4d862d |
| Directory.ReadWrite.All | Alto | c5366453-9fb0-48a5-a156-24f0c49a4b84 |
| Group.ReadWrite.All | Alto | 4e46008b-f24c-477d-8fff-7bb4ec7aafe0 |
| GroupMember.ReadWrite.All | Alto | f81125ac-d3b7-4573-a3b2-7099cc39df9e |
| UserAuthenticationMethod.ReadWrite.All | Alto | b7887744-6746-4312-813d-72daeaee7e2d |
| Sites.FullControl.All | Alto | 5a54b8b3-347c-476d-8f8e-42d5c7424d29 |
| Sites.Manage.All | Alto | 65e50fdc-43b7-4915-933e-e8138f11f40a |
| User-PasswordProfile.ReadWrite.All | Alto | 56760768-b641-451f-8906-e1b8ab31bca7 |
| Sites.Read.All | Alto | 205e70e5-aba6-4c52-a976-6d2d46c48043 |
| Sites.ReadWrite.All | Alto | 89fe6a52-be36-487e-b7d8-d061c450a026 |
| Files.Read.All | Alto | df85f4d6-205c-4ac5-a5ea-6bf408dba283 |
| Files.ReadWrite.All | Alto | 863451e7-0667-486c-a5d6-d135439485f0 |
| DeviceLocalCredential.Read.All | Alto | 9917900e-410b-4d15-846e-42a357488545 |
| UserAuthMethod-Phone.ReadWrite | Alto | 6c4aad61-f76b-46ad-a22c-57d4d3d962af |
| UserAuthMethod-Phone.ReadWrite.All | Alto | 48c99302-9a24-4f27-a8a7-acef4debba14 |
| UserAuthMethod-Password.ReadWrite.All | Alto | 7f5b683d-df96-4690-a88d-6e336ed6dc7c |
| UserAuthMethod-Password.ReadWrite | Alto | 60cce20d-d41e-4594-b391-84bbf8cc31f3 |
| AdministrativeUnit.ReadWrite.All | Alto | 7b8a2d34-6b3f-4542-a343-54651608ad81 |
| User.ReadWrite.All | Médio | 204e0828-b5ca-4ad8-b9f3-f32a958e7cc4 |
| Chat.ReadWrite.All | Médio | 7e9a077b-3711-42b9-b7cb-5fa5f3f7fea7 |
| Mail.Read | Médio | 570282fd-fa5c-430d-a7fd-fc8dc98a9dca |
| Mail.ReadWrite | Médio | 024d486e-b451-40bb-833d-3e66d98c5c73 |
| Mail.Send | Médio | e383f46e-2787-4529-855e-0e479a3ffac0 |
| CustomSecAttributeAssignment.ReadWrite.All | Médio | ca46335e-8453-47cd-a001-8459884efeae |
| ServicePrincipalEndpoint.ReadWrite.All | Médio | 7297d82c-9546-4aed-91df-3d4f0a9b3ff0 |
| BitlockerKey.Read.All | Médio | b27a61ec-b99c-4d6a-b126-c4375d08ae30 |
| AiEnterpriseInteraction.Read | Médio | 859cceb9-2ec2-4e48-bcd7-b8490b5248a5 |
| Calendars.Read | Médio | 465a38f9-76ea-45b9-9f34-9e8b0d4b0b42 |
| Calendars.Read.Shared | Médio | 2b9c4092-424d-4249-948d-b43879977640 |
| Calendars.ReadWrite | Médio | 1ec239c2-d7c9-4623-a91a-a9775856bb36 |
| Calendars.ReadWrite.Shared | Médio | 12466101-c9b8-439a-8589-dd09ee67e8e9 |
| ChannelMessage.Edit | Médio | 2b61aa8a-6d36-4b2f-ac7b-f29867937c53 |
| ChannelMessage.ReadWrite | Médio | 5922d31f-46c8-4404-9eaf-2117e390a8a4 |
| ChannelMessage.Send | Médio | ebf0f66e-9fb1-49e4-a278-222f76911cf4 |
| ChatMessage.Send | Médio | 116b7235-7cc6-461e-b163-8e55691d839e |
| Chat.ReadWrite | Médio | 9ff7295e-131b-4d94-90e1-69fde507ac11 |
| Contacts.ReadWrite | Médio | d56682ec-c09e-4743-aaf4-1a3aac4caa21 |
| Directory.AccessAsUser.All | Médio | 0e263e50-5827-48a4-b97c-d940288653c7 |
| Directory.Read.All | Médio | 06da0dbc-49e2-44d2-8312-53f166ab848a |
| EAS.AccessAsUser.All | Médio | ff91d191-45a0-43fd-b837-bd682c4a0b0f |
| EntitlementMgmt-SubjectAccess.ReadWrite | Médio | e9fdcbbb-8807-410f-b9ec-8d5468c7c2ac |
| EWS.AccessAsUser.All | Médio | 9769c687-087d-48ac-9cb3-c37dde652038 |
| Files.ReadWrite | Médio | 5c28f0bf-8a70-41f1-8ab2-9032436ddb65 |
| IMAP.AccessAsUser.All | Médio | 652390e4-393a-48de-9484-05f9b1212954 |
| MailboxItem.ImportExport | Médio | df96e8a0-f4e1-4ecf-8d83-a429f822cbd6 |
| MailboxFolder.Read | Médio | 52dc2051-4958-4636-8f2a-281d39c6981c |
| MailboxFolder.ReadWrite | Médio | 077fde41-7e0b-4c5b-bcd1-e9d743a30c80 |
| MailboxItem.Read | Médio | 82305458-296d-4edd-8b0b-74dd74c34526 |
| MailboxSettings.ReadWrite | Médio | 818c620a-27a9-40bd-a6a5-d96f7d610b4b |
| Notes.Read | Médio | 371361e4-b9e2-4a3f-8315-2a301a3b0a3d |
| Notes.Read.All | Médio | dfabfca6-ee36-4db2-8208-7a28381419b3 |
| Notes.ReadWrite | Médio | 615e26af-c38a-4150-ae3e-c3b0d4cb1d6a |
| Notes.ReadWrite.All | Médio | 64ac0503-b4fa-45d9-b544-71a463f05da0 |
| POP.AccessAsUser.All | Médio | d7b7f2d9-0f45-4ea1-9d42-e50810c06991 |
| offline_access | Baixo | 7427e0e9-2fba-42fe-b0c0-848c9e6a8182 |
| openid | Baixo | 37f7f235-527c-4136-accd-4a02d197296e |
| Baixo | 64a6cdd6-aab1-4aaf-94b8-3cc8405e90d0 | |
| profile | Baixo | 14dad69e-099b-42c9-810b-d002981feec1 |
| User.Read | Baixo | e1fe6dd8-ba31-4d61-89e7-88639da4683d |
Aplicações Empresariais Microsoft de Primeira Parte
Por predefinição, as aplicações Microsoft são filtradas para simplificar a revisão das Aplicações Empresariais. Utilize o parâmetro -IncludeMsApps para as incluir. As aplicações dos seguintes inquilinos são tratadas como propriedade da Microsoft:
- f8cdef31-a31e-4b4a-93e4-5f571e91255a
- 72f988bf-86f1-41af-91ab-2d7cd011db47
- 33e01921-4d64-4f8c-a055-5bdaffd5e33d
- cdc5aeea-15c5-4db6-b079-fcadd2505dc2
Verificações Realizadas
A tabela seguinte resume aproximadamente as verificações realizadas, juntamente com o seu impacto na pontuação e se é apresentado um aviso.
Verificações Realizadas
|Área|Verificação|Impacta a Pontuação|Aviso Exibido| |-|-|-|-| |Grupos|É um grupo M365 público|Sim|Sim| |Grupos|É dinâmico / É dinâmico e consulta potencialmente perigosa|Sim|Sim| |Grupos|Funções do Entra (Ativas e Elegíveis)|Sim|Sim| |Grupos|Funções do Azure (Ativas e Elegíveis)|Sim|Sim| |Grupos|Usado para AppRole|Sim|Sim| |Grupos|SP interno/estrangeiro como Proprietário|Sim|Sim| |Grupos|Em AU restrito|Sim|Sim| |Grupos|Aninhado em grupo privilegiado|Sim|Sim| |Grupos|Usado em CAP|Sim|Sim| |Grupos|Tipo de Grupo|Sim|Não| |Grupos|Segurança Habilitada|Sim|Não| |Grupos|Membro Aninhado Ativo|Sim|Não| |Grupos|Proprietários|Sim|Não| |Grupos|Proprietários Aninhados|Sim|Não| |Grupos|Convidado como Proprietário|Sim|Sim| |Grupos|Sincronização On-Prem|Sim|Não| |Grupos|Membros (transitivos)|Sim|Não| |Grupos|Atribuível a Função|Sim|Não| |Grupos|PIM para Grupos: Integrado|Não|Não| |Grupos|PIM para Grupos: Membro elegível de grupo privilegiado|Sim|Sim| |Grupos|PIM para Grupos: Proprietário elegível de grupo privilegiado|Sim|Sim| |Grupos|PIM para Grupos: Grupo desprotegido aninhado em grupo protegido|Não|Sim| |EnterpriseApp|Função do Entra|Sim|Sim| |EnterpriseApp|Função do Azure|Sim|Sim| |EnterpriseApp|Estrangeiro|Sim|Não| |EnterpriseApp|Desabilitado pela Microsoft|Não|Sim| |EnterpriseApp|Nome suspeito (caracteres semelhantes)|Sim|Sim| |EnterpriseApp|Permissão de API (Aplicação)|Sim|Sim| |EnterpriseApp|Permissão de API (Delegada)|Sim|Sim| |EnterpriseApp|Credenciais|Sim|Sim| |EnterpriseApp|Proprietários|Sim|Sim| |EnterpriseApp|Propriedade sobre Registros de Aplicativos|Sim|Sim| |EnterpriseApp|Propriedade de outros Service Principals|Sim|Sim| |EnterpriseApp|AppLock|(Sim)|Não| |EnterpriseApp|App possui AppRegistration|Sim|Sim| |EnterpriseApp|Membro / proprietário de grupos|Sim|(Sim)| |EnterpriseApp|AppRoles|Sim|Não| |EnterpriseApp|Requisitos de AppRole|Sim|Não| |EnterpriseApp|Inativo|Não|Não| |EnterpriseApp|Último login bem-sucedido (dias)|Não|Não| |AppRegistrations|Credenciais|Sim|Sim| |AppRegistrations|App do Entra Connect com credenciais|Sim|Sim| |AppRegistrations|App do Entra Connect com múltiplos certificados|Sim|Sim| |AppRegistrations|AppRoles|Sim|Não| |AppRegistrations|AppRedirectURL|Não|Não| |AppRegistrations|AppLock|Sim|Não| |AppRegistrations|Proprietários|Sim|Sim| |AppRegistrations|(Cloud) App Admins com escopo|Não|Não| |AppRegistrations|Privilégios do SP correspondente|Sim|Não| |AppRegistrations|Público de login|Não|Não| |ManagedIdentity|Proprietários|Sim|Sim| |ManagedIdentity|Função do Entra|Sim|Sim| |ManagedIdentity|Função do Azure|Sim|Sim| |ManagedIdentity|API (App)|Sim|Sim| |ManagedIdentity|Propriedade sobre Registros de Aplicativos|Sim|Sim| |ManagedIdentity|Propriedade de outros Service Principals|Sim|Sim| |ManagedIdentity|Membro / proprietário de grupos|Sim|(Sim)| |Usuário|Funções do Entra (Ativas e Elegíveis)|Sim|Sim| |Usuário|Funções do Azure (Ativas e Elegíveis)|Sim|Sim| |Usuário|Associação a grupo privilegiado (Ativa e Elegível)|Sim|Sim| |Usuário|Propriedade de grupo privilegiado (Ativa e Elegível)|Sim|Sim| |Usuário|Usuário sincronizado do Entra Connect|Sim|Sim| |Usuário|Usuário sincronizado do Entra Connect Cloud Sync|Sim|Sim| |Usuário|Propriedade de AppRegistration|Sim|Sim| |Usuário|Propriedade de EnterpriseApplication|Sim|Sim| |Usuário|Nenhum fator MFA registrado|Sim|Sim| |Usuário|É protegido|Sim|Não| |Usuário|Inativo|Não|Não| |Usuário|Membro / proprietário de grupos|Sim|(Sim)| |Usuário|Sincronizado do on-prem|Sim|Não| |AgentIdentity|Usuários de Agente Vinculados|Sim|Não| |AgentIdentity|Origem de principal de blueprint estrangeiro|Sim|Sim| |AgentIdentity|Permissão de API Efetiva (Aplicação)|Sim|Sim| |AgentIdentity|Permissão de API Efetiva (Delegada)|Sim|Sim| |AgentIdentity|Função do Entra|Sim|Sim| |AgentIdentity|Função do Azure|Sim|Sim| |AgentIdentity|Propriedade sobre Registros de Aplicativos|Sim|Sim| |AgentIdentity|Propriedade de outros Service Principals|Sim|Sim| |AgentIdentity|Membro / proprietário de grupos|Sim|(Sim)| |AgentIdentityBlueprintPrincipal|Identidades de Agente Vinculadas|Sim|Não| |AgentIdentityBlueprintPrincipal|Usuários de Agente Vinculados|Sim|Não| |AgentIdentityBlueprintPrincipal|Permissão de API Configurada (Aplicação)|Não|Não| |AgentIdentityBlueprintPrincipal|Permissão de API Configurada (Delegada)|Não|Não| |AgentIdentityBlueprintPrincipal|Origem de blueprint pai estrangeiro|Sim|Não| |AgentIdentityBlueprintPrincipal|Função do Entra|Não|Não| |AgentIdentityBlueprintPrincipal|Função do Azure|Não|Não| |AgentIdentityBlueprintPrincipal|Nome suspeito (caracteres semelhantes)|Sim|Sim| |AgentIdentityBlueprint|Principais do blueprint|Sim|Não| |AgentIdentityBlueprint|Identidades de Agente Vinculadas|Sim|Não| |AgentIdentityBlueprint|Usuários de Agente Vinculados|Sim|Não| |AgentIdentityBlueprint|Permissões de API herdáveis|Sim|Não| |AgentIdentityBlueprint|Credenciais federadas|Sim|Não| |AgentIdentityBlueprint|Segredos / certificados|Sim|Sim| |AgentIdentityBlueprint|Proprietários / patrocinadores|Sim|(Sim)| |AccessPackages|Funções do Entra concedidas|Sim|Não| |AccessPackages|Funções do Azure concedidas|Sim|Não| |AccessPackages|Grupos concedidos|Sim|Não| |AccessPackages|Funções de aplicativo concedidas|Sim|Não| |AccessPackages|Permissões de API concedidas (Aplicação)|Sim|Não| |AccessPackages|Permissões de API concedidas (Delegada)|Sim|Não| |AccessPackages|Acesso ao SharePoint concedido|Sim|Não| |AccessPackages|Auto-solicitação ampla sem aprovação|Sim|Sim| |AccessPackages|Acesso persistente sem expiração ou revisão de acesso|Não|Não| |AccessPackages|Regras de atribuição automática perigosas|Sim|Sim| |AccessPackages|Auto-solicitação por meio de alvos de grupo desprotegidos|Sim|Sim| |AccessPackages|Atribuição ampla em nome de não-usuário sem aprovação|Sim|Não| |AccessPackages|Atribuições de service principal|Sim|Não| |Catálogos|Metadados do catálogo, estado e visibilidade externa|Não|Não| |Catálogos|Recursos do catálogo|Não|Não| |Catálogos|Recursos configuráveis em novos Access Packages|Sim|Não| |Catálogos|Recursos e funções configurados em Access Packages existentes|Sim|Não| |Catálogos|Recursos de catálogo não configurados|Sim|Não| |Catálogos|Atribuições de RBAC do catálogo|Sim|Sim| |CAP|Nenhuma política ou política mal configurada para autenticação legada|-|Sim| |CAP|Nenhuma política ou política mal configurada para bloquear fluxo de código de dispositivo|-|Sim| |CAP|Nenhuma política ou política mal configurada para limitar registros de informações de segurança|-|Sim| |CAP|Nenhuma política ou política mal configurada para direcionar logins arriscados|-|Sim| |CAP|Nenhuma política ou política mal configurada para direcionar risco de usuário|-|Sim| |CAP|Nenhuma política ou política mal configurada que imponha MFA|-|Sim| |CAP|Nenhuma política que imponha Força de Autenticação|-|Sim| |CAP|Inclusão de funções que possuem atribuições com escopo|-|Sim| |PIMSettings|AuthContext|-|Sim| |PIMSettings|CAP vinculado ao AuthContext: Frequência de Login|-|Sim| |PIMSettings|CAP vinculado ao AuthContext: MFA ou AuthStrength|-|Sim| |PIMSettings|CAP vinculado ao AuthContext: Habilitado|-|Sim| |PIMSettings|CAP vinculado ao AuthContext: Usuários/grupos/redes incluídos/excluídos|-|Sim| |PIMSettings|CAP vinculado ao AuthContext: Condições|-|Sim| |PIMSettings|MFA de Ativação|-|Não| |PIMSettings|Justificativa ou ticket de ativação|-|Sim| |PIMSettings|Duração da ativação|-|Sim| |PIMSettings|Aprovação de ativação|-|Sim| |PIMSettings|Expiração de atribuição elegível|-|Não| |PIMSettings|Expiração de atribuição ativa|-|Sim| |PIMSettings|MFA de atribuições ativas|-|Não| |PIMSettings|Notificação de ativação de função|-|Não| |PIMSettings|Notificação de atribuição de função (ativa)|-|Não| |PIMSettings|Notificação de atribuição de função (elegível)|-|Não|🛡️ Detecção
O EntraFalcon não é furtivo e pode ser detectado em ambientes onde a API do Microsoft Graph e a atividade de login do Azure são registradas e monitoradas.
Autenticação Padrão Utilizada
Quando uma enumeração completa é realizada com fluxos não-BroCi, a ferramenta normalmente inicia quatro logins interativos e um login não interativo. Dependendo do fluxo e do suporte do endpoint, um login interativo adicional pode ocorrer para endpoints de política de Security Findings.
| ID do Aplicativo | Tipo | ID do Recurso | Finalidade |
|---|---|---|---|
| 1b730954-1685-4b74-9bfd-dac224a7b894 | Interativo | 00000003-0000-0000-c000-000000000000 | Recuperar dados do PIM para Grupos |
| 04b07795-8ddb-461a-bbee-02f9e1bf7b46 | Interativo | 00000003-0000-0000-c000-000000000000 | Recuperar dados gerais de objetos do locatário |
| 51f81489-12ee-4a9e-aaae-a2591f45987d | Interativo | 00000003-0000-0000-c000-000000000000 | Recuperar PIM para funções do Entra / Azure |
| 80ccca67-54bd-44ab-8625-4b79c4dc7775 | Interativo | 00000003-0000-0000-c000-000000000000 | Recuperar contexto de política de Security Findings |
| 04b07795-8ddb-461a-bbee-02f9e1bf7b46 | Não Interativo | 797f4846-ba00-4fd7-ba43-dac1f8f63013 | Recuperar dados de atribuição de função IAM do Azure |
Autenticação BroCi Utilizada
Quando a autenticação BroCi é usada, apenas um login interativo ocorre.
| ID do Aplicativo | Tipo | ID do Recurso | Finalidade |
|---|---|---|---|
| c44b4083-3bb0-49c1-b47d-974e53cbdf3c | Interativo | 00000003-0000-0000-c000-000000000000 | Autenticação inicial para usar o token de atualização para BroCi |
| 50aaa389-5a33-4f1a-91d7-2c45ecd8dac8 | Não Interativo | 00000003-0000-0000-c000-000000000000 | Recuperar dados do PIM para Grupos |
| 50aaa389-5a33-4f1a-91d7-2c45ecd8dac8 | Não Interativo | 01fc33a7-78ba-4d2f-a4b7-768e336e890e | Recuperar dados do PIM para Grupos |
| 74658136-14ec-4630-ad9b-26e160ff0fc6 | Não Interativo | 00000003-0000-0000-c000-000000000000 | Recuperar dados gerais de objetos do locatário |
| 74658136-14ec-4630-ad9b-26e160ff0fc6 | Não Interativo | 797f4846-ba00-4fd7-ba43-dac1f8f63013 | Recuperar dados de atribuição de função IAM do Azure |
Quando o BroCi está habilitado, o EntraFalcon também consulta api.azrbac.mspim.azure.com para PIM para Grupos.
Detalhes
Para a coleta de dados, a ferramenta envia múltiplas solicitações à API do Microsoft Graph e, opcionalmente, à API ARM do Azure—uma ou mais por objeto. Quando possível, ela aproveita o endpoint de Lote do Graph para reduzir o número de solicitações individuais e melhorar a eficiência.
Logins interativos usam o User-Agent do navegador. Todos os logins não interativos e solicitações de API (Graph e ARM) usam EntraFalcon como User-Agent, a menos que alterado com o parâmetro -UserAgent.
Para detectar o uso do EntraFalcon, as equipes de blue team podem monitorar os IDs de aplicativo listados nos logs de login, procurar volumes incomuns de tráfego da API do Graph ou analisar o comportamento de atualização de token e solicitações em lote.
🕳️ Limitações Conhecidas
- RBAC do M365: Não avaliado
- RBAC do Defender for Endpoint: Não avaliado
- Cobertura de usuários do Conditional Access: A cobertura efetiva de usuários e
-ExportCapUncoveredUserssão cálculos de melhor esforço baseados em usuários enumerados, membros de grupos, atribuições de funções e categorias de usuários externos resolvíveis. Seletores de usuários externos são resolvidos apenas para usuários convidados do locatário que correspondem ab2bCollaborationGuest. Outros tipos de usuários externos ou usuários externos com locatários externos especificados podem tornar os valores de cobertura aproximados. Caminhos elegíveis do PIM são relatados como cobertura potencial e não são contados como atualmente cobertos. A exportação CSV é limitada a políticas habilitadas e usuários habilitados. - Ambiente de Nuvem: As plataformas de nuvem evoluem rapidamente. Como resultado, algumas avaliações ou detecções podem se tornar desatualizadas ou imprecisas ao longo do tempo. Além disso, os locatários estão se tornando cada vez mais complexos, e configurações específicas ou combinações de configurações podem levar a resultados imprecisos. Embora nos esforcemos para manter o EntraFalcon atualizado, é sempre recomendado validar os achados de forma independente e não confiar apenas na ferramenta para decisões críticas.
- Relatórios HTML: Os relatórios HTML gerados não implementam mecanismos de proteção contra cross-site scripting (XSS).
📦 Ferramentas Externas Integradas
Os seguintes submódulos foram bifurcados e integrados ao EntraFalcon para suportar autenticação, interação com o Microsoft Graph e gráficos de relatórios: