
EntraFalcon V20260824
Una herramienta ligera de PowerShell para evaluar la postura de seguridad de entornos de Microsoft Entra ID. Ayuda a identificar objetos privilegiados, asignaciones arriesgadas y posibles configuraciones incorrectas.
EntraFalcon

EntraFalcon es una herramienta de evaluación basada en PowerShell para pentesters, analistas de seguridad y administradores de sistemas, diseñada para evaluar la postura de seguridad de un entorno de Microsoft Entra ID.
Pensada para ser fácil de usar, EntraFalcon funciona con PowerShell 5.1 y 7, es compatible tanto con Windows como con Linux, y no requiere módulos adicionales de PowerShell, instalaciones extra ni consentimiento de Microsoft Graph API.
La herramienta ayuda a descubrir objetos privilegiados, asignaciones potencialmente riesgosas y configuraciones incorrectas de Conditional Access que a menudo se pasan por alto, como:
- Usuarios con control sobre grupos o aplicaciones de alto privilegio
- Aplicaciones empresariales externas o internas con permisos excesivos (por ejemplo, Microsoft Graph API, roles de Azure)
- Usuarios con asignaciones de roles de Azure IAM directamente sobre recursos
- Cuentas privilegiadas sincronizadas desde on-premises
- Usuarios inactivos o usuarios sin capacidad de MFA
- Grupos desprotegidos utilizados en asignaciones sensibles (por ejemplo, exclusiones de Conditional Access, Subscription Owner o miembros elegibles de un grupo privilegiado)
Los hallazgos se presentan en informes HTML interactivos para facilitar una exploración y análisis eficientes.
🚀 Características
- Script de PowerShell simple compatible con PowerShell 5.1 y 7. Funciona en Windows y Linux
- Autenticación integrada que admite múltiples métodos
- Utiliza aplicaciones de Microsoft de primera parte con ámbitos pre-consentidos para evitar las solicitudes de consentimiento de Graph API
- Genera informes HTML navegables que admiten filtrado, ordenación, exportación de datos, etc.
- Realiza más de 90 comprobaciones automatizadas y resume los resultados en un Informe de Hallazgos de Seguridad
- Incluye comprobaciones de configuraciones débiles del tenant y propiedades o permisos de objetos riesgosos
- Proporciona clasificaciones de severidad, así como descripciones del problema, amenazas potenciales y orientación de remediación
- Enumera los objetos afectados y enlaza directamente a sus informes detallados para una investigación adicional
- Realiza una puntuación básica de impacto, probabilidad y riesgo para resaltar objetos de alto privilegio débilmente protegidos y ordenar los datos.
- Muestra advertencias para configuraciones riesgosas y privilegios elevados
- Enumera objetos de Entra ID, incluyendo:
- Usuarios (incluidos Agent Users)
- Grupos
- Aplicaciones empresariales
- Registros de aplicaciones
- Identidades administradas
- Identidades de agentes
- Principales de blueprint de identidades de agentes
- Blueprints de identidades de agentes
- Asignaciones de PIM:
- PIM para Entra Roles
- PIM para Grupos
- PIM para Azure Roles
- Asignaciones de Entra Role
- Asignaciones de Azure Role
- Asignaciones de RBAC de Intune
- Paquetes de acceso
- Catálogos de Entitlement Management
- RBAC de catálogo
- Políticas de Conditional Access
- Unidades administrativas
- Configuraciones de PIM:
- PIM para Entra Roles
- PIM para Grupos (solo autenticación BroCi)
✅ Requisitos
| Tipo | Permiso | Obligatorio | Impacto si falta |
|---|---|---|---|
| Entra ID Role | Global Reader | Sí | No es posible ejecutar los scripts |
| Azure Role | Reader: En cada Management Group o Subscription | No | No se pueden evaluar las asignaciones de Azure IAM |
Además, debes poder autenticarte en Microsoft Graph API y, opcionalmente, en la API de Azure ARM desde el dispositivo donde ejecutas la herramienta. Asegúrate de que las políticas de Conditional Access no bloqueen tu autenticación.
▶️ Uso
Descargar EntraFalcon
Para comenzar, clona el repositorio y navega al directorio del proyecto:```powershell git clone https://github.com/CompassSecurity/EntraFalcon cd EntraFalcon
Nota: Es posible que necesites cambiar temporalmente la política de ejecución de PowerShell para ejecutar el script.
¡Hazlo solo con scripts de confianza!```
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
Ejecutar EntraFalcon
EntraFalcon incluye soporte integrado para la autenticación de Entra ID. Use -AuthFlow para seleccionar el flujo de autenticación.
Para evaluaciones normales, use uno de los flujos de cobertura completa:
| Flujo recomendado | Mejor para | Plataforma | Cobertura |
|---|---|---|---|
BroCi (predeterminado) | Ejecuciones interactivas en Windows | Windows | Completa |
BroCiManualCode | Autenticación en otro navegador | Windows, Linux, macOS | Completa |
BroCiToken | Token de actualización existente de Azure Portal | Windows, Linux, macOS | Completa |
ServicePrincipal | Automatización / CI | Windows, Linux, macOS | Completa |
BroCi usa un único inicio de sesión interactivo. BroCiToken y ServicePrincipal no usan ninguno. Los flujos de usuario alternativos pueden requerir varios inicios de sesión interactivos porque se solicitan tokens de recursos separados.
Flujos de autenticación alternativos
Debido a la falta de aplicaciones de primera parte con consentimiento previo, los flujos alternativos no pueden realizar la enumeración completa (PIM for Groups, Access Packages, Catalogs). Por lo tanto, actualmente siguen siendo solo opciones alternativas.
| Flujo | Usar solo cuando | Plataforma | Limitaciones |
|---|---|---|---|
AuthCode | Se requiere compatibilidad heredada | Windows | Cobertura parcial. Sin informe independiente de PIM for Groups, Access Packages o Catalogs. |
DeviceCode | La autenticación basada en navegador no es posible | Windows, Linux, macOS | Cobertura parcial. Sin informe independiente de PIM for Groups, Access Packages o Catalogs. Algunas comprobaciones de Security Findings se ejecutan con menor profundidad. |
ManualCode | La autenticación debe completarse mediante una sesión de navegador separada | Windows, Linux, macOS | Cobertura parcial. Sin informe independiente de PIM for Groups, Access Packages o Catalogs. |
Recomendado: Flujo BroCi (predeterminado / solo Windows)
BroCi usa aplicaciones de primera parte alternativas y requiere solo un inicio de sesión interactivo.
Es útil cuando el cliente Azure Active Directory PowerShell requiere asignación y debe evitarse.```powershell
.\run_EntraFalcon.ps1
Selección explícita de BroCi:```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCi
Recomendado: BroCi + Flujo de Código Manual```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCiManualCode
1. El script copia la URL de autenticación al portapapeles.
2. Pega la URL en un navegador (opcionalmente en otro dispositivo para soporte SSO).
3. Abre las herramientas de desarrollador del navegador y, en la pestaña Red, habilita `Preserve log`.
4. Completa la autenticación.
5. Busca en el registro de red `code=1.` y copia la URL de la solicitud que contiene el código al portapapeles.
6. Presiona Enter para continuar; el script lee el código del portapapeles y completa la obtención del token.
#### Recomendado: BroCi con Token
Si ya se dispone de un token de actualización válido de Azure Portal (cliente c44b4083-3bb0-49c1-b47d-974e53cbdf3c), se puede usar directamente.
Ejemplo: Obtención del token de actualización desde el navegador
1. Abre las herramientas de desarrollador del navegador y, en la pestaña Red, habilita Preserve log.
2. Autentícate en https://entra.microsoft.com.
3. Busca en el registro de red `brk_client_id=c44b4083-3bb0-49c1-b47d-974e53cbdf3c` y extrae el token de actualización de la respuesta.```powershell
.\run_EntraFalcon.ps1 -AuthFlow BroCiToken -BroCiToken "1.XXXXXXXXXXX"
Recomendado: Service Principal
Autentica como una aplicación registrada mediante la concesión de credenciales de cliente OAuth2 — no se requiere interacción del usuario.
Útil para ejecuciones automatizadas repetidas.
Requiere un registro de aplicación personalizado en Entra con permisos de Graph API de tipo Application (ver más abajo).
Con secreto de cliente:```powershell .\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "" -SPClientSecret ""
**Con certificado PFX:**```powershell
.\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "<AppId>" -SPCertificatePath "C:\certs\app.pfx"
Para un PFX protegido con contraseña, añade -SPCertificatePassword (Read-Host -Prompt "Certificate password" -AsSecureString).
Con certificado PEM + clave privada (solo PowerShell 7+):```powershell .\run_EntraFalcon.ps1 -AuthFlow ServicePrincipal -Tenant "mysecuretenant.ch" -SPClientId "" -SPCertificatePemPath "C:\certs\cert.pem" -SPPrivateKeyPemPath "C:\certs\key.pem"
Para una clave privada cifrada, añade `-SPPrivateKeyPemPassword (Read-Host -Prompt "Private key password" -AsSecureString)`.
##### Permisos requeridos del registro de la aplicación
Concede los siguientes permisos de **Aplicación** (no Delegados) en el registro de la aplicación y admin-consiente:
| Permiso | Tipo |
|---|---|
| `AdministrativeUnit.Read.All` | Application |
| `AgentIdentity.Read.All` | Application |
| `AgentIdentityBlueprint.Read.All` | Application |
| `AgentIdentityBlueprintPrincipal.Read.All` | Application |
| `Application.Read.All` | Application |
| `AuditLog.Read.All` | Application |
| `Device.Read.All` | Application |
| `EntitlementManagement.Read.All` | Application |
| `Group.Read.All` | Application |
| `Organization.Read.All` | Application |
| `Policy.Read.All` | Application |
| `PrivilegedAccess.Read.AzureADGroup` | Application |
| `RoleManagement.Read.Directory` | Application |
| `RoleManagementPolicy.Read.AzureADGroup` | Application |
| `User.Read.All` | Application |
| `DeviceManagementRBAC.Read.All` | Application |
Además, asigna el rol **Azure Reader** en el grupo de administración raíz (o en cada suscripción relevante) y, opcionalmente, el rol **Global Reader** a la entidad de servicio en Entra ID (requerido para el estado MFA por usuario).
#### Alternativa: Flujo de código de autorización (solo Windows)```powershell
.\run_EntraFalcon.ps1 -AuthFlow AuthCode
Fallback: Flujo de Código de Dispositivo
A menudo está restringido por el Acceso Condicional en entornos endurecidos.
Con DeviceCode, dos comprobaciones de Hallazgos de Seguridad se ejecutan con profundidad reducida (CAP-004 y CAP-005).```powershell
.\run_EntraFalcon.ps1 -AuthFlow DeviceCode
#### Fallback: flujo de código de autenticación + código manual```powershell
.\run_EntraFalcon.ps1 -AuthFlow ManualCode
- El script copia la URL de autenticación al portapapeles.
- Pega la URL en un navegador (opcionalmente en otro dispositivo para soporte SSO).
- Completa la autenticación.
- Copia la URL de redirección final desde la barra de direcciones del navegador (que contiene el código de autorización) al portapapeles.
- Presiona Enter para continuar; el script lee el código desde el portapapeles y completa la obtención del token.
Otros Parámetros
Incluir Aplicaciones Empresariales de Microsoft
De forma predeterminada, las aplicaciones empresariales oficiales de Microsoft se excluyen de la evaluación para reducir el ruido. Para incluirlas en la enumeración y el análisis, usa el modificador -IncludeMsApps:```powershell
.\run_EntraFalcon.ps1 -IncludeMsApps
#### Omitir evaluación de PIM para Grupos
Use el modificador `-SkipPimForGroups` para omitir la recopilación previa y el enriquecimiento de PIM para Grupos.
Esto también omite el informe independiente de configuración de `PIM para Grupos`.```powershell
.\run_EntraFalcon.ps1 -SkipPimForGroups
Otros Parámetros Opcionales
| Parámetro | Descripción | Valor Predeterminado |
|---|---|---|
| UserAgent | Agente de usuario utilizado para las solicitudes al endpoint de token y las llamadas a la API. | EntraFalcon |
| DisableCAE | Desactiva la solicitud de tokens de Evaluación de Acceso Continuo (CAE). | false |
| Tenant | Especifica el inquilino (ID o dominio) contra el que autenticarse. Útil al evaluar un inquilino distinto del inquilino principal de la cuenta. | Inquilino principal de la cuenta |
| OutputFolder | Carpeta de salida donde se almacenan los informes. | Results_%TenantName%_YYYYMMDD_HHMM |
| LimitResults | Limita el número de grupos y usuarios en el informe (después de ordenar por riesgo). Útil para inquilinos grandes. | - |
| LogLevel | Controla el nivel de detalle del registro CLI en tiempo de ejecución. Valores admitidos: Off (predeterminado), Verbose, Debug, Trace. | Off |
| ApiTop | Establece el número máximo de objetos devueltos por la API. Valores más bajos reducen el riesgo de tiempo de espera (HTTP 504), pero aumentan el número de solicitudes. | 999 (Rango válido: 5–999) |
| AuthFlow | Selector de flujo de autenticación preferido. Valores: BroCi (predeterminado), AuthCode, DeviceCode, ManualCode, BroCiManualCode, BroCiToken, ServicePrincipal. | BroCi |
| BroCiToken | Token de actualización del Portal de Azure para AuthFlow BroCiToken. | - |
| SPClientId | ID de aplicación (cliente) de la entidad de servicio. Requerido para -AuthFlow ServicePrincipal. | - |
| SPClientSecret | Secreto de cliente para la entidad de servicio. Se usa con -AuthFlow ServicePrincipal. | - |
| SPCertificatePath | Ruta a un archivo de certificado PFX/P12 para la autenticación de la entidad de servicio. | - |
| SPCertificatePassword | Contraseña (SecureString) para el certificado PFX especificado por -SPCertificatePath. | - |
| SPCertificatePemPath | Ruta a un archivo de certificado PEM. Se usa junto con -SPPrivateKeyPemPath. | - |
| SPPrivateKeyPemPath | Ruta al archivo de clave privada PEM que coincide con -SPCertificatePemPath. | - |
| SPPrivateKeyPemPassword | Contraseña (SecureString) para la clave privada PEM especificada por -SPPrivateKeyPemPath. | - |
| Csv | Habilita la escritura de archivos de informe CSV además de los archivos de informe TXT/HTML. | false |
| ExportCapUncoveredUsers | Para cada política de Acceso Condicional habilitada con destino a usuarios, exporta un CSV que lista los usuarios no cubiertos por esa política. Los archivos se escriben en una subcarpeta ConditionalAccessPolicies_UncoveredUsers en el directorio de salida. | false |
| ExportFindingsJson | Exporta todos los Hallazgos de Seguridad como JSON al final de la ejecución. | false |
| ExportDataJson | Exporta el informe enriquecido y los conjuntos de datos de soporte como archivos JSON sin procesar en Data_Json; los metadatos de la ejecución están disponibles en Summary.json. | false |
| DebugObjectDump | Exporta los objetos de informe finales en memoria como CLIXML a Debug_ObjectDump para solución de problemas y pruebas. | false |
📊 Algunos Ejemplos de Informes
Informe de Hallazgos de Seguridad

