
EvilMist es una colección de scripts y utilidades diseñados para apoyar las pruebas de penetración en la nube y el red teaming. El kit de herramientas ayuda a identificar configuraciones erróneas, evaluar rutas de escalada de privilegios y simular técnicas de ataque. EvilMist tiene como objetivo optimizar los flujos de trabajo de red team enfocados en la nube y mejorar la postura de seguridad general de las infraestructuras en la nube.
EvilMist es una colección de scripts y utilidades diseñados para apoyar la auditoría de configuración de seguridad en la nube, pruebas de penetración en la nube y red teaming en la nube. El kit de herramientas ayuda a identificar configuraciones incorrectas, evaluar rutas de escalado de privilegios y simular técnicas de ataque. EvilMist tiene como objetivo optimizar los flujos de trabajo de red team centrados en la nube y mejorar la postura de seguridad general de las infraestructuras en la nube.
Herramienta de enumeración y reconocimiento de Azure/Entra ID sin autenticación. Realiza enumeración pasiva/semipasiva utilizando APIs accesibles públicamente y consultas DNS sin requerir tokens de autenticación.
Características principales:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraEnum-PS1.md | scripts/powershell/Invoke-EntraEnum.ps1 |
Herramienta integral de enumeración de usuarios de Azure Entra ID (Azure AD) y evaluación de seguridad, disponible en versiones PowerShell y Python.
Características principales:
/users está bloqueado| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraRecon-PS1.md | scripts/powershell/Invoke-EntraRecon.ps1 |
| Python | EntraRecon-PY.md |
Herramienta de evaluación de seguridad enfocada para identificar usuarios de Azure Entra ID sin autenticación multifactor (MFA) habilitada. Incluye funciones avanzadas para detección de buzones compartidos y análisis de actividad de inicio de sesión.
Características principales:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraMFACheck-PS1.md | scripts/powershell/Invoke-EntraMFACheck.ps1 |
Herramienta integral de análisis de cuentas de invitado para identificar, analizar y evaluar la postura de seguridad de usuarios externos en Azure Entra ID. Esencial para la gobernanza del acceso de invitados y auditorías de seguridad.
Características principales:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraGuestCheck-PS1.md | scripts/powershell/Invoke-EntraGuestCheck.ps1 |
Herramienta integral de evaluación de seguridad para identificar usuarios de Azure Entra ID con acceso a 10 aplicaciones administrativas críticas, incluyendo herramientas de PowerShell, portales de administración, servicios principales de Microsoft 365 y gestión de identidades privilegiadas. Esencial para la gobernanza del acceso privilegiado y la auditoría de herramientas administrativas.
Características principales:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraAppAccess-PS1.md | scripts/powershell/Invoke-EntraAppAccess.ps1 |
Ejecute cualquier script desde el directorio raíz sin navegar a subcarpetas:```powershell
.\Invoke-EvilMist.ps1
.\Invoke-EvilMist.ps1 -Script EntraRecon -ExportPath "users.csv"
.\Invoke-EvilMist.ps1 -List
.\Invoke-EvilMist.ps1 -Script EntraMFACheck -Matrix -OnlyNoMFA
**Scripts disponibles:** EntraEnum, EntraRecon, EntraMFACheck, EntraGuestCheck, EntraAppAccess, EntraRoleCheck, EntraServicePrincipalCheck, EntraConditionalAccessCheck, EntraAdminUnitCheck, EntraStaleAccountCheck, EntraDeviceCheck, EntraSSPRCheck, EntraPasswordPolicyCheck, EntraLegacyAuthCheck, EntraLicenseCheck, EntraDirectorySyncCheck, EntraPowerPlatformCheck, EntraGroupCheck, EntraApplicationCheck, EntraAttackPathCheck, EntraAzureRBACCheck, EntraOAuthConsentCheck, EntraSignInRiskCheck, EntraPIMCheck, EntraKeyVaultCheck, EntraStorageAccountCheck, EntraNetworkSecurityCheck, EntraManagedIdentityCheck, EntraExchangeCheck, EntraSharePointCheck, EntraTeamsCheck, EntraAzureAttackPathCheck, EntraReport, EntraComplianceCheck, SharePointEnum
### Enumeración no autenticada de Entra ID (PowerShell)
**Requisitos:** PowerShell 7+ (no se necesitan módulos adicionales)```powershell
# Basic domain enumeration (TenantInfo, DomainRealm, DNS)
.\Invoke-EvilMist.ps1 -Script EntraEnum -Domain example.com
# Check if email exists
.\Invoke-EvilMist.ps1 -Script EntraEnum -Email [email protected] -UserEnum
# Bulk user enumeration from file
.\Invoke-EvilMist.ps1 -Script EntraEnum -EmailList users.txt -UserEnum -Throttle 1
# Full enumeration with export
.\Invoke-EvilMist.ps1 -Script EntraEnum -Domain example.com -All -ExportPath results.json
# Stealth mode
.\Invoke-EvilMist.ps1 -Script EntraEnum -Domain example.com -All -EnableStealth
📖 Documentación completa: EntraEnum-PS1.md
Requisitos: PowerShell 7+```powershell
.\Invoke-EvilMist.ps1 -Script EntraRecon
.\Invoke-EvilMist.ps1 -Script EntraRecon -UseAzCliToken
.\Invoke-EvilMist.ps1 -Script EntraRecon -ExportPath "users.csv"
.\Invoke-EvilMist.ps1 -Script EntraRecon -EnableStealth
📖 **Documentación completa:** [EntraRecon-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraRecon-PS1.md)
### Enumerate-EntraUsers (Python)
**Requisitos:** Python 3.8+, `msal`, `requests````bash
# Install dependencies
pip install -r requirements.txt
# Run directly from subfolder
python scripts\python\entra_recon.py
📖 Documentación completa: EntraRecon-PY.md
Requisitos: PowerShell 7+, módulos de Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraMFACheck
.\Invoke-EvilMist.ps1 -Script EntraMFACheck
.\Invoke-EvilMist.ps1 -Script EntraMFACheck -ExportPath "no-mfa-users.csv"
.\Invoke-EvilMist.ps1 -Script EntraMFACheck -Matrix -IncludeDisabledUsers
.\Invoke-EvilMist.ps1 -Script EntraMFACheck -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraMFACheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraMFACheck-PS1.md)
### Enumeración de cuentas invitadas (PowerShell)
**Requisitos:** PowerShell 7+, Microsoft.Graph modules```powershell
# Enumerate all guest accounts
.\Invoke-EvilMist.ps1 -Script EntraGuestCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraGuestCheck -ExportPath "guest-accounts.csv"
# Show only guests without MFA in matrix view
.\Invoke-EvilMist.ps1 -Script EntraGuestCheck -Matrix -OnlyNoMFA
# Include disabled guests with stealth mode
.\Invoke-EvilMist.ps1 -Script EntraGuestCheck -IncludeDisabledGuests -EnableStealth -QuietStealth
📖 Documentación completa: EntraGuestCheck-PS1.md
Requisitos: PowerShell 7+, Microsoft.Graph modules```powershell
.\Invoke-EvilMist.ps1 -Script EntraAppAccess
.\Invoke-EvilMist.ps1 -Script EntraAppAccess -ExportPath "app-access.csv"
.\Invoke-EvilMist.ps1 -Script EntraAppAccess -Matrix -OnlyNoMFA
.\Invoke-EvilMist.ps1 -Script EntraAppAccess -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraAppAccess-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraAppAccess-PS1.md)
### Verificación de roles privilegiados (PowerShell)
**Requisitos:** PowerShell 7+, Microsoft.Graph modules```powershell
# Check users with privileged directory roles
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck -ExportPath "privileged-roles.csv"
# Show only users without MFA in matrix view
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck -Matrix -OnlyNoMFA
# Show only permanent (non-PIM) assignments
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck -OnlyPermanent -ExportPath "permanent-admins.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraRoleCheck -EnableStealth -QuietStealth
📖 Documentación completa: EntraRoleCheck-PS1.md
Requisitos: PowerShell 7+, módulos Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -ExportPath "service-principals.csv"
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -Matrix -OnlyExpiredCredentials
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -OnlyHighPermission -ExportPath "high-perm-sp.csv"
.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraServicePrincipalCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraServicePrincipalCheck-PS1.md)
**Características principales:**
- **Cobertura integral de roles** - Enumera todos los roles de directorio, incluidos los roles de riesgo CRÍTICO, ALTO, MEDIO y BAJO
- **Soporte para PIM** - Identifica asignaciones de roles tanto permanentes (Activo) como gestionadas por PIM (Elegible/Activo)
- **Seguimiento de asignaciones** - Muestra fechas de asignación, duración y fechas de vencimiento
- **Detección de estado de MFA** - Identifica usuarios privilegiados sin autenticación multifactor
- **Seguimiento del último inicio de sesión** - Muestra fecha/hora de inicio de sesión y patrones de actividad
- **Evaluación de riesgos** - Categoriza usuarios por nivel de riesgo según la criticidad del rol y la postura de seguridad
- **Analítica de actividad** - Estadísticas de inicio de sesión, cuentas obsoletas, usuarios inactivos
- **Vista matricial** - Formato de tabla compacto para un escaneo visual rápido
- **Opciones de filtrado** - Mostrar solo usuarios sin MFA, solo asignaciones permanentes, o incluir cuentas deshabilitadas
- **Opciones de exportación** - CSV/JSON con detalles completos de asignación de roles
- **Modo sigiloso** - Retrasos y fluctuaciones configurables para evitar la detección
| Versión | Documentación | Archivo |
|---------|---------------|------|
| PowerShell | [EntraServicePrincipalCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraServicePrincipalCheck-PS1.md) | `scripts/powershell/Invoke-EntraServicePrincipalCheck.ps1` |
---
### Verificación de seguridad del registro de aplicaciones (PowerShell)
**Requisitos:** PowerShell 7+, Microsoft.Graph modules```powershell
# Check all application registrations and analyze security posture
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -ExportPath "applications.csv"
# Show only applications with expired credentials in matrix view
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -Matrix -OnlyExpiredCredentials
# Show only high-permission applications
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -OnlyHighPermission -ExportPath "high-perm-apps.csv"
# Show only applications with credentials
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -OnlyWithCredentials -ExportPath "apps-with-creds.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraApplicationCheck -EnableStealth -QuietStealth
📖 Documentación completa: EntraApplicationCheck-PS1.md
Características clave:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraApplicationCheck-PS1.md | scripts/powershell/Invoke-EntraApplicationCheck.ps1 |
Requisitos: PowerShell 7+, Microsoft.Graph modules```powershell
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -ExportPath "ca-policies.csv"
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -Matrix -OnlyWithExclusions
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -OnlyMFAgaps -ExportPath "mfa-gaps.csv"
.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraConditionalAccessCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraConditionalAccessCheck-PS1.md)
### Verificación de Seguridad de Unidad Administrativa (PowerShell)
**Requisitos:** PowerShell 7+, Microsoft.Graph modules```powershell
# Analyze all Administrative Units and scoped role assignments
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck -ExportPath "admin-units.csv"
# Show only scoped administrators without MFA in matrix view
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck -Matrix -OnlyNoMFA
# Include disabled accounts
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck -IncludeDisabledUsers -ExportPath "all-admins.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraAdminUnitCheck -EnableStealth -QuietStealth
📖 Documentación completa: EntraAdminUnitCheck-PS1.md
Características clave:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraAdminUnitCheck-PS1.md | scripts/powershell/Invoke-EntraAdminUnitCheck.ps1 |
Requisitos: PowerShell 7+, módulos Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck
.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck -ExportPath "stale-accounts.csv"
.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck -IncludeDisabledUsers -Matrix
.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraStaleAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraStaleAccountCheck-PS1.md)
**Características principales:**
- **Detección de cuentas inactivas** - Identifica cuentas sin inicio de sesión reciente (>90 días)
- **Detección de cuentas nunca utilizadas** - Encuentra cuentas que nunca se han usado
- **Detección de desperdicio de licencias** - Identifica cuentas deshabilitadas que aún tienen licencias asignadas
- **Seguimiento de caducidad de contraseñas** - Detecta cuentas con contraseñas caducadas
- **Análisis de antigüedad de cuenta** - Calcula la antigüedad de la cuenta y la correlaciona con la inactividad
- **Evaluación de riesgos** - Categoriza cuentas por nivel de riesgo (CRÍTICO/ALTO/MEDIO/BAJO)
- **Analíticas de actividad** - Estadísticas de inicio de sesión, desgloses de cuentas inactivas
- **Vista de matriz** - Formato de tabla compacta para escaneo visual rápido
- **Opciones de filtrado** - Incluir o excluir cuentas deshabilitadas
- **Opciones de exportación** - CSV/JSON con detalles completos de la cuenta
- **Modo sigiloso** - Retrasos y fluctuación configurables para evitar la detección
| Versión | Documentación | Archivo |
|---------|---------------|--------|
| PowerShell | [EntraStaleAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraStaleAccountCheck-PS1.md) | `scripts/powershell/Invoke-EntraStaleAccountCheck.ps1` |
---
### Verificación de confianza y cumplimiento del dispositivo (PowerShell)
**Requisitos:** PowerShell 7+, módulos Microsoft.Graph```powershell
# Analyze all registered devices
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -ExportPath "devices.csv"
# Show only non-compliant devices in matrix view
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -Matrix -OnlyNonCompliant
# Show only BYOD devices
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -OnlyBYOD -ExportPath "byod-devices.csv"
# Show only devices with stale sign-ins
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -OnlyStale -ExportPath "stale-devices.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraDeviceCheck -EnableStealth -QuietStealth
📖 Documentación completa: EntraDeviceCheck-PS1.md
Características principales:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraDeviceCheck-PS1.md | scripts/powershell/Invoke-EntraDeviceCheck.ps1 |
Requisitos: PowerShell 7+, módulos Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -ExportPath "sspr-users.csv"
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -Matrix -OnlyNoBackup
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -IncludeDisabledUsers -ExportPath "all-sspr-users.csv"
.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraSSPRCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraSSPRCheck-PS1.md)
**Características principales:**
- **Detección de estado de SSPR** - Identifica usuarios con SSPR habilitado, registrado o capaz
- **Análisis del método de registro** - Analiza los métodos de autenticación registrados para SSPR
- **Detección de métodos de respaldo** - Identifica usuarios sin métodos de respaldo configurados
- **Detección de métodos fuertes** - Distingue entre métodos de autenticación fuertes y débiles
- **Correlación del estado de MFA** - Cruza la configuración de SSPR con el estado de MFA
- **Seguimiento del último inicio de sesión** - Muestra fecha/hora de inicio de sesión y patrones de actividad
- **Evaluación de riesgos** - Clasifica usuarios por nivel de riesgo (ALTO/MEDIO/BAJO) según la configuración de SSPR
- **Analítica de actividad** - Estadísticas de inicio de sesión, cuentas obsoletas, usuarios inactivos
- **Vista de matriz** - Formato de tabla compacta para escaneo visual rápido
- **Opciones de filtrado** - Mostrar solo usuarios sin métodos de respaldo o incluir cuentas deshabilitadas
- **Opciones de exportación** - CSV/JSON con detalles completos de SSPR
- **Modo sigiloso** - Retrasos y fluctuación configurables para evitar la detección
| Versión | Documentación | Archivo |
|---------|---------------|------|
| PowerShell | [EntraSSPRCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraSSPRCheck-PS1.md) | `scripts/powershell/Invoke-EntraSSPRCheck.ps1` |
---
### Verificación de seguridad de la política de contraseñas (PowerShell)
**Requisitos:** PowerShell 7+, módulos Microsoft.Graph```powershell
# Analyze all password policies
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck -ExportPath "password-policies.csv"
# Show only users with weak password policies in matrix view
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck -Matrix -OnlyWeakPolicies
# Show only users with password never expires
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck -OnlyNeverExpires -ExportPath "never-expires.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraPasswordPolicyCheck -EnableStealth -QuietStealth
📖 Documentación completa: EntraPasswordPolicyCheck-PS1.md
Características clave:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraPasswordPolicyCheck-PS1.md | scripts/powershell/Invoke-EntraPasswordPolicyCheck.ps1 |
Requisitos: PowerShell 7+, módulos Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -ExportPath "legacy-auth.csv"
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -Matrix -OnlyRecent
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -IncludeDisabledUsers -ExportPath "all-legacy-users.csv"
.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraLegacyAuthCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraLegacyAuthCheck-PS1.md)
**Características principales:**
- **Detección de protocolos heredados** - Identifica 10 protocolos de autenticación heredados (IMAP, POP3, SMTP, Exchange ActiveSync, etc.)
- **Análisis de registros de inicio de sesión** - Consulta los registros de auditoría para el uso de autenticación heredada (últimos 90 días)
- **Seguimiento del último uso** - Muestra la fecha y hora de la última autenticación heredada
- **Estadísticas de protocolo** - Rastrea inicios de sesión exitosos/fallidos por protocolo
- **Detección de estado de MFA** - Identifica usuarios sin autenticación multifactor que usan autenticación heredada
- **Evaluación de riesgos** - Categoriza a los usuarios por nivel de riesgo (CRÍTICO/ALTO/MEDIO/BAJO) según patrones de uso y actualidad
- **Analíticas de actividad** - Estadísticas de inicio de sesión, desgloses de protocolos, actualidad de uso
- **Vista de matriz** - Formato de tabla compacta para escaneo visual rápido
- **Opciones de filtrado** - Mostrar solo uso reciente o incluir cuentas deshabilitadas
- **Opciones de exportación** - CSV/JSON con detalles completos de autenticación heredada
- **Modo sigiloso** - Retardos y fluctuación configurables para evitar detección
| Versión | Documentación | Archivo |
|---------|---------------|--------|
| PowerShell | [EntraLegacyAuthCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraLegacyAuthCheck-PS1.md) | `scripts/powershell/Invoke-EntraLegacyAuthCheck.ps1` |
---
### Análisis de licencias y SKU (PowerShell)
**Requisitos:** PowerShell 7+, módulos Microsoft.Graph```powershell
# Analyze all license SKUs and user assignments
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck -ExportPath "licenses.csv"
# Show only users with privileged licenses (E5, P2) in matrix view
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck -Matrix -OnlyPrivilegedLicenses
# Show only unused license assignments
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck -OnlyUnusedLicenses -ExportPath "unused-licenses.csv"
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraLicenseCheck -EnableStealth -QuietStealth
📖 Documentación completa: EntraLicenseCheck-PS1.md
Características clave:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraLicenseCheck-PS1.md | scripts/powershell/Invoke-EntraLicenseCheck.ps1 |
Requisitos: PowerShell 7+, módulos Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -ExportPath "sync-status.csv"
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -Matrix -OnlySyncErrors
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -OnlyStaleSync -ExportPath "stale-sync.csv"
.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraDirectorySyncCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraDirectorySyncCheck-PS1.md)
**Características principales:**
- **Análisis de estado de sincronización** - Identifica usuarios sincronizados vs solo en la nube
- **Detección de errores de sincronización** - Enumera todos los errores de aprovisionamiento y sincronización
- **Detección de sincronización obsoleta** - Identifica usuarios con sincronización obsoleta (>7 días)
- **Identificación de conflictos de sincronización** - Detecta atributos duplicados y conflictos
- **Análisis de alcance de sincronización** - Verifica la configuración y el alcance de la sincronización
- **Evaluación de riesgos** - Categoriza usuarios por nivel de riesgo (CRÍTICO/ALTO/MEDIO/BAJO) según el estado de sincronización
- **Analíticas de actividad** - Estadísticas de sincronización, desglose de errores, análisis de dominio
- **Vista de matriz** - Formato de tabla compacto para exploración visual rápida
- **Opciones de filtrado** - Mostrar solo errores de sincronización, sincronización obsoleta o incluir cuentas deshabilitadas
- **Opciones de exportación** - CSV/JSON con detalles completos de sincronización
- **Modo sigiloso** - Retrasos y fluctuaciones configurables para evitar la detección
| Versión | Documentación | Archivo |
|---------|---------------|--------|
| PowerShell | [EntraDirectorySyncCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraDirectorySyncCheck-PS1.md) | `scripts/powershell/Invoke-EntraDirectorySyncCheck.ps1` |
---
### Enumeración de Power Platform (PowerShell)
**Requisitos:** PowerShell 7+, módulos Microsoft.Graph, permisos de Administrador de Power Platform o Creador de Entornos
**Autenticación:** El script maneja automáticamente la autenticación de la API de Power Platform:
- **Predeterminado**: Flujo de código de dispositivo (indicación del navegador) - sin configuración necesaria
- **Azure CLI**: Use `-UseAzCliToken` - ejecuta `az login` automáticamente si es necesario
- **Azure PowerShell**: Use `-UseAzPowerShellToken` - ejecuta `Connect-AzAccount` automáticamente si es necesario (usa la misma cuenta que la autenticación de Graph)```powershell
# Enumerate all Power Apps and Power Automate flows
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -ExportPath "power-platform.csv"
# Show only high-risk resources (CRITICAL/HIGH) in matrix view
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -Matrix -OnlyHighRisk
# Show only resources with sensitive connectors
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -OnlySensitiveConnectors -ExportPath "sensitive.csv"
# Use Azure CLI (automatically runs 'az login' if needed)
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -UseAzCliToken
# Use Azure PowerShell (automatically runs 'Connect-AzAccount' if needed, uses Graph context account)
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -UseAzPowerShellToken
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraPowerPlatformCheck -EnableStealth -QuietStealth
📖 Documentación completa: EntraPowerPlatformCheck-PS1.md
Características clave:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraPowerPlatformCheck-PS1.md | scripts/powershell/Invoke-EntraPowerPlatformCheck.ps1 |
Requisitos: PowerShell 7+, módulos Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -ExportPath "attack-paths.csv"
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -Matrix -OnlyHighRisk
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -IncludeDisabledUsers -ExportPath "all-paths.csv"
.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraAttackPathCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraAttackPathCheck-PS1.md)
**Características principales:**
- **Análisis de escalación de privilegios** - Identifica rutas hacia privilegios elevados a través de grupos asignables a roles
- **Detección de delegación de restablecimiento de contraseñas** - Encuentra usuarios que pueden restablecer contraseñas de otros usuarios
- **Análisis de pertenencia transitiva a grupos** - Identifica acceso indirecto a grupos privilegiados
- **Detección de acceso a buzones compartidos** - Identifica buzones compartidos que podrían usarse para movimiento lateral
- **Evaluación de riesgos** - Categoriza las rutas de ataque por nivel de riesgo (CRÍTICO/ALTO/MEDIO) según el tipo de ruta y la postura de seguridad del usuario
- **Análisis de complejidad de rutas** - Evalúa la complejidad de la ruta de ataque (Baja/Media/Alta)
- **Detección de estado de MFA** - Identifica usuarios sin autenticación multifactor en rutas de ataque
- **Seguimiento del último inicio de sesión** - Muestra fecha/hora de inicio de sesión y patrones de actividad
- **Analíticas de actividad** - Estadísticas de inicio de sesión, cuentas inactivas, usuarios inactivos
- **Vista de matriz** - Formato de tabla compacto para escaneo visual rápido
- **Opciones de filtrado** - Mostrar solo rutas de alto riesgo o incluir cuentas deshabilitadas
- **Opciones de exportación** - CSV/JSON con detalles completos de la ruta de ataque
- **Modo sigiloso** - Retardos y jitter configurables para evitar detección
| Versión | Documentación | Archivo |
|---------|---------------|------|
| PowerShell | [EntraAttackPathCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraAttackPathCheck-PS1.md) | `scripts/powershell/Invoke-EntraAttackPathCheck.ps1` |
---
### Auditoría de asignación de roles RBAC de Azure y detección de desviaciones (PowerShell)
**Requisitos:** Módulos PowerShell 7+, Az.Accounts, Az.Resources, Microsoft.Graph.Authentication```powershell
# Export all Azure RBAC role assignments across ALL tenants and subscriptions to baseline JSON
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export
# Export to specific file
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -ExportPath "rbac-baseline.json"
# Skip tenants with MFA/Conditional Access issues (common in multi-tenant scenarios)
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SkipFailedTenants
# Show all users with their Azure permissions in matrix format
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SkipFailedTenants -ShowAllUsersPermissions
# Expand group memberships to show all users who have Azure access via groups
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SkipFailedTenants -ExpandGroupMembers
# Combined: Show all users including those with access via groups
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SkipFailedTenants -ExpandGroupMembers -ShowAllUsersPermissions
# Detect drift against baseline across all tenants
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode DriftDetect -BaselinePath "rbac-baseline.json"
# Detect drift with matrix view and export report
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode DriftDetect -BaselinePath "rbac-baseline.json" -Matrix -ExportPath "drift-report.json"
# Export specific tenant only
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -TenantId "tenant-id-123"
# Export specific subscription with Azure CLI auth
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -SubscriptionId "sub-123" -UseAzCliToken
# Stealth mode drift detection
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode DriftDetect -BaselinePath "baseline.json" -EnableStealth -QuietStealth
# Export excluding PIM/JIT time-bounded assignments (focus on permanent assignments only)
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode Export -ExcludePIM
# Detect drift excluding PIM/JIT assignments (ignore temporary elevated access)
.\Invoke-EvilMist.ps1 -Script EntraAzureRBACCheck -Mode DriftDetect -BaselinePath "baseline.json" -ExcludePIM
📖 Documentación completa: EntraAzureRBACCheck-PS1.md
Características clave:
-SkipFailedTenants)-ShowAllUsersPermissions)-ExpandGroupMembers)-ExcludePIM)| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraAzureRBACCheck-PS1.md | scripts/powershell/Invoke-EntraAzureRBACCheck.ps1 |
Requisitos: PowerShell 7+, módulos Microsoft.Graph```powershell
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -ExportPath "consent-grants.csv"
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -Matrix -OnlyHighRisk
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -OnlyThirdParty -OnlyAdminConsent
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -StaleDays 60 -OnlyStale
.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraOAuthConsentCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraOAuthConsentCheck-PS1.md)
**Características principales:**
- **Enumeración de OAuth2PermissionGrant** - Enumera todas las concesiones de permisos delegados en el inquilino
- **Detección de consentimiento de administrador vs usuario** - Distingue entre consentimiento de administrador a nivel de inquilino y consentimiento individual de usuario
- **Detección de permisos peligrosos** - Identifica ámbitos de alto riesgo (Mail.ReadWrite, Files.ReadWrite.All, User.ReadWrite.All, etc.)
- **Detección de consentimiento obsoleto** - Encuentra concesiones de consentimiento no utilizadas (umbral configurable, por defecto 90 días)
- **Identificación de aplicaciones de terceros** - Identifica automáticamente aplicaciones que no son de Microsoft con permisos elevados
- **Correlación de actividad de inicio de sesión** - Cruza referencias con la actividad de inicio de sesión para detectar aplicaciones inactivas
- **Evaluación de riesgos** - Categoriza las concesiones de consentimiento por nivel de riesgo (CRÍTICO/ALTO/MEDIO/BAJO) según el tipo de consentimiento, permisos y origen de la aplicación
- **Análisis del publicador** - Realiza seguimiento de los publicadores de aplicaciones y el estado de publicador verificado
- **Seguimiento de recursos** - Identifica a qué API/recursos tiene acceso cada aplicación
- **Vista matricial** - Formato de tabla compacto para escaneo visual rápido
- **Opciones de filtrado** - Mostrar solo concesiones de alto riesgo, de terceros, obsoletas o de consentimiento de administrador
- **Opciones de exportación** - CSV/JSON con detalles completos de concesiones de consentimiento
- **Modo sigiloso** - Retrasos y variabilidad configurables para evitar la detección
| Versión | Documentación | Archivo |
|---------|---------------|------|
| PowerShell | [EntraOAuthConsentCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraOAuthConsentCheck-PS1.md) | `scripts/powershell/Invoke-EntraOAuthConsentCheck.ps1` |
---
### Verificación de riesgo de inicio de sesión (PowerShell)
**Requisitos:** PowerShell 7+, módulos Microsoft.Graph, Azure AD Premium P2```powershell
# Enumerate all risky users
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -ExportPath "risky-users.csv"
# Show only high-risk users in matrix view
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -Matrix -OnlyHighRisk
# Show only active (not remediated) risks
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -OnlyActive
# Include risky sign-ins from the last 7 days
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -IncludeRiskySignIns -DaysBack 7
# Full analysis with pattern detection
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -IncludeRiskySignIns -IncludeRiskDetections -Matrix
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraSignInRiskCheck -EnableStealth -QuietStealth
📖 Documentación completa: EntraSignInRiskCheck-PS1.md
Características clave:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraSignInRiskCheck-PS1.md | scripts/powershell/Invoke-EntraSignInRiskCheck.ps1 |
Requisitos: PowerShell 7+, Microsoft.Graph modules, Azure AD Premium P2```powershell
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -ExportPath "pim-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -Matrix -OnlyCritical
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -OnlyHighPrivilege -MaxActivationHours 2
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -IncludeGroups -IncludeAccessReviews
.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraPIMCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraPIMCheck-PS1.md)
**Características principales:**
- **Auditoría de configuración de acceso JIT** - Analiza la duración máxima de activación, requisitos de aprobación, aplicación de MFA
- **Análisis de flujo de trabajo de aprobación** - Identifica roles sin aprobación o con aprobadores faltantes
- **Requisitos de justificación** - Detecta roles sin justificación obligatoria para la activación
- **Aplicación de MFA** - Identifica roles que no requieren MFA para la activación
- **Configuración de notificaciones** - Analiza la configuración de notificaciones de administrador para activaciones de roles
- **Detección de asignaciones permanentes** - Encuentra acceso privilegiado permanente que omite PIM
- **PIM para grupos** - Analiza la gestión de acceso privilegiado basada en grupos
- **Revisiones de acceso** - Verifica la configuración de certificación periódica de acceso
- **Evaluación de riesgos** - Categoriza roles por nivel de riesgo (CRÍTICO/ALTO/MEDIO/BAJO) según las brechas de configuración
- **Análisis de elegibles vs activos** - Compara asignaciones elegibles con asignaciones activas/permanentes
- **Detección de cuentas de emergencia** - Identifica asignaciones permanentes que pueden ser cuentas de emergencia
- **Vista matricial** - Formato de tabla compacto para exploración visual rápida
- **Opciones de filtrado** - Mostrar solo roles críticos, roles de alto privilegio o configuraciones incorrectas
- **Opciones de exportación** - CSV/JSON con detalles completos de configuración de PIM
- **Modo sigiloso** - Retrasos y fluctuación configurables para evitar la detección
| Versión | Documentación | Archivo |
|---------|---------------|------|
| PowerShell | [EntraPIMCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraPIMCheck-PS1.md) | `scripts/powershell/Invoke-EntraPIMCheck.ps1` |
---
### Comprobación de seguridad de Azure Key Vault (PowerShell)
**Requisitos:** Módulos PowerShell 7+, Az.Accounts, Az.KeyVault, Az.Resources, Az.Monitor```powershell
# Perform comprehensive Key Vault security audit
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -ExportPath "keyvault-audit.csv"
# Show only critical findings in matrix view
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -Matrix -OnlyCritical
# Audit only Key Vaults with public access enabled
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -OnlyPublicAccess
# Include secret and certificate expiration analysis
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -IncludeSecrets -IncludeCertificates -ExpirationDays 90
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraKeyVaultCheck -EnableStealth -QuietStealth
📖 Documentación completa: EntraKeyVaultCheck-PS1.md
Características clave:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraKeyVaultCheck-PS1.md | scripts/powershell/Invoke-EntraKeyVaultCheck.ps1 |
Herramienta de auditoría de seguridad integral para cuentas de almacenamiento de Azure que detecta cuentas de almacenamiento expuestas y riesgos de exfiltración de datos. Identifica contenedores de blobs públicos, configuraciones de red incorrectas y brechas de protección de datos.```powershell
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -ExportPath "storage-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -Matrix -OnlyCritical
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -OnlyAnonymousContainers -IncludeContainers
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -IncludeKeyAge -KeyRotationDays 60
.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraStorageAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraStorageAccountCheck-PS1.md)
**Características principales:**
- **Detección de contenedor Blob público** - Identifica contenedores con acceso anónimo (nivel Blob/Contenedor)
- **Verificación de cumplimiento HTTPS** - Detecta cuentas de almacenamiento que permiten tráfico HTTP no cifrado
- **Análisis de acceso de clave compartida** - Identifica cuentas que usan claves de almacenamiento frente a autenticación de Azure AD
- **Auditoría de seguridad de red** - Verifica acceso público, reglas de firewall, integración de VNet, puntos finales privados
- **Análisis de protección de datos** - Eliminación suave de blob, eliminación suave de contenedor, estado de versionado
- **Seguimiento de rotación de claves** - Identifica claves de cuenta de almacenamiento que superan el umbral de rotación
- **Replicación entre inquilinos** - Detecta replicación de datos a otros inquilinos (riesgo de exfiltración)
- **Verificación de versión TLS** - Garantiza la aplicación de TLS 1.2 mínimo
- **Cifrado de infraestructura** - Verifica la configuración de doble cifrado
- **Verificación de registro de diagnóstico** - Verifica que el registro de auditoría esté habilitado
- **Evaluación de riesgos** - Categoriza las cuentas de almacenamiento por nivel de riesgo (CRÍTICO/ALTO/MEDIO/BAJO)
- **Vista de matriz** - Formato de tabla compacto para exploración visual rápida
- **Opciones de filtrado** - Mostrar solo contenedores críticos, de acceso público o anónimos
- **Opciones de exportación** - CSV/JSON con detalles completos de la cuenta de almacenamiento
- **Modo sigiloso** - Retrasos y jitter configurables para evitar la detección
| Versión | Documentación | Archivo |
|---------|---------------|---------|
| PowerShell | [EntraStorageAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraStorageAccountCheck-PS1.md) | `scripts/powershell/Invoke-EntraStorageAccountCheck.ps1` |
---
### Verificación de seguridad de red (PowerShell)
**Requisitos:** PowerShell 7+, módulos de Azure PowerShell```powershell
# Perform comprehensive Network Security audit
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -ExportPath "network-audit.csv"
# Show only NSGs with open management ports
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -OnlyOpenPorts -Matrix
# Full scan with VNets, Bastion, and DDoS analysis
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -IncludeVNets -IncludeBastion -IncludeDDoS -Matrix
# Include NSG flow logs analysis
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -IncludeFlowLogs -Matrix
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraNetworkSecurityCheck -EnableStealth -QuietStealth
📖 Documentación completa: EntraNetworkSecurityCheck-PS1.md
Características principales:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraNetworkSecurityCheck-PS1.md | scripts/powershell/Invoke-EntraNetworkSecurityCheck.ps1 |
Herramienta integral de auditoría de seguridad de Identidades Gestionadas de Azure que identifica permisos excesivos y riesgos de seguridad. Detecta identidades gestionadas con privilegios elevados, acceso entre suscripciones e identidades no utilizadas.```powershell
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -ExportPath "managed-identity-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -OnlyHighPrivilege -Matrix
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -OnlyCrossSubscription -Matrix
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -IncludeRoleDetails -Matrix
.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraManagedIdentityCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraManagedIdentityCheck-PS1.md)
**Características principales:**
- **Inventario de identidades** - Enumeración de identidades administradas asignadas por sistema vs. asignadas por usuario
- **Análisis de asignaciones de roles** - Permisos RBAC de Azure para cada identidad administrada
- **Detección de privilegios elevados** - Identifica los roles Propietario, Colaborador, Administrador de acceso de usuario
- **Detección de roles críticos** - Señala identidades con roles Propietario, UAA o Administrador de RBAC
- **Acceso entre suscripciones** - Detecta identidades con permisos más allá de la suscripción principal
- **Detección de identidades no utilizadas** - Encuentra identidades administradas sin asignaciones de roles
- **Cobertura de recursos** - Máquinas virtuales, App Services, Function Apps, Identidades asignadas por usuario
- **Análisis de alcance** - Permisos a nivel de suscripción completa vs. grupo de recursos vs. recurso
- **Evaluación de riesgos** - Clasificación CRÍTICO/ALTO/MEDIO/BAJO con hallazgos
- **Vista matricial** - Formato tabular compacto para revisión rápida
- **Opciones de exportación** - CSV/JSON con detalles completos de la identidad
- **Modo sigiloso** - Retardos y fluctuaciones configurables para evitar detección
| Versión | Documentación | Archivo |
|---------|---------------|------|
| PowerShell | [EntraManagedIdentityCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraManagedIdentityCheck-PS1.md) | `scripts/powershell/Invoke-EntraManagedIdentityCheck.ps1` |
---
### Auditoría de seguridad de Exchange Online
Herramienta integral de auditoría de seguridad de Exchange Online que detecta vectores de ataque basados en correo y riesgos de exfiltración de datos. Identifica reglas de bandeja de entrada que reenvían a direcciones externas, reglas de transporte sospechosas, delegaciones de buzones y brechas en el registro de auditoría.```powershell
# Perform comprehensive Exchange Online security audit
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -ExportPath "exchange-audit.csv"
# Show only mailboxes with external forwarding
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -OnlyExternalForwarding -Matrix
# Show only suspicious inbox rules
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -OnlySuspiciousRules -Matrix
# Include transport rules and OWA policies
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -IncludeTransportRules -IncludeOWAPolicies -Matrix
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraExchangeCheck -EnableStealth -QuietStealth
📖 Documentación completa: EntraExchangeCheck-PS1.md
Características principales:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraExchangeCheck-PS1.md | scripts/powershell/Invoke-EntraExchangeCheck.ps1 |
Herramienta integral de evaluación de seguridad de SharePoint Online para identificar riesgos de uso compartido excesivo y acceso externo. Audita las configuraciones de uso compartido a nivel de inquilino y de sitio para detectar posibles exposiciones de datos.```powershell
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -ExportPath "sharepoint-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -OnlyAnonymousLinks -Matrix
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -OnlyPermissiveOverrides -Matrix
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -IncludeOneDrive -IncludeSensitivityLabels -Matrix
.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraSharePointCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraSharePointCheck-PS1.md)
**Características principales:**
- **Configuración de uso compartido del inquilino** - Análisis de la política de uso compartido externo a nivel de organización
- **Detección de enlaces anónimos** - Identifica sitios que permiten enlaces "Cualquiera"
- **Anulaciones a nivel de sitio** - Detecta sitios con uso compartido más permisivo que el inquilino
- **Análisis de acceso de invitados** - Acceso de usuarios externos a sitios sensibles
- **Uso compartido de OneDrive** - Configuración de uso compartido externo de almacenamiento personal
- **Cobertura de etiquetas de sensibilidad** - Identifica sitios que carecen de clasificación de datos
- **Análisis de enlace predeterminado** - Tipo de enlace predeterminado y configuración de permisos
- **Política de caducidad de enlaces** - Configuración de caducidad de enlaces anónimos
- **Restricciones de dominio** - Configuración de lista de permitidos/bloqueados
- **Evaluación de riesgos** - Clasificación CRITICAL/HIGH/MEDIUM/LOW con hallazgos
- **Vista matricial** - Formato tabular compacto para revisión rápida
- **Opciones de exportación** - CSV/JSON con detalles completos del sitio
- **Modo sigiloso** - Retrasos y fluctuación configurables para evitar detección
| Versión | Documentación | Archivo |
|---------|---------------|------|
| PowerShell | [EntraSharePointCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraSharePointCheck-PS1.md) | `scripts/powershell/Invoke-EntraSharePointCheck.ps1` |
---
### Enumeración de SharePoint Online
Herramienta de búsqueda y descarga de archivos autenticada de SharePoint Online que utiliza la API REST de SharePoint. Permite a los operadores de equipos rojos descubrir y extraer documentos sensibles durante pruebas de penetración autorizadas. Puerto de PowerShell de [ElephantPoint](https://github.com/nettitude/ElephantPoint) (Nettitude).```powershell
# Zero-config search — auto-connects, auto-detects SharePoint domain
.\Invoke-EvilMist.ps1 -Script SharePointEnum -Query "password"
# Device code authentication (for headless terminals)
.\Invoke-EvilMist.ps1 -Script SharePointEnum -UseDeviceCode -Query "credentials"
# Direct bearer token from ROADtools/TokenTactics
.\Invoke-EvilMist.ps1 -Script SharePointEnum -SPOUrl example.sharepoint.com -Token $token -Query "confidential"
# Download file as Base64 for C2 exfiltration
.\Invoke-EvilMist.ps1 -Script SharePointEnum -SPOUrl example.sharepoint.com -Token $token -FileUrl "/sites/hr/Shared Documents/salaries.xlsx" -Base64
# Stealth search with matrix output and JSON export
.\Invoke-EvilMist.ps1 -Script SharePointEnum -Query "budget" -EnableStealth -QuietStealth -Matrix -ExportPath "results.json"
📖 Documentación completa: SharePointEnum-PS1.md
Características principales:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | SharePointEnum-PS1.md | scripts/powershell/Invoke-SharePointEnum.ps1 |
Herramienta integral de evaluación de seguridad de Microsoft Teams para auditar la configuración de seguridad de colaboración. Identifica riesgos de acceso externo, políticas de invitados, brechas de seguridad en reuniones y problemas de permisos de aplicaciones.```powershell
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -ExportPath "teams-audit.csv"
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -OnlyMeetingRisks -Matrix
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -OnlyExternalAccess -Matrix
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -IncludeTeamsInventory -IncludeAppPolicies -Matrix
.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraTeamsCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraTeamsCheck-PS1.md)
**Características principales:**
- **Acceso externo (Federación)** - Analiza quién puede comunicarse desde fuera de la organización
- **Políticas de acceso para invitados** - Capacidades y configuraciones de permisos de usuarios invitados
- **Políticas de reuniones** - Unirse de forma anónima, omisión de sala de espera, configuraciones de grabación
- **Políticas de permisos de aplicaciones** - Controles de acceso a aplicaciones de terceros y personalizadas
- **Políticas de mensajería** - Configuraciones de funciones de chat y mensajes
- **Inventario de Teams** - Visibilidad, membresía de invitados y análisis de gobernanza
- **Configuración del cliente** - Configuraciones de seguridad del cliente de Teams
- **Evaluación de riesgos** - Clasificación CRÍTICO/ALTO/MEDIO/BAJO con hallazgos
- **Vista de matriz** - Formato tabular compacto para revisión rápida
- **Opciones de exportación** - CSV/JSON con detalles completos de configuración
- **Modo sigiloso** - Retardos y fluctuación configurables para evitar la detección
| Versión | Documentación | Archivo |
|---------|---------------|------|
| PowerShell | [EntraTeamsCheck-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraTeamsCheck-PS1.md) | `scripts/powershell/Invoke-EntraTeamsCheck.ps1` |
---
### Análisis de rutas de ataque entre servicios de Azure
Herramienta integral de análisis de rutas de ataque entre servicios de Azure que identifica rutas de ataque de múltiples saltos a través de múltiples servicios de Azure. Revela cómo el acceso a un recurso puede llevar al compromiso de otros recursos en el entorno de Azure.```powershell
# Perform comprehensive cross-service attack path analysis
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck
# Export results to CSV
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -ExportPath "azure-attack-paths.csv"
# Show only critical attack paths in matrix view
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -OnlyCritical -Matrix
# Show critical and high-risk paths
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -OnlyHighRisk -Matrix
# Include inherited permission paths with deeper analysis
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -IncludeInheritedPaths -MaxPathDepth 4
# Stealth mode scan
.\Invoke-EvilMist.ps1 -Script EntraAzureAttackPathCheck -EnableStealth -QuietStealth
📖 Documentación completa: EntraAzureAttackPathCheck-PS1.md
Características principales:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraAzureAttackPathCheck-PS1.md | scripts/powershell/Invoke-EntraAzureAttackPathCheck.ps1 |
Generador unificado de informes de seguridad HTML que ejecuta múltiples comprobaciones de seguridad de EvilMist y produce un panel ejecutivo completo con evaluación de riesgos, prioridades de remediación y análisis de tendencias.```powershell
.\Invoke-EvilMist.ps1 -Script EntraReport -QuickScan
.\Invoke-EvilMist.ps1 -Script EntraReport -ComprehensiveScan -ExportPath "full-report.html"
.\Invoke-EvilMist.ps1 -Script EntraReport -Checks MFA,Roles,ConditionalAccess,AttackPaths
.\Invoke-EvilMist.ps1 -Script EntraReport -Checks All -ExportPath "security-report.html"
.\Invoke-EvilMist.ps1 -Script EntraReport -ComprehensiveScan -BaselinePath "previous-report.json"
.\Invoke-EvilMist.ps1 -Script EntraReport -QuickScan -EnableStealth -QuietStealth
📖 **Documentación completa:** [EntraReport-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraReport-PS1.md)
**Características principales:**
- **Informes consolidados** - Ejecute múltiples verificaciones de seguridad con un solo comando
- **Panel ejecutivo** - Informe HTML profesional con puntuación de seguridad (0-100)
- **Resumen de gravedad de riesgos** - Conteo de hallazgos CRÍTICOS, ALTOS, MEDIOS, BAJOS
- **Matriz de prioridades de remediación** - Acciones priorizadas (P1-P4) con plazos recomendados
- **Análisis de tendencias** - Compare con informes de referencia para realizar un seguimiento de las mejoras de seguridad
- **Modo de escaneo rápido** - Verificaciones de seguridad principales (MFA, Roles, CA, Rutas de ataque, OAuth, PIM)
- **Escaneo integral** - Todas las verificaciones de seguridad disponibles para una cobertura completa
- **Exportación JSON** - Exportación automática de referencia para comparaciones futuras
- **Modo sigiloso** - Retrasos y fluctuaciones configurables para evitar la detección
| Versión | Documentación | Archivo |
|---------|---------------|------|
| PowerShell | [EntraReport-PS1.md](https://github.com/logisek/evilmist/blob/HEAD/docs/EntraReport-PS1.md) | `scripts/powershell/Invoke-EntraReport.ps1` |
---
### Evaluación de cumplimiento (CIS/NIST/SOC2/ISO27001/GDPR)
Herramienta integral de evaluación de cumplimiento que evalúa la configuración de seguridad de Azure Entra ID con respecto a marcos estándar de la industria, incluidos CIS Microsoft Azure Foundations Benchmark, NIST 800-53, SOC 2, ISO 27001 y GDPR.```powershell
# Comprehensive compliance assessment against all frameworks
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Matrix
# CIS Azure Benchmark assessment
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Framework CIS -ExportPath "cis-compliance.csv"
# NIST 800-53 assessment with remediation guidance
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Framework NIST -IncludeRemediation
# Executive report with compliance score
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -GenerateExecutiveReport -ExportPath "compliance-report.html"
# SOC 2 assessment showing only failed controls
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Framework SOC2 -OnlyFailed
# Filter by NIST control family (e.g., Access Control)
.\Invoke-EvilMist.ps1 -Script EntraComplianceCheck -Framework NIST -ControlFamily AC
📖 Full documentation: EntraComplianceCheck-PS1.md
Características principales:
| Versión | Documentación | Archivo |
|---|---|---|
| PowerShell | EntraComplianceCheck-PS1.md | scripts/powershell/Invoke-EntraComplianceCheck.ps1 |
Ambas versiones proporcionan la misma funcionalidad principal:
| Herramienta | Enumerate-EntraUsers (PowerShell) | Enumerate-EntraUsers (Python) | Recon-EntraTools (PowerShell) | Recon-EntraTools (Python) | EntraHardened | EntraPwned | |------|-----------------------------------|--------------------------------|-------------------------------|----------------------------|---------------|-------------|| Característica | Enumerate-EntraUsers | MFA Security Check | Guest Account Enumeration | Critical Admin Access Check | Privileged Role Check | Service Principal Check | Application Registration Check | Conditional Access Check | Administrative Unit Check | Stale Account Check | Device Trust Check | SSPR Check | Password Policy Check | Legacy Auth Check | License Check | Directory Sync Check | Power Platform Check | Group Security Check | Attack Path Analysis | Azure RBAC Check | OAuth Consent Check | |---------|---------------------|-------------------|---------------------------|----------------------------|----------------------|------------------------|--------------------------|--------------------------|------------------------|---------------------|-------------------|-------------|---------------------|-------------------|--------------|---------------------|-------------------|-------------------|-------------------|-------------------|-------------------| | Propósito | Enumeración exhaustiva de usuarios | Auditoría de seguridad MFA enfocada | Gobierno de acceso de invitados | Auditoría de acceso administrativo crítico | Auditoría de asignación de roles privilegiados | Auditoría de seguridad de cuentas de servicio | Auditoría de seguridad de registros de aplicaciones | Análisis de brechas en políticas de seguridad | Auditoría de acceso administrativo con ámbito | Auditoría de higiene de cuentas | Auditoría de confianza y cumplimiento de dispositivos | Auditoría de configuración de SSPR | Auditoría de seguridad de política de contraseñas | Auditoría de seguridad de autenticación heredada | Análisis de licencias y SKU | Auditoría de estado y salud de sincronización de directorio | Enumeración y auditoría de seguridad de Power Platform | Análisis y gobierno de seguridad de grupos | Análisis de rutas de ataque - escalada de privilegios y movimiento lateral | Exportación de línea base y detección de desviaciones de Azure RBAC multiinquilino | Auditoría de concesiones de consentimiento OAuth - detección de consentimiento ilícito | | Enumeración de usuarios | 15+ métodos | Método estándar | Enfocado en invitados | Basado en asignación de aplicaciones | Basado en asignación de roles | Enfocado en entidades de servicio | | | | | | Enfocado en autenticación heredada | Enfocado en sincronización | ❌ | | Detección de MFA | Básico | Avanzado con tipos de métodos | Avanzado con tipos de métodos | Avanzado con tipos de métodos | Avanzado con tipos de métodos | Verificación de MFA del propietario | | | | | | Avanzado con tipos de métodos | ❌ | ❌ | | Detección de buzones compartidos | ❌ | ✅ Automático | ❌ (N/A para invitados) | ❌ (N/A para acceso a aplicaciones) | ❌ (N/A para roles) | ❌ (N/A para SP) | | | | | | ❌ (N/A para autenticación heredada) | ❌ | ❌ | | Extracción de dominio invitado | ❌ | ❌ | ✅ Automático | ❌ | ❌ | ❌ | | | | | | ❌ | ❌ | ❌ | | Seguimiento de estado de invitación | ❌ | ❌ | ✅ Con fechas de aceptación | ❌ | ❌ | ❌ | | | | | | ❌ | ❌ | ❌ | | Seguimiento de acceso a aplicaciones | ❌ | ❌ | ❌ | ✅ Cobertura multi-aplicación | ❌ | ❌ | | | | | | ❌ | ❌ | ❌ | | Seguimiento de asignación de roles | ❌ | ❌ | ❌ | ❌ | ✅ Todos los roles de directorio | ❌ | | | | | | ❌ | ❌ | ✅ Todos los roles de RBAC de Azure | | Seguimiento de asignación de PIM | ❌ | ❌ | ❌ | ❌ | ✅ Elegible y Activo | ❌ | | | | | | ❌ | ❌ | ❌ | | Enumeración de credenciales | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Secretos y certificados | ✅ Secretos y certificados | | | | | | ❌ | ❌ | ❌ | | Seguimiento de expiración de credenciales | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Expirados y próximos a expirar | ✅ Expirados y próximos a expirar | | | | | | ❌ | ❌ | ❌ | | Análisis de permisos | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Alto riesgo y crítico | ✅ Alto riesgo y crítico (permisos de API) | | | | | | ❌ | ❌ | ✅ Permisos de rol RBAC | | Análisis de propietarios | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Con estado de MFA | ✅ Con estado de MFA | ❌ | | | | | ❌ | ❌ | ✅ Propietarios de grupo con estado de MFA | ❌ | | Enumeración de registros de aplicaciones | ✅ Básico | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Exhaustivo | | | | | | ❌ | ❌ | ❌ | | Análisis de permisos de API | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Delegado y aplicación | | | | | | ❌ | ❌ | ❌ | | Seguimiento de fecha de asignación | ❌ | ❌ | ✅ Fechas de invitación | ✅ Fechas de asignación | ✅ Fechas de asignación y duración | ❌ | ❌ | | | | | ❌ | ❌ | ✅ Fechas de creación de asignación de roles | | Detección de exclusiones de políticas | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Usuarios, grupos, roles, aplicaciones | | | | | ❌ | ❌ | ❌ | | Brechas de aplicación de MFA | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Análisis a nivel de política | | | | | ❌ | ❌ | ❌ | | Cobertura de aplicaciones críticas | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 10 aplicaciones críticas | | | | | ❌ | ❌ | ❌ | | Detección de autenticación heredada | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Orientación de políticas | | | | | ✅ 10 protocolos | ❌ | ❌ | | Detección de protocolo heredado | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | | | | ✅ IMAP/POP3/SMTP/EAS/etc | ❌ | ❌ | | Último uso de autenticación heredada | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | | | | ✅ Seguimiento de fecha/hora | ❌ | ❌ | | Estadísticas de protocolo | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | | | | ✅ Conteos de éxito/fallo | ❌ | ❌ | | Detección de conflictos de políticas | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Redundante/conflictivo | ❌ | ❌ | ❌ | | | ❌ | ❌ | ❌ | | Enumeración de unidades administrativas | ✅ Básico | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Exhaustivo | ❌ | ❌ | ❌ | | | ❌ | ❌ | ❌ | | Análisis de asignaciones de roles con ámbito | ✅ Básico | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Todas las asignaciones con ámbito | ❌ | ❌ | ❌ | | | ❌ | ❌ | ❌ | | Enumeración de miembros de AU | ✅ Básico | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Miembros y roles | ❌ | ❌ | ❌ | | | ❌ | ❌ | ❌ | | Detección de cuentas inactivas | Limitado | Limitado | Limitado | Limitado | Limitado | ❌ | ❌ | Limitado | ✅ >90 días inactivo | ❌ | | | Limitado | ❌ | ❌ | | Detección de nunca inició sesión | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Análisis de antigüedad de cuenta | ❌ | | | ❌ | ❌ | ❌ | | Detección de desperdicio de licencias | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Deshabilitados con licencias | ❌ | | | ❌ | ❌ | ❌ | | Seguimiento de expiración de contraseña | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Contraseñas expiradas | ❌ | ❌ | ✅ Análisis de expiración | ❌ | ❌ | ❌ | | Detección de estado de SSPR | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Habilitado/Registrado/Capaz | ❌ | ❌ | ❌ | ❌ | | Análisis de métodos SSPR | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Métodos de registro | ❌ | ❌ | ❌ | ❌ | | Detección de método de respaldo | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Sin métodos de respaldo | ❌ | ❌ | ❌ | ❌ | | Clasificación de método fuerte | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Métodos fuertes vs débiles | ❌ | ❌ | ❌ | ❌ | | Enumeración de dispositivos | ✅ Básico | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Exhaustivo | ❌ | ❌ | ❌ | ❌ | ❌ | | Detección de estado de cumplimiento | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | ✅ Cumplimiento/No cumplimiento/Desconocido | | | ❌ | ❌ | ❌ | | Detección de BYOD | ✅ Básico | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | ✅ Automático | | | ❌ | ❌ | ❌ | | Detección de inicio de sesión inactivo | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | ✅ >90 días | ✅ >90 días | | | Limitado | ❌ | ❌ | | Políticas de cumplimiento de Intune | ✅ Básico | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Enumeración completa | | | ❌ | ❌ | ❌ | | Análisis de confianza del dispositivo | ✅ Básico | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Tipos de unión | | | ❌ | ❌ | ❌ | | Estado de administración | ✅ Básico | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Administrado/No administrado | | | ❌ | ❌ | ❌ | | Seguimiento del último inicio de sesión | ✅ | ✅ Con analíticas | ✅ Con analíticas | ✅ Con analíticas | ✅ Con analíticas | Limitado (actividad de SP) | ❌ | ✅ Con analíticas | ✅ Con analíticas | ✅ Con analíticas | ✅ Con analíticas | ✅ Con analíticas | ✅ Con analíticas | ✅ Con analíticas | ✅ Con analíticas | ❌ | | Verificación de capacidad de inicio de sesión | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | Detección de estado de sincronización | ✅ Básico | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Sincronizado vs Solo nube | ❌ | | Detección de errores de sincronización | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Todos los errores de aprovisionamiento | ❌ | | Detección de sincronización inactiva | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ >7 días desde la sincronización | ❌ | | Identificación de conflictos de sincronización | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Atributos duplicados | ❌ | | Análisis de ámbito de sincronización | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Configuración básica | ❌ | | Enumeración de SKU del inquilino | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Enumeración completa | ❌ | ❌ | | Seguimiento de asignación de licencias | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Todas las asignaciones | ❌ | ❌ | | Detección de licencias privilegiadas | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ E5, P2, etc. | ❌ | ❌ | | Detección de licencias no utilizadas | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Deshabilitados con licencias | ❌ | ❌ | ❌ | ❌ | ✅ Nunca iniciaron sesión | ❌ | ❌ | | Analíticas de uso de licencias | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Estadísticas de consumo | ❌ | ❌ | ❌ | | Enumeración de Power Apps | ✅ Básico | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Exhaustivo | ❌ | | Enumeración de flujos de Power Automate | ✅ Básico | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Exhaustivo | ❌ | | Detección de conectores sensibles | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 30+ conectores | ❌ | | Detección de acciones de alto riesgo | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Eliminar/Crear/Modificar | ❌ | | Análisis de riesgo de conector | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ CRÍTICO/ALTO/MEDIO/BAJO | ❌ | ❌ | | Enumeración de grupos | ✅ Básico | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Exhaustivo (todos los tipos) | ❌ | | Detección de grupos sin propietario | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Grupos huérfanos | ❌ | | Detección de membresía excesiva | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ >100 o >500 miembros | ❌ | | Detección de grupos asignables a roles | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Grupos de riesgo CRÍTICO | ❌ | | Análisis de tipo de grupo | ✅ Básico | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Seguridad/M365/Distribución/Dinámico | ❌ | | Enumeración de concesiones de consentimiento OAuth | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Todos los OAuth2PermissionGrants | | Detección de consentimiento de administrador vs usuario | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ A nivel de inquilino vs individual | | Detección de permisos peligrosos | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Acceso a correo/Archivos/Directorio | | Detección de consentimiento inactivo | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Umbral configurable | | Detección de aplicaciones de terceros | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Microsoft vs terceros | | Verificación de publicador | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Estado de publicador verificado | | Escaneo multiinquilino | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Todos los inquilinos accesibles | ❌ | | Omitir inquilinos fallidos | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Continuar con fallos MFA/CA | ❌ | | Exportación de línea base de RBAC de Azure | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Línea base JSON | ❌ | | Detección de desviación de RBAC de Azure | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Asignaciones nuevas/Eliminadas/Modificadas | ❌ | | Soporte multi-suscripción | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Todas las suscripciones entre inquilinos | ❌ | | Expansión de miembros de grupo | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Expandir grupos para mostrar usuarios | ❌ | | Matriz de permisos de todos los usuarios | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Vista de permisos centrada en el usuario | ❌ | | Análisis de jerarquía de ámbito | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Sub/RG/Recurso | ❌ | | Exclusión de PIM/JIT | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Excluir asignaciones con límite de tiempo | ❌ | | Detección de condición ABAC | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Desviación por discrepancia de condición | ❌ | | Instrucciones de remediación | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Terraform/CLI/PowerShell | ❌ | | Evaluación de nivel de riesgo | Básico | Avanzado (ALTO/MEDIO/BAJO) | Avanzado (ALTO/MEDIO/BAJO) | Avanzado (ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | Avanzado (ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | Avanzado (CRÍTICO/ALTO/MEDIO) | Avanzado (CRÍTICO/ALTO/MEDIO/BAJO) | | Analíticas de actividad | Limitado | Detallado (inactivo/reciente/nunca) | Detallado (inactivo/reciente/nunca) | Detallado (inactivo/reciente/nunca) | Detallado (inactivo/reciente/nunca) | Básico (basado en antigüedad) | Detallado (expiración de credenciales/análisis de permisos) | Análisis de brechas de políticas | Detallado (actividad de administrador con ámbito) | Detallado (indicadores de inactividad) | Detallado (inactivo/reciente/nunca) | Detallado (inactivo/reciente/nunca) | Detallado (antigüedad de contraseña/brechas de políticas) | Detallado (actualidad de uso/estadísticas de protocolo) | Detallado (uso de licencias/seguimiento de no utilizadas) | Detallado (estadísticas de salud/errores de sincronización) | Detallado (estadísticas de recurso/entorno/propietario) | Detallado (estadísticas de tipo de grupo/propietario/membresía) | Detallado (estadísticas de tipo de ruta de ataque/complejidad/riesgo) | Detallado (estadísticas de tipo de desviación/rol/inquilino/suscripción) | Detallado (estadísticas de tipo de consentimiento/permiso/inactividad) | | Vista de matriz | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Análisis por departamento | ✅ | ✅ Con estadísticas | ✅ Con estadísticas | ✅ Con estadísticas | ✅ Con estadísticas | ❌ | ❌ | ✅ Con estadísticas | ✅ Con estadísticas | ❌ | ✅ Con estadísticas | ✅ Con estadísticas | ✅ Con estadísticas | ✅ Con estadísticas | ✅ Con estadísticas | ❌ | ❌ | ❌ | ❌ | ❌ | | Exportación a BloodHound | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | Informe HTML | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | Exportación CSV/JSON | ✅ | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Campos mejorados | ✅ Informe de línea base JSON/desviación | ✅ Campos mejorados | | Modo sigilo | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | Reconocimiento de equipo rojo | Auditorías de cumplimiento MFA | Seguridad de usuarios externos | Auditoría de acceso privilegiado | Gobierno de roles privilegiados | Seguridad de cuentas de servicio | Seguridad de registros de aplicaciones y gestión de credenciales | Análisis de brechas en políticas de seguridad | Gobierno de acceso administrativo con ámbito | Higiene y limpieza de cuentas | Confianza y cumplimiento de dispositivos | Seguridad de restablecimiento de contraseña | Cumplimiento de política de contraseñas | Migración y seguridad de autenticación heredada | Gobierno de licencias y optimización de costos | Salud y seguimiento de errores de sincronización de directorio | Seguridad de Power Platform y gobierno de conectores | Seguridad y gobierno de grupos | Análisis de rutas de ataque y detección de escalada de privilegios | Gobierno de RBAC de Azure multiinquilino y detección de acceso no autorizado | Seguridad de consentimiento OAuth y detección de concesiones de consentimiento ilícito |
pip install -r requirements.txt
O instalar manualmente:```bash
pip install msal requests
# Optional: Additional authentication methods
pip install azure-identity
Enumerate-EntraUsers: El script instalará automáticamente el módulo Microsoft.Graph.Users requerido en la primera ejecución.
Comprobación de seguridad MFA, Enumeración de cuentas de invitado, Comprobación de acceso de administrador crítico, Comprobación de roles privilegiados, Comprobación de entidad de servicio, Comprobación de registro de aplicaciones, Comprobación de acceso condicional, Comprobación de unidad administrativa, Comprobación de cuentas obsoletas, Comprobación de confianza de dispositivos, Comprobación de SSPR, Comprobación de política de contraseñas, Comprobación de autenticación heredada, Comprobación de licencias, Comprobación de sincronización de directorio, Comprobación de Power Platform y Comprobación de seguridad de grupos: Requieren el SDK de PowerShell de Microsoft Graph:
Comprobación de RBAC de Azure: Requiere los módulos de PowerShell de Azure:```powershell Install-Module Az -Scope CurrentUser
O instalar módulos individuales:```powershell
Install-Module Az.Accounts -Scope CurrentUser
Install-Module Az.Resources -Scope CurrentUser
Otras herramientas:```powershell Install-Module Microsoft.Graph -Scope CurrentUser
O instala módulos individuales:```powershell
Install-Module Microsoft.Graph.Authentication -Scope CurrentUser
Install-Module Microsoft.Graph.Users -Scope CurrentUser
Install-Module Microsoft.Graph.Identity.SignIns -Scope CurrentUser
Install-Module Microsoft.Graph.Identity.DirectoryManagement -Scope CurrentUser
Install-Module Microsoft.Graph.Applications -Scope CurrentUser
Install-Module Microsoft.Graph.Groups -Scope CurrentUser
Ambos scripts admiten múltiples métodos de autenticación:
az loginConnect-AzAccountGRAPH_ACCESS_TOKEN o AZURE_ACCESS_TOKENLa versión de Python también admite:
Esta sección proporciona una matriz completa de los métodos de autenticación y permisos de API requeridos por cada script del kit.
Todos los scripts admiten los mismos métodos de autenticación principales, con ligeras variaciones según la API de destino:
Scripts: EntraRecon, EntraMFACheck, EntraGuestCheck, EntraAppAccess, EntraRoleCheck, EntraServicePrincipalCheck, EntraConditionalAccessCheck, EntraAdminUnitCheck, EntraStaleAccountCheck, EntraDeviceCheck, EntraSSPRCheck, EntraPasswordPolicyCheck, EntraLegacyAuthCheck, EntraLicenseCheck, EntraDirectorySyncCheck, EntraPowerPlatformCheck, EntraGroupCheck, EntraApplicationCheck, EntraAttackPathCheck, EntraOAuthConsentCheck, EntraSignInRiskCheck, EntraPIMCheck, EntraComplianceCheck
Scripts: EntraAzureRBACCheck, EntraKeyVaultCheck, EntraStorageAccountCheck, EntraManagedIdentityCheck, EntraNetworkSecurityCheck, EntraAzureAttackPathCheck
La siguiente tabla muestra los ámbitos requeridos y de reserva para cada script basado en Microsoft Graph. Los ámbitos de reserva se utilizan cuando el usuario no tiene permisos para el conjunto completo de ámbitos requeridos.
Estos scripts usan Azure PowerShell (módulo Az) y requieren permisos de RBAC de Azure en lugar de ámbitos de Microsoft Graph:
scripts/python/entra_recon.py |
| Documento | Descripción |
|---|
| EntraRecon-PS1.md | Documentación completa del script de PowerShell que incluye todos los parámetros, características y ejemplos de uso |
| EntraRecon-PY.md | Documentación completa del script de Python que incluye métodos de autenticación, configuración de sigilo y ejemplos |
| EntraMFACheck-PS1.md | Documentación de Verificación de Seguridad MFA que incluye detección de buzones compartidos, seguimiento de inicio de sesión y evaluación de riesgos |
| EntraGuestCheck-PS1.md | Documentación de Enumeración de Cuentas Invitadas que incluye extracción de dominios de invitados, seguimiento de invitaciones y análisis de seguridad |
| EntraAppAccess-PS1.md | Documentación de Verificación de Acceso a PowerShell y Graph CLI que incluye seguimiento de acceso a aplicaciones, fechas de asignación y análisis de acceso privilegiado |
| EntraRoleCheck-PS1.md | Documentación de Verificación de Roles Privilegiados que incluye enumeración de roles, seguimiento de asignaciones de PIM, evaluación de riesgos y análisis de seguridad |
| EntraServicePrincipalCheck-PS1.md | Documentación de Verificación de Seguridad de Entidades de Servicio que incluye enumeración de credenciales, seguimiento de expiración, análisis de permisos, seguridad del propietario y evaluación de riesgos |
| EntraConditionalAccessCheck-PS1.md | Documentación de Verificación de Seguridad de Políticas de Acceso Condicional que incluye enumeración de políticas, detección de exclusiones, brechas de aplicación de MFA, cobertura de aplicaciones críticas y evaluación de riesgos |
| EntraStaleAccountCheck-PS1.md | Documentación de Verificación de Cuentas Inactivas que incluye detección de cuentas inactivas, detección de nunca iniciaron sesión, detección de desperdicio de licencias, seguimiento de expiración de contraseñas y análisis de higiene de cuentas |
| EntraDeviceCheck-PS1.md | Documentación de Verificación de Confianza y Cumplimiento de Dispositivos que incluye enumeración de dispositivos, detección de estado de cumplimiento, detección BYOD, seguimiento de inicios de sesión inactivos, políticas de cumplimiento de Intune y evaluación de riesgos |
| EntraSSPRCheck-PS1.md | Documentación de Verificación de Autoservicio de Restablecimiento de Contraseña que incluye detección de estado de SSPR, análisis de métodos de registro, detección de métodos de respaldo, clasificación de métodos fuertes, correlación de MFA y evaluación de riesgos |
| EntraPasswordPolicyCheck-PS1.md | Documentación de Verificación de Seguridad de Políticas de Contraseñas que incluye análisis de expiración de contraseñas, detección de contraseñas que nunca expiran, verificación de requisitos de complejidad, identificación de políticas débiles, seguimiento de antigüedad de contraseñas y evaluación de riesgos |
| EntraLegacyAuthCheck-PS1.md | Documentación de Verificación de Autenticación Heredada que incluye detección de protocolos heredados, análisis de registros de inicio de sesión, seguimiento de último uso, estadísticas de protocolos, correlación de MFA y evaluación de riesgos |
| EntraLicenseCheck-PS1.md | Documentación de Análisis de Licencias y SKU que incluye enumeración de SKU del inquilino, seguimiento de asignación de licencias de usuario, detección de licencias privilegiadas, identificación de licencias no utilizadas y evaluación de riesgos |
| EntraAdminUnitCheck-PS1.md | Documentación de Verificación de Seguridad de Unidades Administrativas que incluye enumeración de UA, análisis de asignación de roles con ámbito, enumeración de miembros, detección de estado de MFA, evaluación de riesgos y análisis de acceso de administradores con ámbito |
| EntraDirectorySyncCheck-PS1.md | Documentación de Verificación de Estado de Sincronización de Directorio que incluye análisis de estado de sincronización, detección de errores de sincronización, detección de sincronización inactiva, identificación de conflictos de sincronización, análisis de ámbito de sincronización y evaluación de riesgos |
| EntraPowerPlatformCheck-PS1.md | Documentación de Enumeración de Power Platform que incluye enumeración de Power Apps, enumeración de flujos de Power Automate, detección de conectores sensibles, identificación de acciones de alto riesgo, análisis de conectores y evaluación de riesgos |
| EntraGroupCheck-PS1.md | Documentación de Análisis de Seguridad de Grupos que incluye enumeración de grupos, análisis de propietarios con estado de MFA, detección de grupos sin propietario, detección de membresía excesiva, detección de grupos asignables a roles y evaluación de riesgos |
| EntraApplicationCheck-PS1.md | Documentación de Verificación de Seguridad de Registros de Aplicaciones que incluye enumeración de aplicaciones, análisis de credenciales, seguimiento de expiración, análisis de permisos de API, evaluación de seguridad del propietario y evaluación de riesgos |
| EntraAttackPathCheck-PS1.md | Documentación de Análisis de Rutas de Ataque que incluye rutas de escalada de privilegios, delegaciones de restablecimiento de contraseña, membresías de grupo transitivas, acceso a buzones compartidos, evaluación de riesgos y análisis de complejidad de rutas |
| EntraAzureRBACCheck-PS1.md | Documentación de Auditoría de Asignación de Roles RBAC de Azure y Detección de Desviación que incluye exportación de línea base, detección de desviación, soporte para múltiples suscripciones, soporte para múltiples inquilinos, omisión de inquilinos fallidos, expansión de miembros de grupo, matriz de permisos de todos los usuarios, exclusión de PIM/JIT, detección de discrepancia de condiciones ABAC, instrucciones de remediación (Terraform/CLI/PowerShell), seguimiento de asignación de roles, detección de cambios no autorizados y evaluación de riesgos |
| EntraOAuthConsentCheck-PS1.md | Documentación de Auditoría de Concesión de Consentimiento OAuth que incluye enumeración de OAuth2PermissionGrant, detección de consentimiento de administrador vs usuario, identificación de permisos peligrosos, detección de consentimiento inactivo, análisis de aplicaciones de terceros, correlación de actividad de inicio de sesión y evaluación de riesgos para detección de concesión de consentimiento ilícito |
| EntraSignInRiskCheck-PS1.md | Documentación de Análisis de Protección de Identidad que incluye enumeración de usuarios de riesgo, seguimiento de nivel/estado de riesgo, análisis de detección de riesgos, detección de viajes imposibles, detección de IP anónima, detección de rociado de contraseñas, detección de credenciales filtradas, análisis de patrones, análisis de tiempo y guía de remediación |
| EntraPIMCheck-PS1.md | Documentación de Auditoría de Configuración de Privileged Identity Management (PIM) que incluye brechas de configuración de acceso JIT, análisis de flujo de trabajo de aprobación, aplicación de MFA, requisitos de justificación, configuración de notificaciones, detección de asignaciones permanentes, PIM para Grupos, Revisiones de Acceso y evaluación de riesgos |
| EntraKeyVaultCheck-PS1.md | Documentación de Auditoría de Seguridad de Azure Key Vault que incluye análisis de modelo de acceso (RBAC vs políticas de acceso), estado de eliminación suave y protección contra purga, auditoría de seguridad de red (acceso público, firewall, VNet), detección de punto final privado, detección de acceso excesivamente permisivo, verificación de registro de diagnósticos, seguimiento de expiración de secretos/certificados/claves y evaluación de riesgos |
| EntraStorageAccountCheck-PS1.md | Documentación de Auditoría de Seguridad de Cuentas de Almacenamiento de Azure que incluye detección de contenedores de blobs públicos, verificación de aplicación de HTTPS, análisis de acceso con clave compartida, auditoría de seguridad de red (acceso público, firewall, VNet, puntos finales privados), análisis de protección de datos (eliminación suave, versionado), seguimiento de rotación de claves, detección de replicación entre inquilinos, verificación de versión de TLS, verificación de cifrado de infraestructura, verificación de registro de diagnósticos y evaluación de riesgos |
| EntraNetworkSecurityCheck-PS1.md | Documentación de Auditoría de Seguridad de Red de Azure que incluye análisis de reglas NSG, detección de reglas excesivamente permisivas (0.0.0.0/0, Any-Any), detección de puertos de administración abiertos (RDP, SSH, WinRM), análisis de uso de Azure Bastion, estado de protección DDoS, seguridad de emparejamiento de VNet, cobertura de NSG por subred, configuración de registros de flujo de NSG, análisis de puerta de enlace VPN/ExpressRoute, estado de análisis de tráfico y evaluación de riesgos |
| EntraManagedIdentityCheck-PS1.md | Documentación de Auditoría de Seguridad de Identidades Administradas de Azure que incluye inventario de identidades asignadas por sistema vs asignadas por usuario, análisis de asignación de roles, detección de identidades con privilegios altos (Propietario, Colaborador, UAA), detección de roles críticos, detección de acceso entre suscripciones, identificación de identidades no utilizadas, cobertura de recursos (VM, App Services, Function Apps), análisis de ámbito y evaluación de riesgos |
| EntraExchangeCheck-PS1.md | Documentación de Auditoría de Seguridad de Exchange Online que incluye análisis de reglas de bandeja de entrada, detección de reenvío externo, auditoría de reglas de transporte, análisis de delegación de buzones, estado de registro de auditoría, análisis de políticas de OWA, reglas de acceso de cliente, detección de indicadores de BEC, detección de reglas sospechosas y evaluación de riesgos |
| EntraSharePointCheck-PS1.md | Documentación de Auditoría de Seguridad de SharePoint Online que incluye configuración de uso compartido del inquilino, detección de enlaces anónimos, detección de anulaciones a nivel de sitio, análisis de acceso de invitados, configuración de uso compartido de OneDrive, cobertura de etiquetas de sensibilidad, análisis de enlace predeterminado, políticas de expiración de enlaces y evaluación de riesgos |
| EntraTeamsCheck-PS1.md | Documentación de Auditoría de Seguridad de Microsoft Teams que incluye configuración de acceso externo (federación), políticas de acceso de invitados, análisis de políticas de reuniones (unión anónima, omisión de sala de espera), políticas de permisos de aplicaciones, políticas de mensajería, análisis de inventario de Teams y evaluación de riesgos |
| EntraAzureAttackPathCheck-PS1.md | Documentación de Análisis de Rutas de Ataque entre Servicios de Azure que incluye rutas de VM a Key Vault, escalada de privilegios de identidad administrada, movimiento lateral de almacenamiento, vulnerabilidades de roles personalizados, rutas entre suscripciones, herencia de grupos de administración, narrativas de ataque y evaluación de riesgos |
| EntraReport-PS1.md | Documentación de Generador de Reportes de Seguridad Consolidados que incluye ejecución de múltiples comprobaciones, panel ejecutivo HTML, cálculo de puntuación de seguridad, matriz de prioridades de remediación, análisis de tendencias con comparación de línea base, modos de escaneo rápido y escaneo completo, y exportación de línea base JSON |
| EntraComplianceCheck-PS1.md | Documentación de Evaluación de Cumplimiento que incluye mapeo de CIS Azure Benchmark, mapeo de controles NIST 800-53, criterios de confianza de SOC 2, controles ISO 27001, indicadores de GDPR, puntuación de cumplimiento, filtrado por familia de controles y generación de reportes ejecutivos |
| SharePointEnum-PS1.md | Documentación de Enumeración de SharePoint Online que incluye búsqueda de API REST, consultas FQL, filtros de refinamiento, descarga de archivos (disco y Base64), detección automática, respaldo inteligente de autenticación (validación de token de sesión, respaldo de Azure CLI, flujo de código de dispositivo MSAL), modo sigiloso y opciones de exportación |
| Característica | PowerShell | Python |
|---|
| Enumeración de usuarios (15+ métodos) | ✅ | ✅ |
| Evaluación de seguridad | ✅ | ✅ |
| Superficie de ataque de credenciales | ✅ | ✅ |
| Análisis de acceso condicional | ✅ | ✅ |
| Enumeración de dispositivos/Intune | ✅ | ✅ |
| Análisis de rutas de ataque | ✅ | ✅ |
| Enumeración de Power Platform | ✅ | ✅ |
| Análisis de movimiento lateral | ✅ | ✅ |
| Exportación de BloodHound | ✅ | ✅ |
| Generación de reportes HTML | ✅ | ✅ |
| Modo sigiloso | ✅ | ✅ |
| Menú interactivo | ✅ | ✅ |
| Token de Azure CLI | ✅ | ✅ |
| Flujo de código de dispositivo | ✅ | ✅ |
| Intercambio de token de actualización | ❌ | ✅ |
| Base de datos extendida de ID de aplicación | ❌ | ✅ |
| Preajustes de sigilo | ❌ | ✅ |
| Parámetro | Método | Descripción |
|---|
| (predeterminado) | Interactivo | Connect-MgGraph con solicitud de navegador OAuth interactivo |
-UseAzCliToken | Token de Azure CLI | Usa az account get-access-token --resource https://graph.microsoft.com |
-UseAzPowerShellToken | Token de Azure PowerShell | Usa Get-AzAccessToken -ResourceUrl "https://graph.microsoft.com" |
| Parámetro | Método | Descripción |
|---|
| (predeterminado) | Interactivo | Connect-AzAccount con solicitud de navegador interactiva |
-UseAzCliToken | Token de Azure CLI | Usa sesión existente de az login |
-UseAzPowerShellToken | Token de Azure PowerShell | Usa sesión existente de Connect-AzAccount |
-UseDeviceCode | Flujo de código de dispositivo | Connect-AzAccount -UseDeviceAuthentication para terminales sin interfaz gráfica |
| Script | Módulo | Autenticación |
|---|
| EntraExchangeCheck | ExchangeOnlineManagement | Connect-ExchangeOnline (requiere rol de Administrador de Exchange) |
| EntraSharePointCheck | Microsoft.Online.SharePoint.PowerShell | Connect-SPOService a la URL de administración de SharePoint (requiere rol de Administrador de SharePoint) |
| SharePointEnum | Az.Accounts (opcional) | Fallback inteligente: token de sesión de Azure → Azure CLI → flujo de código de dispositivo MSAL (Id. de cliente de Microsoft Office) |
| EntraTeamsCheck | MicrosoftTeams | Connect-MicrosoftTeams (requiere rol de Administrador de Teams) |
| Script | Ámbitos requeridos | Ámbitos de reserva |
|---|
| Invoke-EntraApplicationCheck | Application.Read.All, Directory.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.All | Application.Read.All, Directory.Read.All, User.ReadBasic.All |
| Invoke-EntraRoleCheck | Directory.Read.All, RoleManagement.Read.Directory, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.All | Directory.Read.All, RoleManagement.Read.Directory, User.ReadBasic.All |
| Invoke-EntraMFACheck | User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.All | User.ReadBasic.All, UserAuthenticationMethod.Read.All |
| Invoke-EntraGroupCheck | Directory.Read.All, Group.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.All | Directory.Read.All, Group.Read.All, User.ReadBasic.All |
| Invoke-EntraGuestCheck | User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.All | User.ReadBasic.All, UserAuthenticationMethod.Read.All |
| Invoke-EntraAdminUnitCheck | Directory.Read.All, AdministrativeUnit.Read.All, RoleManagement.Read.Directory, User.Read.All, UserAuthenticationMethod.Read.All | Directory.Read.All, AdministrativeUnit.Read.All, User.ReadBasic.All |
| Invoke-EntraConditionalAccessCheck | Policy.Read.All, Directory.Read.All, Application.Read.All, User.Read.All | Policy.Read.All, Directory.Read.All |
| Invoke-EntraDeviceCheck | Device.Read.All, Directory.Read.All, DeviceManagementManagedDevices.Read.All, DeviceManagementConfiguration.Read.All | Device.Read.All, Directory.Read.All |
| Invoke-EntraDirectorySyncCheck | Directory.Read.All, User.Read.All, AuditLog.Read.All | Directory.Read.All, User.ReadBasic.All |
| Invoke-EntraAttackPathCheck | Directory.Read.All, Group.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, RoleManagement.Read.Directory, AuditLog.Read.All | Directory.Read.All, Group.Read.All, User.ReadBasic.All |
| Invoke-EntraServicePrincipalCheck | Application.Read.All, Directory.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.All | Application.Read.All, Directory.Read.All, User.ReadBasic.All |
| Invoke-EntraPasswordPolicyCheck | User.Read.All, Directory.Read.All, AuditLog.Read.All | User.ReadBasic.All, Directory.Read.All |
| Invoke-EntraLicenseCheck | Directory.Read.All, User.Read.All | User.ReadBasic.All |
| Invoke-EntraLegacyAuthCheck | AuditLog.Read.All, Directory.Read.All, User.Read.All, UserAuthenticationMethod.Read.All | Directory.Read.All, User.ReadBasic.All |
| Invoke-EntraSSPRCheck | User.Read.All, UserAuthenticationMethod.Read.All, Reports.Read.All, AuditLog.Read.All | User.ReadBasic.All, Reports.Read.All |
| Invoke-EntraStaleAccountCheck | User.Read.All, Directory.Read.All, AuditLog.Read.All | User.ReadBasic.All, Directory.Read.All |
| Invoke-EntraAppAccess | Application.Read.All, Directory.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.All | Application.Read.All, Directory.Read.All, User.ReadBasic.All |
| Invoke-EntraPIMCheck | Directory.Read.All, User.Read.All, RoleManagement.Read.Directory, PrivilegedAccess.Read.AzureAD | Directory.Read.All, User.ReadBasic.All |
| Invoke-EntraOAuthConsentCheck | Application.Read.All, Directory.Read.All, User.Read.All, AuditLog.Read.All | Application.Read.All, Directory.Read.All, User.ReadBasic.All |
| Invoke-EntraSignInRiskCheck | IdentityRiskyUser.Read.All, IdentityRiskySignIn.Read.All, IdentityRiskDetection.Read.All, AuditLog.Read.All, User.Read.All, Directory.Read.All | IdentityRiskyUser.Read.All, IdentityRiskySignIn.Read.All, IdentityRiskDetection.Read.All |
| Invoke-EntraPowerPlatformCheck | User.Read.All, Directory.Read.All, Application.Read.All | (Permisos de API de Power Platform mediante contexto de usuario) |
| Invoke-EntraComplianceCheck | Directory.Read.All, Policy.Read.All, User.Read.All, Application.Read.All, AuditLog.Read.All, RoleManagement.Read.Directory, IdentityRiskyUser.Read.All, IdentityRiskEvent.Read.All, UserAuthenticationMethod.Read.All | Directory.Read.All, Policy.Read.All, User.ReadBasic.All |
| Script | Permisos de RBAC de Azure | Ámbitos de Graph adicionales |
|---|
| Invoke-EntraAzureRBACCheck | Rol Reader en las suscripciones de destino | User.Read, Directory.Read.All, GroupMember.Read.All |
| Invoke-EntraKeyVaultCheck | Reader en suscripciones, Key Vault Reader para enumeración de secretos | - |
| Invoke-EntraStorageAccountCheck | Reader en suscripciones, Storage Blob Data Reader para enumeración de contenedores | - |
| Invoke-EntraManagedIdentityCheck | Reader en suscripciones | Directory.Read.All para consultas de Graph |