Usuarios

Usuarios (Sección de Detalles)

Roles de Entra ID

Roles de Azure

Aplicación Empresarial (Sección de Detalles)

Políticas de Acceso Condicional

Políticas de Acceso Condicional (Sección de Detalles)

Configuración de Roles de PIM (Entra)

Identidades de Agente

Resumen de Enumeración

📑 Informe HTML
General
- Haga clic en el botón ⚙️ Columnas para mostrar u ocultar columnas específicas.
- Haga clic en 💾 Exportar para descargar CSV/JSON o copiar CSV/TSV/JSON de los datos actualmente visibles.
- Haga clic en 👁 Compartir Vista para copiar filtros, ordenación y selección de columnas como un enlace compartible.
- Haga clic en 🧰 Vistas Predefinidas para aplicar filtros y selecciones de columnas preconfigurados.
- Haga clic en 🔄 Restablecer Vista para restablecer la vista a la predeterminada.
- Haga clic en los nombres de los objetos para saltar a la información detallada, incluso en otros informes.
- Al usar la navegación interna, presione el botón de retroceso del navegador para volver.
- Algunos encabezados de campos de tabla muestran texto de ayuda al pasar el mouse.
- Ordene los datos haciendo clic en un encabezado de tabla.
- Alt+clic en un encabezado de columna principal de la tabla para ocultar rápidamente esa columna.
- Alt+clic en una fila de contenido de la tabla principal para ocultarla temporalmente. Use el chip de filas ocultas o Restablecer Vista para mostrar las filas ocultas nuevamente.
Filtrado
- Si no se especifica un operador, el filtrado se establece por defecto en contiene.
- Use
=para una coincidencia exacta. - Use
^para comienza con (p. ej.,^Mallory). - Use
$para termina con (p. ej.,$domain.ch). - Se admiten operadores de comparación como
>,<,>=,<=(solo valores numéricos). - Los filtros se pueden negar comenzando con
!(excepto para comparaciones numéricas). Ejemplos:!Mallory,!=Mallory,!^Malloryo!$domain.ch. - Use
=emptypara coincidir con celdas vacías, o!=emptypara coincidir con celdas no vacías. - Use
||para coincidir con cualquiera de varios valores en la misma columna (p. ej.,Admin || Guest). - Use
&¶ requerir múltiples coincidencias en la misma columna (p. ej.,!adm && !svc && !sql). - Para aplicar lógica OR entre columnas, use
or_,group1_,group2_... directamente en un campo de filtro. Ejemplos: en la columna 1:or_>1, en la columna 2:or_!Mallory - Nota: La columna DisplayName también incluye el ID del objeto (invisible), por lo que también es posible filtrar por ID.
Controles mediante Parámetros GET
- Filtrado: Aplique filtros usando los nombres de los campos como parámetros HTTP GET, p. ej.,
?EntraRoles=>1&Enabled=true.
Para aplicar lógica OR entre columnas, use el prefijoor_ogroup1_(p. ej.,?or_EntraRoles=>0&or_GrpMem=>0). - Selección de Columnas: Elija qué columnas mostrar usando el parámetro
columns. Ejemplo:?columns=DisplayName,Owner. - Ordenación: Ordene los datos usando los parámetros
sortysortDir. Ejemplo:?sort=Impact&sortDir=desco?sort=OwnerCount&sortDir=asc. - Detalles del Objeto: Salte directamente a un objeto específico en el informe usando un ancla (
#) y el ID del objeto, p. ej.,#%ObjectID%.
Clasificación
- Impacto: Representa la cantidad o severidad de los permisos que tiene el objeto.
- Probabilidad: Representa qué tan fácilmente puede ser influenciado el objeto o qué tan bien está protegido.
- Riesgo: Puntaje calculado: Impacto × Probabilidad = Riesgo.
- Importante:
- Esta puntuación está pensada como una evaluación básica para ayudar a ordenar y priorizar las entradas en la tabla.
- Los puntajes de riesgo no son directamente comparables entre diferentes tipos de objetos o informes.
- No está destinada a reemplazar una evaluación de riesgo completa.
🔧Bajo el Capó
Categorización de Roles
Los roles de Entra ID y Azure se categorizan aproximadamente en diferentes niveles de nivel. Esta categorización influye en los puntajes de impacto de los objetos asignados a esos roles. El objetivo es asignar un puntaje de impacto más alto a los usuarios con roles más potentes (p. ej., Administrador Global) en comparación con los usuarios con roles menos críticos (p. ej., Lector Global), incluso si ambos son considerados roles privilegiados por Microsoft.
Nota: Para los roles de Azure, esta categorización es menos precisa, ya que el impacto real depende en gran medida del alcance de la asignación del rol. Por ejemplo, un rol de Propietario en una sola máquina virtual tiene significativamente menos impacto que cuando el mismo rol se aplica a una suscripción completa. También podría ser una suscripción de prueba sin recursos en absoluto.
Roles de Entra ID
| Nombre del Rol | Nivel | GUID |
|---|---|---|
| Administrador Global | 0 | 62e90394-69f5-4237-9190-012177145e10 |
| Soporte Nivel 2 de Partner | 0 | e00e864a-17c5-4a4b-9c06-f5b95a8d5bd8 |
| Administrador de Autenticación Privilegiada | 0 | 7be44c8a-adaf-4e2a-84d6-ab2649e08a13 |
| Administrador de Roles Privilegiados | 0 | e8611ab8-c189-46e8-94e1-60213ab1f814 |
| Administrador de Nombres de Dominio | 0 | 8329153b-31d0-4727-b945-745eb3bc5f31 |
| Administrador de Proveedor de Identidad Externo | 0 | be2f45a1-457d-42af-a067-6ec1fa63bc45 |
| Administrador de Identidad Híbrida | 0 | 8ac3fc64-6eca-42ea-9e69-59f4c7b60eb2 |
| Administrador de Aplicaciones | 0 | 9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3 |
| Administrador de Aplicaciones en la Nube | 0 | 158c047a-c907-4556-b7ef-446551a6b5f7 |
| Administrador de Seguridad | 0 | 194ae4cb-b126-40b2-bd5b-6091b380977d |
| Administrador de ID de Agente | 1 | db506228-d27e-4b7d-95e5-295956d6615f |
| Administrador de IA | 1 | d2562ede-74db-457e-a7b6-544e236ebb61 |
| Administrador de Acceso Condicional | 1 | b1be1c3e-b65d-4f19-8427-f6fa0d97feb9 |
| Administrador de Autenticación | 1 | c4e39bd9-1100-46d3-8c65-fb160da0071f |
| Administrador de Azure DevOps | 1 | e3973bdf-4987-49ae-837a-ba8e231c7286 |
| Escritores de Directorio | 1 | 9360feb5-f418-4baa-8175-e2a00bac4301 |
| Respondedor de Identidad SOC de Entra | 1 | 58f930cc-fcf4-4152-852c-1d7dbf502139 |
| Administrador de 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 Gobernanza de Identidad | 1 | 45d8d3c5-c802-45c6-b32a-1d70b5e1e86e |
| Administrador de Intune | 1 | 3a2c62db-5318-420d-8d74-23affee5d9d5 |
| Administrador de Conocimiento | 1 | b5a8dcf3-09d5-43a9-a639-8e29ef291470 |
| Administrador de Conocimiento | 1 | 744ec460-397e-42ad-a462-8b3f9747a02c |
| Administrador de Flujos de Trabajo de Ciclo de Vida | 1 | 59d46f88-662b-457b-bceb-5c3809e5908f |
| Cuentas de Sincronización de Directorio | 1 | d29b2b05-8046-44ba-8758-1e26182fcf32 |
| Cuenta de Sincronización de Directorio Local | 1 | a92aed5d-d78a-4d16-b381-09adb37eb3b0 |
| Soporte Nivel 1 de Partner | 1 | 4ba39ca4-527c-499a-b93d-d9b492c50246 |
| Administrador de Contraseñas | 1 | 966707d0-3269-4727-9be2-8c3a10f19b9d |
| Administrador de SharePoint | 1 | f28a1f50-f6e7-4571-818b-6a12f2af6b6c |
| Administrador de Teams | 1 | 69091246-20e8-4a56-aa4d-066075b2a7a8 |
| Administrador de Usuarios | 1 | fe930be7-5e62-47db-91af-98c3a49a38b1 |
| Administrador de Windows 365 | 1 | 11451d60-acb2-45eb-a7d6-43d0f0125c13 |
| Administrador de Yammer | 1 | 810a2642-a034-447f-a5e8-41beaa378541 |
| Administrador de Políticas de Autenticación | 2 | 0526716b-113d-4c15-b2c8-68e3c22b9f80 |
| Administrador Local de Dispositivos Unido a Azure AD | 2 | 9f06204d-73c1-4d4c-880a-6edb90606fd8 |
| Administrador de Dispositivos en la Nube | 2 | 7698a772-787b-4ac8-901f-60d6b08affd2 |
| Lector Global | 2 | f2ef992c-3afb-46b9-b7cf-a126ee74c451 |
| Invitador de Invitados | 2 | 95e79109-95c0-4d8e-aee3-d01accf2d47b |
| Lector de Seguridad | 2 | 5d6b6bb7-de71-4623-b4af-96380a352509 |
| Lectores de Directorio | 2 | 88d8e3e3-8f55-4a1e-953a-9b9898b8876b |
Roles de Azure
| Nombre del Rol | Nivel | GUID |
|---|---|---|
| Propietario | 0 | 8e3af657-a8ff-443c-a75c-2fe8c4bcb635 |
| Administrador de Acceso de Usuario | 0 | 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9 |
| Colaborador | 0 | b24988ac-6180-42a0-ab88-20f7382dd24c |
| Administrador de Control de Acceso Basado en Roles | 0 | f58310d9-a9f6-439a-9e8d-f62e7b41a168 |
| Administrador de Reservas | 0 | a8889054-8d42-49c9-bc1c-52486c10e7cd |
| Administrador de Seguridad | 1 | fb1c8493-542b-48eb-b624-b4c8fea62acd |
| Colaborador de Máquina Virtual | 1 | 9980e02c-c2be-4d73-94e8-173b1dc7cf3c |
| Administrador de Acceso a Datos de Máquina Virtual | 1 | 66f75aeb-eabe-4b70-9f1e-c350c4c9ad04 |
| Inicio de Sesión de Administrador de Máquina Virtual | 1 | 1c0163c0-47e6-4577-8991-ea5c82e286e4 |
| Inicio de Sesión de Administrador de Windows Admin Center | 1 | a6333a3e-0164-44c3-b281-7a577aff287f |
| Colaborador de Registro de Contenedores y Administrador de Configuración de Acceso a Datos | 1 | 3bc748fc-213d-45c1-8d91-9da5725539b9 |
| Administrador de Key Vault | 1 | 00482a5a-887f-4fb3-b363-3b7fe8e74483 |
| Administrador de Acceso a Datos de Key Vault | 1 | 8b54135c-b56d-4d72-a534-26097cfdc8d8 |
| Oficial de Secretos de Key Vault | 1 | b86a8fe4-44ce-4948-aee5-eccb2c155cd7 |
| Usuario de Secretos de Key Vault | 1 | 4633458b-17de-408a-b874-0445c86b69e6 |
| Administrador RBAC de Azure Kubernetes Service | 1 | 3498e952-d568-435e-9b2c-8d77e338d7f7 |
| Administrador de Clúster RBAC de Azure Kubernetes Service | 1 | b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b |
| Administrador de Azure Arc Kubernetes | 1 | dffb1e0c-446f-4dde-a09f-99eb5cc68b96 |
| Administrador de Clúster de Azure Arc Kubernetes | 1 | 8393591c-06b9-48a2-a542-1bd6b377f6a2 |
| Colaborador de VM de Azure Arc VMware | 1 | b748a06d-6150-4f8a-aaa9-ce3940cd96cb |
| Colaborador de Cuenta de Almacenamiento | 1 | 17d1049b-9a84-46fb-8f53-869881c3d3ab |
| Lector | 2 | acdd72a7-3385-48ef-bd42-f606fba81ae7 |
| Lector de Seguridad | 2 | 39bc4728-0917-49c7-9d2c-d95423bc2eb4 |
| Inicio de Sesión de Usuario de Máquina Virtual | 3 | fb879df8-f326-4884-b1cf-06f3ad86be52 |
| Usuario de Virtualización de Escritorio | 3 | 1d18fff3-a72a-46b5-b4a9-0b38a3cd7e63 |
Categorización de Permisos de API
Ciertos permisos de API permiten que una aplicación escale directamente a privilegios de Administrador Global. Por lo tanto, varios permisos de API se categorizan en diferentes niveles de severidad. Esta categorización influye en el puntaje de impacto de las aplicaciones que tienen estos permisos asignados — ya sea como permisos de aplicación o permisos delegados para usuarios.
Permiso de Aplicación
| Permission | Severity | GUID | |-------------------------------------------------------------|------------|----------------------------------------| | RoleManagement.ReadWrite.Directory | Peligroso | 9e3f62cf-ca93-4989-b6ce-bf83c28f9fe8 | | AppRoleAssignment.ReadWrite.All | Peligroso | 06b708a9-e830-4db3-a914-8e69da51d44f | | Application.ReadWrite.All | Peligroso | 1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9 | | RoleAssignmentSchedule.ReadWrite.Directory | Peligroso | dd199f4a-f148-40a4-a2ec-f0069cc799ec | | PrivilegedAssignmentSchedule.ReadWrite.AzureADGroup | Peligroso | 41202f2c-f7ab-45be-b001-85c9728b9d69 | | PrivilegedAccess.ReadWrite.AzureADGroup | Peligroso | 2f6817f8-7b12-4f0f-bc18-eeaf60705a9e | | RoleEligibilitySchedule.ReadWrite.Directory | Peligroso | fee28b28-e1f3-4841-818e-2704dc62245f | | PrivilegedEligibilitySchedule.ReadWrite.AzureADGroup | Peligroso | 618b6020-bca8-4de6-99f6-ef445fa4d857 | | Domain.ReadWrite.All | Peligroso | 7e05723c-0bb0-42da-be95-ae9f08a6e53c | | Application.ReadUpdate.All | Peligroso | 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 | Medio | 741f803b-c850-494e-b5df-cde7c675a1ca | | Application.ReadWrite.OwnedBy | Medio | 18a4783c-866b-4cc7-a460-3d5e5662c884 | | Chat.Read.All | Medio | 6b7d71aa-70aa-4810-a8d9-5d9fb2830017 | | Chat.ReadWrite.All | Medio | 294ce7c9-31ba-490a-ad7d-97a7d075e4ed | | Calendars.Read | Medio | 798ee544-9d2d-430c-a058-570e29e34338 | | Calendars.ReadWrite | Medio | ef54d2bf-783f-4e0f-bca1-3210c0444d99 | | Mail.Read | Medio | 810c84a8-4a9e-49e6-bf7d-12d183f40d01 | | Mail.ReadWrite | Medio | e2a3a72e-5f79-4c64-b1b1-878b674786c9 | | BitlockerKey.Read.All | Medio | 57f1cf28-c0c4-4ec3-9a30-19a2eaaf2f6e | | Mail.Send | Medio | b633e1c5-b582-4048-a93e-9f11b44c7e96 | | OnlineMeetings.ReadWrite.All | Medio | b8bb2037-6e08-44ac-a4ea-4674e010e2a4 | | CustomSecAttributeAssignment.ReadWrite.All | Medio | de89b5e4-5b8f-48eb-8925-29c2b33bd8bd | | ServicePrincipalEndpoint.ReadWrite.All | Medio | 89c8469c-83ad-45f7-8ff2-6e3d4285709e | | AgentIdUser.ReadWrite.IdentityParentedBy | Medio | 4aa6e624-eee0-40ab-bdd8-f9639038a614 | | AgentIdentity.CreateAsManager | Bajo | 4c390976-b2b7-42e0-9187-c6be3bead001 |Permiso delegado
| Permission | Severity | GUID |
|---|---|---|
| RoleManagement.ReadWrite.Directory | Peligroso | d01b97e9-cbc0-49fe-810a-750afd5527a3 |
| AppRoleAssignment.ReadWrite.All | Peligroso | 84bccea3-f856-4a8a-967b-dbe0a3d53a64 |
| Application.ReadWrite.All | Peligroso | bdfbf15f-ee85-4955-8675-146e8e5296b5 |
| RoleAssignmentSchedule.ReadWrite.Directory | Peligroso | 8c026be3-8e26-4774-9372-8d5d6f21daff |
| PrivilegedAssignmentSchedule.ReadWrite.AzureADGroup | Peligroso | 06dbc45d-6708-4ef0-a797-f797ee68bf4b |
| PrivilegedAccess.ReadWrite.AzureADGroup | Peligroso | 32531c59-1f32-461f-b8df-6f8a3b89f73b |
| RoleEligibilitySchedule.ReadWrite.Directory | Peligroso | 62ade113-f8e0-4bf9-a6ba-5acb31db32fd |
| PrivilegedEligibilitySchedule.ReadWrite.AzureADGroup | Peligroso | ba974594-d163-484e-ba39-c330d5897667 |
| Domain.ReadWrite.All | Peligroso | 0b5d694c-a244-4bde-86e6-eb5cd07730fe |
| Application.ReadUpdate.All | Peligroso | 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 | Medio | 204e0828-b5ca-4ad8-b9f3-f32a958e7cc4 |
| Chat.ReadWrite.All | Medio | 7e9a077b-3711-42b9-b7cb-5fa5f3f7fea7 |
| Mail.Read | Medio | 570282fd-fa5c-430d-a7fd-fc8dc98a9dca |
| Mail.ReadWrite | Medio | 024d486e-b451-40bb-833d-3e66d98c5c73 |
| Mail.Send | Medio | e383f46e-2787-4529-855e-0e479a3ffac0 |
| CustomSecAttributeAssignment.ReadWrite.All | Medio | ca46335e-8453-47cd-a001-8459884efeae |
| ServicePrincipalEndpoint.ReadWrite.All | Medio | 7297d82c-9546-4aed-91df-3d4f0a9b3ff0 |
| BitlockerKey.Read.All | Medio | b27a61ec-b99c-4d6a-b126-c4375d08ae30 |
| AiEnterpriseInteraction.Read | Medio | 859cceb9-2ec2-4e48-bcd7-b8490b5248a5 |
| Calendars.Read | Medio | 465a38f9-76ea-45b9-9f34-9e8b0d4b0b42 |
| Calendars.Read.Shared | Medio | 2b9c4092-424d-4249-948d-b43879977640 |
| Calendars.ReadWrite | Medio | 1ec239c2-d7c9-4623-a91a-a9775856bb36 |
| Calendars.ReadWrite.Shared | Medio | 12466101-c9b8-439a-8589-dd09ee67e8e9 |
| ChannelMessage.Edit | Medio | 2b61aa8a-6d36-4b2f-ac7b-f29867937c53 |
| ChannelMessage.ReadWrite | Medio | 5922d31f-46c8-4404-9eaf-2117e390a8a4 |
| ChannelMessage.Send | Medio | ebf0f66e-9fb1-49e4-a278-222f76911cf4 |
| ChatMessage.Send | Medio | 116b7235-7cc6-461e-b163-8e55691d839e |
| Chat.ReadWrite | Medio | 9ff7295e-131b-4d94-90e1-69fde507ac11 |
| Contacts.ReadWrite | Medio | d56682ec-c09e-4743-aaf4-1a3aac4caa21 |
| Directory.AccessAsUser.All | Medio | 0e263e50-5827-48a4-b97c-d940288653c7 |
| Directory.Read.All | Medio | 06da0dbc-49e2-44d2-8312-53f166ab848a |
| EAS.AccessAsUser.All | Medio | ff91d191-45a0-43fd-b837-bd682c4a0b0f |
| EntitlementMgmt-SubjectAccess.ReadWrite | Medio | e9fdcbbb-8807-410f-b9ec-8d5468c7c2ac |
| EWS.AccessAsUser.All | Medio | 9769c687-087d-48ac-9cb3-c37dde652038 |
| Files.ReadWrite | Medio | 5c28f0bf-8a70-41f1-8ab2-9032436ddb65 |
| IMAP.AccessAsUser.All | Medio | 652390e4-393a-48de-9484-05f9b1212954 |
| MailboxItem.ImportExport | Medio | df96e8a0-f4e1-4ecf-8d83-a429f822cbd6 |
| MailboxFolder.Read | Medio | 52dc2051-4958-4636-8f2a-281d39c6981c |
| MailboxFolder.ReadWrite | Medio | 077fde41-7e0b-4c5b-bcd1-e9d743a30c80 |
| MailboxItem.Read | Medio | 82305458-296d-4edd-8b0b-74dd74c34526 |
| MailboxSettings.ReadWrite | Medio | 818c620a-27a9-40bd-a6a5-d96f7d610b4b |
| Notes.Read | Medio | 371361e4-b9e2-4a3f-8315-2a301a3b0a3d |
| Notes.Read.All | Medio | dfabfca6-ee36-4db2-8208-7a28381419b3 |
| Notes.ReadWrite | Medio | 615e26af-c38a-4150-ae3e-c3b0d4cb1d6a |
| Notes.ReadWrite.All | Medio | 64ac0503-b4fa-45d9-b544-71a463f05da0 |
| POP.AccessAsUser.All | Medio | d7b7f2d9-0f45-4ea1-9d42-e50810c06991 |
| offline_access | Bajo | 7427e0e9-2fba-42fe-b0c0-848c9e6a8182 |
| openid | Bajo | 37f7f235-527c-4136-accd-4a02d197296e |
| Bajo | 64a6cdd6-aab1-4aaf-94b8-3cc8405e90d0 | |
| profile | Bajo | 14dad69e-099b-42c9-810b-d002981feec1 |
| User.Read | Bajo | e1fe6dd8-ba31-4d61-89e7-88639da4683d |
Aplicaciones empresariales de Microsoft de primera parte
De forma predeterminada, las aplicaciones de Microsoft se filtran para simplificar la revisión de las aplicaciones empresariales. Use el modificador -IncludeMsApps para incluirlas. Las aplicaciones de los siguientes inquilinos se tratan como propiedad de Microsoft:
- f8cdef31-a31e-4b4a-93e4-5f571e91255a
- 72f988bf-86f1-41af-91ab-2d7cd011db47
- 33e01921-4d64-4f8c-a055-5bdaffd5e33d
- cdc5aeea-15c5-4db6-b079-fcadd2505dc2
Comprobaciones realizadas
La siguiente tabla resume de forma aproximada las comprobaciones realizadas, junto con su impacto en la puntuación y si se muestra una advertencia.
Comprobaciones realizadas
|Área|Comprobación|Impacta en la puntuación|Advertencia mostrada| |-|-|-|-| |Grupos|Es un grupo público de M365|Sí|Sí| |Grupos|Es dinámico / Es dinámico y consulta potencialmente peligrosa|Sí|Sí| |Grupos|Roles de Entra (Activos y Elegibles)|Sí|Sí| |Grupos|Roles de Azure (Activos y Elegibles)|Sí|Sí| |Grupos|Usado para AppRole|Sí|Sí| |Grupos|SP interno/externo como propietario|Sí|Sí| |Grupos|En AU restringido|Sí|Sí| |Grupos|Anidado en grupo privilegiado|Sí|Sí| |Grupos|Usado en CAP|Sí|Sí| |Grupos|Tipo de grupo|Sí|No| |Grupos|Seguridad habilitada|Sí|No| |Grupos|Miembro anidado activo|Sí|No| |Grupos|Propietarios|Sí|No| |Grupos|Propietarios anidados|Sí|No| |Grupos|Invitado como propietario|Sí|Sí| |Grupos|Sincronización local|Sí|No| |Grupos|Miembros (transitivos)|Sí|No| |Grupos|Asignable a roles|Sí|No| |Grupos|PIM para Grupos: Incorporado|No|No| |Grupos|PIM para Grupos: Miembro elegible de grupo privilegiado|Sí|Sí| |Grupos|PIM para Grupos: Propietario elegible de grupo privilegiado|Sí|Sí| |Grupos|PIM para Grupos: Grupo no protegido anidado en grupo protegido|No|Sí| |EnterpriseApp|Rol de Entra|Sí|Sí| |EnterpriseApp|Rol de Azure|Sí|Sí| |EnterpriseApp|Externo|Sí|No| |EnterpriseApp|Deshabilitado por Microsoft|No|Sí| |EnterpriseApp|Nombre sospechoso (caracteres similares)|Sí|Sí| |EnterpriseApp|Permiso de API (Aplicación)|Sí|Sí| |EnterpriseApp|Permiso de API (Delegado)|Sí|Sí| |EnterpriseApp|Credenciales|Sí|Sí| |EnterpriseApp|Propietarios|Sí|Sí| |EnterpriseApp|Propiedad sobre registros de aplicaciones|Sí|Sí| |EnterpriseApp|Propiedad de otras entidades de servicio|Sí|Sí| |EnterpriseApp|AppLock|(Sí)|No| |EnterpriseApp|La aplicación posee un AppRegistration|Sí|Sí| |EnterpriseApp|Miembro / propietario de grupos|Sí|(Sí)| |EnterpriseApp|AppRoles|Sí|No| |EnterpriseApp|Requisitos de AppRole|Sí|No| |EnterpriseApp|Inactiva|No|No| |EnterpriseApp|Último inicio de sesión correcto (días)|No|No| |AppRegistrations|Credenciales|Sí|Sí| |AppRegistrations|Aplicación de Entra Connect con credenciales|Sí|Sí| |AppRegistrations|Aplicación de Entra Connect con múltiples certificados|Sí|Sí| |AppRegistrations|AppRoles|Sí|No| |AppRegistrations|AppRedirectURL|No|No| |AppRegistrations|AppLock|Sí|No| |AppRegistrations|Propietarios|Sí|Sí| |AppRegistrations|Administradores de aplicaciones (nube) con ámbito|No|No| |AppRegistrations|Privilegios de la SP correspondiente|Sí|No| |AppRegistrations|Audiencia de inicio de sesión|No|No| |ManagedIdentity|Propietarios|Sí|Sí| |ManagedIdentity|Rol de Entra|Sí|Sí| |ManagedIdentity|Rol de Azure|Sí|Sí| |ManagedIdentity|API (App)|Sí|Sí| |ManagedIdentity|Propiedad sobre registros de aplicaciones|Sí|Sí| |ManagedIdentity|Propiedad de otras entidades de servicio|Sí|Sí| |ManagedIdentity|Miembro / propietario de grupos|Sí|(Sí)| |Usuario|Roles de Entra (Activos y Elegibles)|Sí|Sí| |Usuario|Roles de Azure (Activos y Elegibles)|Sí|Sí| |Usuario|Membresía de grupo privilegiado (Activa y Elegible)|Sí|Sí| |Usuario|Propiedad de grupo privilegiado (Activa y Elegible)|Sí|Sí| |Usuario|Usuario sincronizado con Entra Connect|Sí|Sí| |Usuario|Usuario sincronizado con Entra Connect Cloud Sync|Sí|Sí| |Usuario|Propiedad de AppRegistration|Sí|Sí| |Usuario|Propiedad de EnterpriseApplication|Sí|Sí| |Usuario|Sin factor MFA registrado|Sí|Sí| |Usuario|Está protegido|Sí|No| |Usuario|Inactivo|No|No| |Usuario|Miembro / propietario de grupos|Sí|(Sí)| |Usuario|Sincronizado desde local|Sí|No| |AgentIdentity|Usuarios de agente vinculados|Sí|No| |AgentIdentity|Origen de principal de blueprint externo|Sí|Sí| |AgentIdentity|Permiso de API efectivo (Aplicación)|Sí|Sí| |AgentIdentity|Permiso de API efectivo (Delegado)|Sí|Sí| |AgentIdentity|Rol de Entra|Sí|Sí| |AgentIdentity|Rol de Azure|Sí|Sí| |AgentIdentity|Propiedad sobre registros de aplicaciones|Sí|Sí| |AgentIdentity|Propiedad de otras entidades de servicio|Sí|Sí| |AgentIdentity|Miembro / propietario de grupos|Sí|(Sí)| |AgentIdentityBlueprintPrincipal|Identidades de agente vinculadas|Sí|No| |AgentIdentityBlueprintPrincipal|Usuarios de agente vinculados|Sí|No| |AgentIdentityBlueprintPrincipal|Permiso de API configurado (Aplicación)|No|No| |AgentIdentityBlueprintPrincipal|Permiso de API configurado (Delegado)|No|No| |AgentIdentityBlueprintPrincipal|Origen de blueprint principal externo|Sí|No| |AgentIdentityBlueprintPrincipal|Rol de Entra|No|No| |AgentIdentityBlueprintPrincipal|Rol de Azure|No|No| |AgentIdentityBlueprintPrincipal|Nombre sospechoso (caracteres similares)|Sí|Sí| |AgentIdentityBlueprint|Principales de blueprint|Sí|No| |AgentIdentityBlueprint|Identidades de agente vinculadas|Sí|No| |AgentIdentityBlueprint|Usuarios de agente vinculados|Sí|No| |AgentIdentityBlueprint|Permisos de API heredables|Sí|No| |AgentIdentityBlueprint|Credenciales federadas|Sí|No| |AgentIdentityBlueprint|Secretos / certificados|Sí|Sí| |AgentIdentityBlueprint|Propietarios / patrocinadores|Sí|(Sí)| |AccessPackages|Roles de Entra concedidos|Sí|No| |AccessPackages|Roles de Azure concedidos|Sí|No| |AccessPackages|Grupos concedidos|Sí|No| |AccessPackages|Roles de aplicación concedidos|Sí|No| |AccessPackages|Permisos de API concedidos (Aplicación)|Sí|No| |AccessPackages|Permisos de API concedidos (Delegado)|Sí|No| |AccessPackages|Acceso a SharePoint concedido|Sí|No| |AccessPackages|Autosolicitud amplia sin aprobación|Sí|Sí| |AccessPackages|Acceso persistente sin expiración ni revisión de acceso|No|No| |AccessPackages|Reglas de asignación automática peligrosas|Sí|Sí| |AccessPackages|Autosolicitud mediante objetivos de grupo no protegidos|Sí|Sí| |AccessPackages|Asignación amplia en nombre de no usuarios sin aprobación|Sí|No| |AccessPackages|Asignaciones de entidades de servicio|Sí|No| |Catálogos|Metadatos, estado y visibilidad externa del catálogo|No|No| |Catálogos|Recursos del catálogo|No|No| |Catálogos|Recursos configurables en nuevos Access Packages|Sí|No| |Catálogos|Recursos y roles configurados en Access Packages existentes|Sí|No| |Catálogos|Recursos de catálogo no configurados|Sí|No| |Catálogos|Asignaciones RBAC del catálogo|Sí|Sí| |CAP|Sin política o política mal configurada para autenticación heredada|-|Sí| |CAP|Sin política o política mal configurada para bloquear el flujo de código de dispositivo|-|Sí| |CAP|Sin política o política mal configurada para limitar los registros de información de seguridad|-|Sí| |CAP|Sin política o política mal configurada para dirigir inicios de sesión de riesgo|-|Sí| |CAP|Sin política o política mal configurada para dirigir riesgo de usuario|-|Sí| |CAP|Sin política o política mal configurada que exija MFA|-|Sí| |CAP|Sin política que exija Authentication Strength|-|Sí| |CAP|Inclusión de roles que tienen asignaciones con ámbito|-|Sí| |PIMSettings|AuthContext|-|Sí| |PIMSettings|CAP vinculado a AuthContext: Frecuencia de inicio de sesión|-|Sí| |PIMSettings|CAP vinculado a AuthContext: MFA o AuthStrength|-|Sí| |PIMSettings|CAP vinculado a AuthContext: Habilitado|-|Sí| |PIMSettings|CAP vinculado a AuthContext: Usuarios/grupos/redes incluidos/excluidos|-|Sí| |PIMSettings|CAP vinculado a AuthContext: Condiciones|-|Sí| |PIMSettings|MFA de activación|-|No| |PIMSettings|Justificación o ticket de activación|-|Sí| |PIMSettings|Duración de activación|-|Sí| |PIMSettings|Aprobación de activación|-|Sí| |PIMSettings|Expiración de asignación elegible|-|No| |PIMSettings|Expiración de asignación activa|-|Sí| |PIMSettings|MFA de asignaciones activas|-|No| |PIMSettings|Notificación de activación de rol|-|No| |PIMSettings|Notificación de asignación de rol (activa)|-|No| |PIMSettings|Notificación de asignación de rol (elegible)|-|No|🛡️ Detección
EntraFalcon no es sigiloso y puede ser detectado en entornos donde se registran y supervisan la actividad de Microsoft Graph API y los inicios de sesión de Azure.
Autenticación predeterminada utilizada
Cuando se realiza una enumeración completa con flujos no BroCi, la herramienta normalmente inicia cuatro inicios de sesión interactivos y uno no interactivo. Dependiendo del flujo y la compatibilidad del punto de conexión, puede ocurrir un inicio de sesión interactivo adicional para los puntos de conexión de políticas de Security Findings.
| ID de aplicación | Tipo | ID de recurso | Propósito |
|---|---|---|---|
| 1b730954-1685-4b74-9bfd-dac224a7b894 | Interactivo | 00000003-0000-0000-c000-000000000000 | Recuperar datos de PIM para Grupos |
| 04b07795-8ddb-461a-bbee-02f9e1bf7b46 | Interactivo | 00000003-0000-0000-c000-000000000000 | Recuperar datos generales de objetos del inquilino |
| 51f81489-12ee-4a9e-aaae-a2591f45987d | Interactivo | 00000003-0000-0000-c000-000000000000 | Recuperar PIM para roles de Entra / Azure |
| 80ccca67-54bd-44ab-8625-4b79c4dc7775 | Interactivo | 00000003-0000-0000-c000-000000000000 | Recuperar contexto de políticas de Security Findings |
| 04b07795-8ddb-461a-bbee-02f9e1bf7b46 | No interactivo | 797f4846-ba00-4fd7-ba43-dac1f8f63013 | Recuperar datos de asignaciones de roles IAM de Azure |
Autenticación BroCi utilizada
Cuando se utiliza la autenticación BroCi, solo ocurre un inicio de sesión interactivo.
| ID de aplicación | Tipo | ID de recurso | Propósito |
|---|---|---|---|
| c44b4083-3bb0-49c1-b47d-974e53cbdf3c | Interactivo | 00000003-0000-0000-c000-000000000000 | Autenticación inicial para usar el token de actualización para BroCi |
| 50aaa389-5a33-4f1a-91d7-2c45ecd8dac8 | No interactivo | 00000003-0000-0000-c000-000000000000 | Recuperar datos de PIM para Grupos |
| 50aaa389-5a33-4f1a-91d7-2c45ecd8dac8 | No interactivo | 01fc33a7-78ba-4d2f-a4b7-768e336e890e | Recuperar datos de PIM para Grupos |
| 74658136-14ec-4630-ad9b-26e160ff0fc6 | No interactivo | 00000003-0000-0000-c000-000000000000 | Recuperar datos generales de objetos del inquilino |
| 74658136-14ec-4630-ad9b-26e160ff0fc6 | No interactivo | 797f4846-ba00-4fd7-ba43-dac1f8f63013 | Recuperar datos de asignaciones de roles IAM de Azure |
Cuando BroCi está habilitado, EntraFalcon también consulta api.azrbac.mspim.azure.com para PIM para Grupos.
Detalles
Para la recopilación de datos, la herramienta envía múltiples solicitudes a Microsoft Graph API y, opcionalmente, a Azure ARM API—una o más por objeto. Cuando es posible, aprovecha el punto de conexión Graph Batch para reducir el número de solicitudes individuales y mejorar la eficiencia.
Los inicios de sesión interactivos utilizan el User-Agent del navegador. Todos los inicios de sesión no interactivos y las solicitudes de API (Graph y ARM) utilizan EntraFalcon como User-Agent, a menos que se cambie con el parámetro -UserAgent.
Para detectar el uso de EntraFalcon, los equipos azules pueden monitorear los ID de aplicación enumerados en los registros de inicio de sesión, buscar volúmenes inusuales de tráfico de Graph API, o analizar el comportamiento de actualización de tokens y solicitudes por lotes.
🕳️ Limitaciones conocidas
- RBAC de M365: No evaluado
- RBAC de Defender for Endpoint: No evaluado
- Cobertura de usuarios de Conditional Access: La cobertura efectiva de usuarios y
-ExportCapUncoveredUsersson cálculos de mejor esfuerzo basados en usuarios enumerados, miembros de grupos, asignaciones de roles y categorías de usuarios externos resolubles. Los selectores de usuarios externos solo se resuelven para usuarios invitados del inquilino que coinciden conb2bCollaborationGuest. Otros tipos de usuarios externos o usuarios externos con inquilinos externos especificados pueden hacer que los valores de cobertura sean aproximados. Las rutas elegibles de PIM se informan como cobertura potencial y no se cuentan como cubiertas actualmente. La exportación CSV se limita a políticas habilitadas y usuarios habilitados. - Entorno en la nube: Las plataformas en la nube evolucionan rápidamente. Como resultado, algunas evaluaciones o detecciones pueden volverse obsoletas o inexactas con el tiempo. Además, los inquilinos son cada vez más complejos, y configuraciones específicas o combinaciones de ajustes pueden llevar a resultados inexactos. Si bien nos esforzamos por mantener EntraFalcon actualizado, siempre se recomienda validar los hallazgos de forma independiente y no confiar únicamente en la herramienta para decisiones críticas.
- Informes HTML: Los informes HTML generados no implementan mecanismos de protección contra cross-site scripting (XSS).
📦 Herramientas externas integradas
Los siguientes submódulos han sido bifurcados e integrados en EntraFalcon para soportar la autenticación, la interacción con Microsoft Graph y los gráficos de informes: