Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
EvilMist — EvilMist 是一套旨在支持云渗透测试与红队行动的脚本和实用工具合集。该工具包有助于识别错误配置、评估权限提升路径,并模拟攻击技术。EvilMist 旨在简化以云为重点的红队工作流程,并提升云基础设施的整体安全态势。 | Kitploit
工具/GitHubGitHub/logisek/evilmist
权限提升侦察漏洞分析信息收集渗透测试云安全身份与访问管理 (IAM)身份验证错误配置红队
GitHublogisek/evilmist

EvilMist

16122187个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

EvilMist 是一套旨在支持云渗透测试与红队行动的脚本和实用工具合集。该工具包有助于识别错误配置、评估权限提升路径,并模拟攻击技术。EvilMist 旨在简化以云为重点的红队工作流程,并提升云基础设施的整体安全态势。

查看仓库
EvilMist 标志

EvilMist

EvilMist 是一个脚本和实用工具集合,旨在支持云安全配置审计、云渗透测试和云红队行动。该工具包有助于识别错误配置、评估权限提升路径并模拟攻击技术。EvilMist 旨在简化以云为重点的红队工作流程,并改善云基础设施的整体安全态势。


工具

未经验证的 Entra ID 枚举

未经验证的 Azure/Entra ID 枚举和侦察工具。使用公开可用的 API 和 DNS 查询执行被动/半被动枚举,无需任何身份验证令牌。

主要特点:

  • 无需认证 - 无需 Azure 令牌或凭据即可运行
  • 租户发现 - 通过 azmap.dev 和 OpenID 配置检索租户 ID、名称、区域
  • 域领域分析 - 识别托管认证与联合认证
  • 用户存在性检查 - 通过 GetCredentialType API 验证电子邮件地址
  • DNS 侦察 - 枚举 MX、SPF、TXT、CNAME、SRV、Autodiscover 记录
  • 端口扫描 - 检查常见 Azure 端口(HTTPS、LDAP、Kerberos、RDP)
  • 隐身模式 - 可配置的延迟和抖动以避免速率限制
  • 导出选项 - JSON 和 CSV 导出格式
版本文档文件
PowerShellEntraEnum-PS1.mdscripts/powershell/Invoke-EntraEnum.ps1

Enumerate-EntraUsers

全面的 Azure Entra ID (Azure AD) 用户枚举和安全评估工具,提供 PowerShell 和 Python 两种版本。

主要特点:

  • 15 种以上用户枚举方法 - 即使在直接 /users 访问被阻止时也能工作
  • 安全评估 - MFA 状态、特权角色、过期帐户、来宾用户
  • 凭据攻击面 - SSPR、旧版认证、应用密码分析
  • 条件访问分析 - 策略枚举和差距检测
  • 设备和 Intune 枚举 - 受管理设备、合规策略
  • 攻击路径分析 - 权限提升路径和横向移动
  • Power Platform - Power Apps 和 Power Automate 流程枚举
  • 导出选项 - BloodHound/AzureHound JSON、HTML 报告、CSV/JSON
  • 隐身模式 - 可配置的延迟和抖动以避免检测
版本文档文件
PowerShellEntraRecon-PS1.mdscripts/powershell/Invoke-EntraRecon.ps1
PythonEntraRecon-PY.md

MFA 安全检查

专注的安全评估工具,用于识别未启用多因素认证(MFA)的 Azure Entra ID 用户。包括共享邮箱检测和登录活动分析等高级功能。

主要特点:

  • MFA 检测 - 识别未启用强认证方法的用户
  • 最后登录追踪 - 显示最近登录日期/时间和活动模式
  • 共享邮箱检测 - 自动识别并过滤共享邮箱帐户
  • 登录能力检查 - 确定帐户是否能够实际认证
  • 风险评估 - 按风险级别对用户分类(高/中/低)
  • 活动分析 - 登录统计、部门细分、过期帐户
  • 矩阵视图 - 紧凑表格格式,便于快速视觉扫描
  • 导出选项 - 带有全面用户详细信息的 CSV/JSON
  • 隐身模式 - 可配置的延迟和抖动以避免检测
版本文档文件
PowerShellEntraMFACheck-PS1.mdscripts/powershell/Invoke-EntraMFACheck.ps1

来宾帐户枚举

全面的来宾帐户分析工具,用于识别、分析和评估 Azure Entra ID 中外部用户的安全态势。对于来宾访问治理和安全审计至关重要。

主要特点:

  • 来宾帐户发现 - 枚举租户中所有来宾用户
  • MFA 状态检测 - 识别未启用多因素认证的来宾
  • 最后登录追踪 - 显示来宾的登录日期/时间和活动模式
  • 来宾域提取 - 识别来宾用户的来源组织
  • 邀请状态追踪 - 显示已接受、待处理或过期的邀请
  • 风险评估 - 按风险级别对来宾分类(高/中/低)
  • 活动分析 - 登录统计、过期帐户、未使用的邀请
  • 矩阵视图 - 紧凑表格格式,便于快速视觉扫描
  • 过滤选项 - 仅显示未启用 MFA 的来宾或包括禁用帐户
  • 导出选项 - 带有全面来宾详细信息的 CSV/JSON
  • 隐身模式 - 可配置的延迟和抖动以避免检测
版本文档文件
PowerShellEntraGuestCheck-PS1.mdscripts/powershell/Invoke-EntraGuestCheck.ps1

关键管理访问检查

全面的安全评估工具,用于识别可访问 10 个关键管理应用程序(包括 PowerShell 工具、管理门户、核心 Microsoft 365 服务和特权身份管理)的 Azure Entra ID 用户。对于特权访问治理和管理工具审计至关重要。

主要特点:

  • 关键访问发现 - 枚举所有层级中具有管理应用程序访问权限的用户
  • 显式分配重点 - 显示具有提升/管理访问权限的用户(而非基础用户访问)
  • 默认访问检测 - 自动检测并警告具有默认访问权限的应用程序
  • 安全聚焦结果 - 过滤掉基础用户访问的干扰信息,专注于特权用户
  • 多应用程序覆盖 - 追踪 10 个关键应用:Azure/AD PowerShell、Azure CLI、Graph Tools、M365/Azure 门户、Exchange/SharePoint Online 和 PIM
  • MFA 状态检测 - 识别未启用多因素认证的特权用户
  • 最后登录追踪 - 显示登录日期/时间和活动模式
  • 分配追踪 - 显示用户何时获得管理访问权限
  • 风险评估 - 按风险级别对用户分类(高/中/低)
  • 活动分析 - 登录统计、过期帐户、不活跃用户
  • 矩阵视图 - 紧凑表格格式,便于快速视觉扫描
  • 过滤选项 - 仅显示未启用 MFA 的用户或包括禁用帐户
  • 导出选项 - 带有全面访问详细信息的 CSV/JSON
  • 隐身模式 - 可配置的延迟和抖动以避免检测
版本文档文件
PowerShellEntraAppAccess-PS1.mdscripts/powershell/Invoke-EntraAppAccess.ps1

快速开始

脚本调度器 (PowerShell)

从根目录执行任何脚本,无需导航到子文件夹:```powershell

Interactive mode - shows menu to select script

.\Invoke-EvilMist.ps1

Execute specific script directly

.\Invoke-EvilMist.ps1 -Script EntraRecon -ExportPath "users.csv"

List all available scripts

.\Invoke-EvilMist.ps1 -List

Execute with any parameters (all passed through to target script)

.\Invoke-EvilMist.ps1 -Script EntraMFACheck -Matrix -OnlyNoMFA

root@kitploit:~
**可用的脚本:** 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

### 未经身份验证的 Entra ID 枚举 (PowerShell)

**要求:** PowerShell 7+(无需额外模块)```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

📖 完整文档: EntraEnum-PS1.md

Enumerate-EntraUsers (PowerShell)

要求: PowerShell 7+```powershell

Using dispatcher (recommended)

.\Invoke-EvilMist.ps1 -Script EntraRecon

With Azure CLI token

.\Invoke-EvilMist.ps1 -Script EntraRecon -UseAzCliToken

Export all users

.\Invoke-EvilMist.ps1 -Script EntraRecon -ExportPath "users.csv"

Stealth mode

.\Invoke-EvilMist.ps1 -Script EntraRecon -EnableStealth

root@kitploit:~
📖 **完整文档:** [EntraRecon-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraRecon-PS1.md)

### Enumerate-EntraUsers (Python)

**要求:** Python 3.8+, `msal`, `requests````bash
# Install dependencies
pip install -r requirements.txt

# Run directly from subfolder
python scripts\python\entra_recon.py

📖 完整文档: EntraRecon-PY.md

MFA 安全检查(PowerShell)

要求: PowerShell 7+, Microsoft.Graph modules```powershell

Using dispatcher (recommended)

.\Invoke-EvilMist.ps1 -Script EntraMFACheck

Scan for users without MFA

.\Invoke-EvilMist.ps1 -Script EntraMFACheck

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraMFACheck -ExportPath "no-mfa-users.csv"

Matrix view with all features

.\Invoke-EvilMist.ps1 -Script EntraMFACheck -Matrix -IncludeDisabledUsers

Stealth mode

.\Invoke-EvilMist.ps1 -Script EntraMFACheck -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraMFACheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraMFACheck-PS1.md)

### 来宾帐户枚举(PowerShell)

**要求:** PowerShell 7+、Microsoft.Graph 模块```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

📖 完整文档: EntraGuestCheck-PS1.md

关键管理访问检查 (PowerShell)

要求: PowerShell 7+, Microsoft.Graph modules```powershell

Check users with critical administrative access (10 apps)

.\Invoke-EvilMist.ps1 -Script EntraAppAccess

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraAppAccess -ExportPath "app-access.csv"

Show only users without MFA in matrix view

.\Invoke-EvilMist.ps1 -Script EntraAppAccess -Matrix -OnlyNoMFA

Stealth mode scan

.\Invoke-EvilMist.ps1 -Script EntraAppAccess -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraAppAccess-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraAppAccess-PS1.md)

### 特权角色检查 (PowerShell)

**要求:** 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

📖 完整文档: EntraRoleCheck-PS1.md

服务主体安全检查 (PowerShell)

要求: PowerShell 7+, Microsoft.Graph 模块```powershell

Check all service principals and analyze security posture

.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -ExportPath "service-principals.csv"

Show only service principals with expired credentials in matrix view

.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -Matrix -OnlyExpiredCredentials

Show only high-permission service principals

.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -OnlyHighPermission -ExportPath "high-perm-sp.csv"

Stealth mode scan

.\Invoke-EvilMist.ps1 -Script EntraServicePrincipalCheck -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraServicePrincipalCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraServicePrincipalCheck-PS1.md)

**主要功能:**
- **全面的角色覆盖** - 枚举所有目录角色,包括关键、高、中、低风险角色
- **PIM 支持** - 识别永久(活动)和 PIM 管理的(合格/活动)角色分配
- **分配追踪** - 显示分配日期、持续时间和过期日期
- **MFA 状态检测** - 识别未启用多因素身份验证的特权用户
- **最后登录追踪** - 显示登录日期/时间和活动模式
- **风险评估** - 根据角色关键性和安全态势对用户进行风险级别分类
- **活动分析** - 登录统计、陈旧账户、不活跃用户
- **矩阵视图** - 紧凑表格格式,便于快速视觉扫描
- **过滤选项** - 仅显示未启用 MFA 的用户、仅显示永久分配,或包含已禁用的账户
- **导出选项** - 包含完整角色分配详情的 CSV/JSON
- **隐身模式** - 可配置的延迟和抖动以避免检测

| Version | Documentation | File |
|---------|---------------|------|
| PowerShell | [EntraServicePrincipalCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraServicePrincipalCheck-PS1.md) | `scripts/powershell/Invoke-EntraServicePrincipalCheck.ps1` |

---

### 应用程序注册安全检查 (PowerShell)

**要求:** PowerShell 7+、Microsoft.Graph 模块```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

📖 完整文档: EntraApplicationCheck-PS1.md

主要功能:

  • 全面的应用枚举 - 枚举租户中的所有应用程序注册
  • 凭据分析 - 识别包含机密和证书的应用程序
  • 过期跟踪 - 检测已过期和即将过期的凭据(≤30天)
  • API 权限分析 - 识别具有高风险和关键权限的应用程序
  • 所有者安全评估 - 检查应用所有者及其 MFA 状态
  • 风险评估 - 根据权限和凭据将应用程序按风险级别分类(CRITICAL/HIGH/MEDIUM/LOW)
  • 矩阵视图 - 紧凑表格格式,便于快速视觉扫描
  • 筛选选项 - 仅显示具有凭据、过期凭据或高权限的应用程序
  • 导出选项 - 包含全面应用程序详细信息的 CSV/JSON
  • 隐身模式 - 可配置延迟和随机抖动以避免检测
版本文档文件
PowerShellEntraApplicationCheck-PS1.mdscripts/powershell/Invoke-EntraApplicationCheck.ps1

条件访问策略安全检查 (PowerShell)

要求: PowerShell 7+、Microsoft.Graph 模块```powershell

Analyze all Conditional Access policies

.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -ExportPath "ca-policies.csv"

Show only policies with exclusions in matrix view

.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -Matrix -OnlyWithExclusions

Show only policies without MFA enforcement

.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -OnlyMFAgaps -ExportPath "mfa-gaps.csv"

Stealth mode scan

.\Invoke-EvilMist.ps1 -Script EntraConditionalAccessCheck -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraConditionalAccessCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraConditionalAccessCheck-PS1.md)

### 管理单元安全检查 (PowerShell)

**要求:** 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

📖 完整文档: EntraAdminUnitCheck-PS1.md

主要功能:

  • 管理单元枚举 - 枚举所有管理单元及其配置详情
  • 作用域角色分配分析 - 识别所有作用域内的管理员及其角色
  • 成员枚举 - 显示管理单元成员及其角色
  • MFA状态检测 - 识别未启用多重身份验证的作用域管理员
  • 最后登录跟踪 - 显示登录日期/时间及活动模式
  • 风险评估 - 根据作用域管理员访问权限将分配按风险级别(严重/高/中/低)分类
  • 活动分析 - 登录统计、过时账户、非活跃管理员
  • 矩阵视图 - 紧凑表格格式,便于快速视觉扫描
  • 筛选选项 - 仅显示未启用MFA的管理员或包含已禁用的账户
  • 导出选项 - CSV/JSON格式,包含全面的作用域分配详情
  • 隐身模式 - 可配置延迟与抖动以避免检测
版本文档文件
PowerShellEntraAdminUnitCheck-PS1.mdscripts/powershell/Invoke-EntraAdminUnitCheck.ps1

过时账户检查 (PowerShell)

要求: PowerShell 7+, Microsoft.Graph 模块```powershell

Identify stale accounts and account hygiene issues

.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck -ExportPath "stale-accounts.csv"

Include disabled accounts in matrix view

.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck -IncludeDisabledUsers -Matrix

Stealth mode scan

.\Invoke-EvilMist.ps1 -Script EntraStaleAccountCheck -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraStaleAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraStaleAccountCheck-PS1.md)

**主要功能:**
- **陈旧账户检测** - 识别最近未登录(超过90天)的账户
- **从未登录检测** - 查找从未使用过的账户
- **许可证浪费检测** - 识别已禁用但仍分配有许可证的账户
- **密码过期跟踪** - 检测密码已过期的账户
- **账户年龄分析** - 计算账户年龄并与非活跃程度关联
- **风险评估** - 按风险级别(CRITICAL/HIGH/MEDIUM/LOW)对账户分类
- **活动分析** - 登录统计、陈旧账户细分
- **矩阵视图** - 紧凑表格格式,便于快速视觉扫描
- **筛选选项** - 包含或排除已禁用账户
- **导出选项** - CSV/JSON格式,包含全面的账户详情
- **隐身模式** - 可配置延迟和抖动以避免检测

| 版本 | 文档 | 文件 |
|---------|---------------|------|
| PowerShell | [EntraStaleAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraStaleAccountCheck-PS1.md) | `scripts/powershell/Invoke-EntraStaleAccountCheck.ps1` |

---

### 设备信任与合规性检查 (PowerShell)

**要求:** PowerShell 7+, 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

📖 完整文档: EntraDeviceCheck-PS1.md

关键特性:

  • 全面设备枚举 - 枚举租户中所有已注册设备
  • 合规状态检测 - 识别合规、不合规及未知合规状态的设备
  • BYOD 检测 - 自动识别个人/BYOD 设备
  • 陈旧登录检测 - 识别登录活动超过90天的设备
  • 设备信任分析 - 分析加入类型(Azure AD 加入、混合加入、已注册)
  • 管理状态 - 识别受管设备与非受管设备
  • Intune 合规策略 - 枚举 Intune 合规策略及其分配情况
  • 风险评估 - 基于合规缺口和信任问题将设备按风险等级(严重/高/中/低)分类
  • 活动分析 - 登录统计、陈旧设备、注册日期
  • 矩阵视图 - 紧凑表格格式,便于快速视觉扫描
  • 过滤选项 - 仅显示不合规、BYOD 或陈旧设备
  • 导出选项 - CSV/JSON 格式,包含全面的设备详情
  • 隐身模式 - 可配置延迟和抖动以避免检测
版本文档文件
PowerShellEntraDeviceCheck-PS1.mdscripts/powershell/Invoke-EntraDeviceCheck.ps1

自助密码重置检查(PowerShell)

要求: PowerShell 7+, Microsoft.Graph 模块```powershell

Check users with SSPR enabled

.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -ExportPath "sspr-users.csv"

Show only users without backup methods in matrix view

.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -Matrix -OnlyNoBackup

Include disabled users

.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -IncludeDisabledUsers -ExportPath "all-sspr-users.csv"

Stealth mode scan

.\Invoke-EvilMist.ps1 -Script EntraSSPRCheck -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraSSPRCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraSSPRCheck-PS1.md)

**主要功能:**
- **SSPR 状态检测** - 识别已启用、注册或具备 SSPR 能力的用户
- **注册方法分析** - 分析 SSPR 已注册的认证方法
- **备份方法检测** - 识别未配置备份方法的用户
- **强方法检测** - 区分强认证方法与弱认证方法
- **MFA 状态关联** - 将 SSPR 配置与 MFA 状态交叉引用
- **最后登录跟踪** - 显示登录日期/时间和活动模式
- **风险评估** - 根据 SSPR 配置将用户按风险级别 (HIGH/MEDIUM/LOW) 分类
- **活动分析** - 登录统计、长期未登录账户、非活跃用户
- **矩阵视图** - 紧凑表格格式,便于快速视觉扫描
- **过滤选项** - 仅显示无备份方法的用户或包含已禁用账户
- **导出选项** - 包含全面 SSPR 详细信息的 CSV/JSON
- **隐身模式** - 可配置的延迟和抖动以避免检测

| 版本 | 文档 | 文件 |
|---------|---------------|------|
| PowerShell | [EntraSSPRCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraSSPRCheck-PS1.md) | `scripts/powershell/Invoke-EntraSSPRCheck.ps1` |

---

### 密码策略安全检查 (PowerShell)

**要求:** PowerShell 7+, 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

📖 完整文档: EntraPasswordPolicyCheck-PS1.md

主要功能:

  • 密码过期分析 - 检查每个用户的密码过期策略
  • 永不过期检测 - 识别启用了「密码永不过期」标志的用户
  • 复杂度要求 - 检查密码复杂度要求(强密码强制)
  • 弱策略检测 - 识别密码策略较弱的用户
  • 密码年龄追踪 - 计算密码使用时长及过期风险
  • 风险评估 - 根据策略强度将用户风险等级分类(严重/高/中/低)
  • 活动分析 - 登录统计、密码年龄分析、策略缺口分析
  • 矩阵视图 - 紧凑表格格式,便于快速视觉扫描
  • 筛选选项 - 仅显示弱策略或永不过期账户
  • 导出选项 - CSV/JSON格式,包含全面的策略详情
  • 隐身模式 - 可配置的延迟与抖动,避免被检测
版本文档文件
PowerShellEntraPasswordPolicyCheck-PS1.mdscripts/powershell/Invoke-EntraPasswordPolicyCheck.ps1

旧版身份验证检查 (PowerShell)

要求: PowerShell 7+, Microsoft.Graph modules```powershell

Analyze all legacy authentication usage

.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -ExportPath "legacy-auth.csv"

Show only recent usage (last 30 days) in matrix view

.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -Matrix -OnlyRecent

Include disabled accounts

.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -IncludeDisabledUsers -ExportPath "all-legacy-users.csv"

Stealth mode scan

.\Invoke-EvilMist.ps1 -Script EntraLegacyAuthCheck -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraLegacyAuthCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraLegacyAuthCheck-PS1.md)

**主要功能:**
- **旧版协议检测** - 识别 10 种旧版身份验证协议(IMAP、POP3、SMTP、Exchange ActiveSync 等)
- **登录日志分析** - 查询审核日志中旧版身份验证的使用情况(最近 90 天)
- **最后使用追踪** - 显示上次旧版身份验证的日期和时间
- **协议统计** - 跟踪每个协议的成功/失败登录次数
- **MFA 状态检测** - 识别使用旧版身份验证但未启用多因素身份验证的用户
- **风险评估** - 根据使用模式和最近活跃程度对用户按风险级别(严重/高/中/低)进行归类
- **活动分析** - 登录统计、协议细分、使用频率
- **矩阵视图** - 紧凑的表格格式,便于快速视觉扫描
- **过滤选项** - 仅显示近期使用情况或包含已禁用账户
- **导出选项** - 包含完整旧版身份验证详情 CSV/JSON
- **隐身模式** - 可配置的延迟和抖动以避免被检测

| 版本 | 文档 | 文件 |
|---------|---------------|------|
| PowerShell | [EntraLegacyAuthCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraLegacyAuthCheck-PS1.md) | `scripts/powershell/Invoke-EntraLegacyAuthCheck.ps1` |

---

### 许可证和 SKU 分析 (PowerShell)

**要求:** PowerShell 7+、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

📖 完整文档: EntraLicenseCheck-PS1.md

主要功能:

  • 租户 SKU 枚举 - 列出所有已订阅的许可证 SKU 及其消耗情况
  • 用户许可证分配追踪 - 识别所有拥有许可证分配的用户
  • 高权限许可证检测 - 自动识别 E5、P2 及其他高权限许可证
  • 未使用许可证检测 - 识别分配给从未登录用户的许可证
  • 风险评估 - 根据许可证权限将许可证分配按风险等级分类(严重/高/中/低)
  • 许可证使用分析 - 消耗统计、未使用许可证追踪、SKU 细目
  • 矩阵视图 - 紧凑表格格式,便于快速目视扫描
  • 过滤选项 - 仅显示高权限许可证、未使用许可证或包含已禁用账户
  • 导出选项 - CSV/JSON,包含全面的许可证详情
  • 隐蔽模式 - 可配置延迟和抖动,避免检测
版本文档文件
PowerShellEntraLicenseCheck-PS1.mdscripts/powershell/Invoke-EntraLicenseCheck.ps1

目录同步状态检查(PowerShell)

要求: PowerShell 7+, Microsoft.Graph modules```powershell

Check directory sync status for all users

.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -ExportPath "sync-status.csv"

Show only users with sync errors in matrix view

.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -Matrix -OnlySyncErrors

Show only users with stale sync (>7 days)

.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -OnlyStaleSync -ExportPath "stale-sync.csv"

Stealth mode scan

.\Invoke-EvilMist.ps1 -Script EntraDirectorySyncCheck -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraDirectorySyncCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraDirectorySyncCheck-PS1.md)

**主要特性:**
- **同步状态分析** - 识别已同步与仅云端用户
- **同步错误检测** - 列举所有预配与同步错误
- **陈旧同步检测** - 识别同步超过7天的用户
- **同步冲突识别** - 检测重复属性与冲突
- **同步范围分析** - 检查同步配置与范围
- **风险评估** - 根据同步健康状态将用户按风险等级分类(严重/高/中/低)
- **活动分析** - 同步统计、错误分类、域分析
- **矩阵视图** - 紧凑表格格式,便于快速视觉扫描
- **筛选选项** - 仅显示同步错误、陈旧同步或包含禁用账户
- **导出选项** - CSV/JSON格式,包含全面的同步详情
- **隐身模式** - 可配置的延迟与抖动以避免检测

| 版本 | 文档 | 文件 |
|---------|---------------|------|
| PowerShell | [EntraDirectorySyncCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraDirectorySyncCheck-PS1.md) | `scripts/powershell/Invoke-EntraDirectorySyncCheck.ps1` |

---

### Power Platform 枚举 (PowerShell)

**要求:** PowerShell 7+、Microsoft.Graph 模块、Power Platform 管理员或环境创建者权限

**身份验证:** 脚本自动处理 Power Platform API 身份验证:
- **默认**:设备代码流(浏览器提示)——无需配置
- **Azure CLI**:使用 `-UseAzCliToken`——必要时自动运行 `az login`
- **Azure PowerShell**:使用 `-UseAzPowerShellToken`——必要时自动运行 `Connect-AzAccount`(使用与 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

📖 完整文档: EntraPowerPlatformCheck-PS1.md

主要功能:

  • Power Apps 枚举 - 枚举所有 Power Apps,包含所有者及共享信息
  • Power Automate 流枚举 - 枚举所有流,包含连接器和操作分析
  • 敏感连接器检测 - 识别 30 余种敏感连接器(高风险、高、中、低风险)
  • 高风险操作检测 - 识别包含高风险操作(删除、创建、修改等)的流
  • 风险评估 - 根据连接器类型和操作将资源按风险等级(高风险/高/中/低)分类
  • 连接器分析 - 分析连接器使用情况并按风险等级归类
  • 自动认证 - 自动处理 Power Platform API 认证(设备代码流、Azure CLI 或 Azure PowerShell)
  • 活动分析 - 资源统计、环境分布、所有者分析
  • 矩阵视图 - 紧凑表格格式,便于快速视觉扫描
  • 筛选选项 - 仅显示高风险资源或含有敏感连接器的资源
  • 导出选项 - 以 CSV/JSON 格式导出详细资源信息
  • 隐身模式 - 可配置延迟与抖动,避免检测
版本文档文件
PowerShellEntraPowerPlatformCheck-PS1.mdscripts/powershell/Invoke-EntraPowerPlatformCheck.ps1

攻击路径分析 (PowerShell)

要求: PowerShell 7+、Microsoft.Graph 模块```powershell

Analyze all attack paths (privilege escalation, password reset, transitive groups, shared mailboxes)

.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -ExportPath "attack-paths.csv"

Show only high-risk paths (CRITICAL/HIGH) in matrix view

.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -Matrix -OnlyHighRisk

Include disabled accounts

.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -IncludeDisabledUsers -ExportPath "all-paths.csv"

Stealth mode scan

.\Invoke-EvilMist.ps1 -Script EntraAttackPathCheck -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraAttackPathCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraAttackPathCheck-PS1.md)

**关键特性:**
- **权限提升分析** - 识别通过可赋角色组获取提升权限的路径
- **密码重置委托检测** - 查找可以重置其他用户密码的用户
- **传递组成员资格分析** - 识别对特权组的间接访问
- **共享邮箱访问检测** - 识别可能用于横向移动的共享邮箱
- **风险评估** - 根据路径类型和用户安全态势,将攻击路径按风险级别(关键/高/中)分类
- **路径复杂度分析** - 评估攻击路径复杂度(低/中/高)
- **MFA状态检测** - 识别攻击路径中未启用多因素身份验证的用户
- **上次登录跟踪** - 显示登录日期/时间及活动模式
- **活动分析** - 登录统计、陈旧账户、非活跃用户
- **矩阵视图** - 紧凑表格格式,便于快速视觉扫描
- **过滤选项** - 仅显示高风险路径或包含已禁用账户
- **导出选项** - 带有全面攻击路径详情的 CSV/JSON
- **隐身模式** - 可配置的延迟和抖动以避免检测

| 版本 | 文档 | 文件 |
|---------|---------------|------|
| PowerShell | [EntraAttackPathCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraAttackPathCheck-PS1.md) | `scripts/powershell/Invoke-EntraAttackPathCheck.ps1` |

---

### Azure RBAC 角色分配审计与漂移检测(PowerShell)

**要求:** 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

📖 完整文档: EntraAzureRBACCheck-PS1.md

主要特性:

  • 多租户支持 - 自动扫描所有可访问的租户,除非指定了特定租户
  • 跳过失败租户 - 当 MFA/Conditional Access 阻止访问某些租户时继续处理(-SkipFailedTenants)
  • 基线导出 - 映射并导出所有跨租户和订阅的 Azure RBAC 角色分配到 JSON(期望状态)
  • 漂移检测 - 将当前 Azure RBAC 状态与基线进行比较,以识别未经授权的更改
  • 多订阅支持 - 扫描所有可访问的订阅(跨所有租户或特定订阅)
  • 所有用户权限矩阵 - 以用户为中心的视图显示所有主体及其 Azure 权限(-ShowAllUsersPermissions)
  • 组成员扩展 - 扩展组成员身份以揭示通过组拥有 Azure 访问权限的所有用户(-ExpandGroupMembers)
  • 嵌套组支持 - 递归扩展嵌套组,最多达 5 层深度
  • PIM/JIT 排除 - 排除有时间限制的 PIM 角色分配,以专注于永久访问(-ExcludePIM)
  • 全面覆盖 - 捕获所有范围(订阅、资源组、资源)的分配,跨租户
  • 新增分配检测 - 识别在基线之外创建的角色分配
  • 移除分配检测 - 检测自基线以来被移除的角色分配
  • 修改分配检测 - 识别对现有角色分配的更改(范围、角色、主体)
  • ABAC 条件不匹配检测 - 检测角色分配条件与基线不同时(新增、移除或修改)
  • 风险评估 - 根据角色和主体类型,将漂移按风险级别分类(CRITICAL/HIGH/MEDIUM)
  • 修复指令 - 为每个漂移问题生成 Terraform import 块、Azure CLI 和 PowerShell 命令
  • 主体分析 - 跟踪具有角色分配的用户、组和服务主体
  • 角色定义详情 - 捕获内置角色与自定义角色、权限和描述
  • 范围层次结构 - 分析跨订阅、资源组和资源范围的分配
  • 条件支持 - 跟踪分配上的 ABAC(基于属性的访问控制)条件
  • 租户跟踪 - 包含所有分配的租户信息,以支持多租户环境
  • 矩阵视图 - 紧凑的表格格式,用于快速漂移可视化并包含租户信息
  • 灵活认证 - Azure CLI (az login) 或 Azure PowerShell (Connect-AzAccount) 认证
  • 导出选项 - JSON 基线导出、扩展组导出以及带详细建议的 JSON 漂移报告
  • 隐身模式 - 可配置的延迟和抖动以避免检测
版本文档文件
PowerShellEntraAzureRBACCheck-PS1.mdscripts/powershell/Invoke-EntraAzureRBACCheck.ps1

OAuth 同意授予审计 (PowerShell)

要求: PowerShell 7+、Microsoft.Graph 模块```powershell

Enumerate all OAuth consent grants and analyze security posture

.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -ExportPath "consent-grants.csv"

Show only high-risk consent grants in matrix view

.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -Matrix -OnlyHighRisk

Show only third-party apps with admin consent

.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -OnlyThirdParty -OnlyAdminConsent

Show consent grants not used in the last 60 days

.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -StaleDays 60 -OnlyStale

Stealth mode scan

.\Invoke-EvilMist.ps1 -Script EntraOAuthConsentCheck -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraOAuthConsentCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraOAuthConsentCheck-PS1.md)

**主要功能:**
- **OAuth2PermissionGrant 枚举** - 枚举租户中所有委派权限授予
- **管理员与用户同意检测** - 区分租户范围内的管理员同意与单个用户同意
- **危险权限检测** - 识别高风险范围(Mail.ReadWrite、Files.ReadWrite.All、User.ReadWrite.All 等)
- **过期同意检测** - 查找未使用的同意授予(可配置阈值,默认 90 天)
- **第三方应用识别** - 自动识别具有提升权限的非 Microsoft 应用程序
- **登录活动关联** - 与登录活动交叉引用以检测休眠应用
- **风险评估** - 根据同意类型、权限和应用来源将同意授予按风险级别(严重/高/中/低)分类
- **发布者分析** - 跟踪应用程序发布者及已验证发布者状态
- **资源跟踪** - 识别每个应用有权访问的 API/资源
- **矩阵视图** - 紧凑的表格格式,便于快速视觉扫描
- **筛选选项** - 仅显示高风险、第三方、过期或管理员同意授予
- **导出选项** - 带有全面同意授予详细信息的 CSV/JSON
- **隐身模式** - 可配置的延迟和抖动以避免检测

| 版本 | 文档 | 文件 |
|---------|---------------|------|
| PowerShell | [EntraOAuthConsentCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraOAuthConsentCheck-PS1.md) | `scripts/powershell/Invoke-EntraOAuthConsentCheck.ps1` |

---

### 登录风险检查 (PowerShell)

**要求:** PowerShell 7+、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

📖 完整文档: EntraSignInRiskCheck-PS1.md

主要功能:

  • 风险用户枚举 - 列出Azure AD Identity Protection标记的所有用户
  • 风险级别分析 - 按高、中、低风险级别对用户进行分类
  • 风险状态跟踪 - 显示风险是活跃的、已修复的还是已消除的
  • 风险检测分析 - 枚举特定风险事件(不可能行程、匿名IP、泄露凭据)
  • 模式检测 - 识别可疑模式(非工作时间活动、密码喷洒攻击、每个用户的多种风险类型)
  • 时间分析 - 跟踪周末和非工作时间的可疑活动
  • 不可能行程检测 - 识别来自地理上遥远位置的登录
  • 匿名IP检测 - 标记VPN、Tor和代理使用
  • 密码喷洒检测 - 识别凭据填充攻击
  • 泄露凭据检测 - 凭据在数据泄露中发现的用户
  • 矩阵视图 - 紧凑表格格式,便于快速视觉扫描
  • 筛选选项 - 仅显示高风险或仅显示活跃风险
  • 导出选项 - 包含全面风险详情的 CSV/JSON
  • 隐身模式 - 可配置的延迟和抖动以避免检测
版本文档文件
PowerShellEntraSignInRiskCheck-PS1.mdscripts/powershell/Invoke-EntraSignInRiskCheck.ps1

特权身份管理 (PIM) 检查 (PowerShell)

要求: PowerShell 7+, Microsoft.Graph 模块, Azure AD Premium P2```powershell

Perform comprehensive PIM configuration audit

.\Invoke-EvilMist.ps1 -Script EntraPIMCheck

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -ExportPath "pim-audit.csv"

Show only critical findings in matrix view

.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -Matrix -OnlyCritical

Audit high-privilege roles with strict 2-hour activation limit

.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -OnlyHighPrivilege -MaxActivationHours 2

Include PIM for Groups and Access Reviews

.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -IncludeGroups -IncludeAccessReviews

Stealth mode scan

.\Invoke-EvilMist.ps1 -Script EntraPIMCheck -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraPIMCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraPIMCheck-PS1.md)

**主要功能:**
- **JIT 访问配置审计** - 分析最大激活持续时间、审批要求、MFA 强制
- **审批工作流分析** - 识别没有审批或缺少审批者的角色
- **合理理由要求** - 检测没有强制激活理由的角色
- **MFA 强制** - 识别不需要 MFA 激活的角色
- **通知配置** - 分析角色激活的管理员通知设置
- **永久分配检测** - 发现绕过 PIM 的常驻特权访问
- **组 PIM** - 分析基于组的特权访问管理
- **访问评审** - 检查定期访问认证配置
- **风险评估** - 根据配置缺陷将角色按风险级别(CRITICAL/HIGH/MEDIUM/LOW)分类
- **资格与活跃分析** - 比较资格分配与活跃/永久分配
- **紧急访问账户检测** - 识别可能为紧急访问账户的永久分配
- **矩阵视图** - 紧凑表格格式,便于快速视觉扫描
- **筛选选项** - 仅显示关键角色、高特权角色或错误配置
- **导出选项** - CSV/JSON,包含全面的 PIM 配置详情
- **隐身模式** - 可配置延迟和抖动以避免检测

| 版本 | 文档 | 文件 |
|---------|---------------|------|
| PowerShell | [EntraPIMCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraPIMCheck-PS1.md) | `scripts/powershell/Invoke-EntraPIMCheck.ps1` |

---

### Azure Key Vault 安全检查 (PowerShell)

**要求:** 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

📖 完整文档: EntraKeyVaultCheck-PS1.md

主要特性:

  • 访问模型分析 - 比较 RBAC 与传统访问策略
  • 保护状态 - 检查软删除和清除保护配置
  • 网络安全审计 - 识别公共访问、防火墙规则、VNet 集成
  • 专用终结点检测 - 验证专用连接配置
  • 过度权限访问检测 - 发现具有过度权限的访问策略('all', 'purge')
  • 诊断日志记录检查 - 验证审计日志记录是否启用
  • 密钥/证书/密钥过期 - 跟踪即将过期或已过期的项目
  • 风险评估 - 根据配置缺陷将密钥保管库分类为风险等级(严重/高/中/低)
  • 矩阵视图 - 紧凑的表格格式,便于快速视觉扫描
  • 筛选选项 - 仅显示关键、公共访问或未受保护的密钥保管库
  • 导出选项 - CSV/JSON,包含全面的密钥保管库详细信息
  • 隐蔽模式 - 可配置的延迟和抖动以避免检测
版本文档文件
PowerShellEntraKeyVaultCheck-PS1.mdscripts/powershell/Invoke-EntraKeyVaultCheck.ps1

Azure 存储账户安全审计

全面的 Azure 存储账户安全审计工具,可检测暴露的存储账户和数据外泄风险。识别公共 blob 容器、网络配置错误和数据保护缺口。```powershell

Perform comprehensive Storage Account security audit

.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -ExportPath "storage-audit.csv"

Show only critical findings in matrix view

.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -Matrix -OnlyCritical

Find storage accounts with anonymous containers

.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -OnlyAnonymousContainers -IncludeContainers

Include key rotation age analysis

.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -IncludeKeyAge -KeyRotationDays 60

Stealth mode scan

.\Invoke-EvilMist.ps1 -Script EntraStorageAccountCheck -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraStorageAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraStorageAccountCheck-PS1.md)

**主要特性:**
- **公共 Blob 容器检测** - 识别具有匿名访问权限的容器(Blob/Container 级别)
- **HTTPS 强制检查** - 检测允许未加密 HTTP 流量的存储帐户
- **共享密钥访问分析** - 识别使用存储密钥与 Azure AD 身份验证的帐户
- **网络安全审计** - 检查公共访问、防火墙规则、VNet 集成、私有终结点
- **数据保护分析** - Blob 软删除、容器软删除、版本控制状态
- **密钥轮换跟踪** - 识别超出轮换阈值的存储帐户密钥
- **跨租户复制** - 检测向其他租户复制数据(数据泄露风险)
- **TLS 版本验证** - 确保强制执行最低 TLS 1.2
- **基础设施加密** - 检查双重加密配置
- **诊断日志检查** - 验证是否启用了审计日志记录
- **风险评估** - 按风险级别(严重/高/中/低)对存储帐户进行分类
- **矩阵视图** - 紧凑表格格式,便于快速视觉扫描
- **筛选选项** - 仅显示关键、公共访问或匿名容器
- **导出选项** - CSV/JSON 格式,包含全面的存储帐户详细信息
- **隐身模式** - 可配置的延迟和抖动以避免检测

| 版本 | 文档 | 文件 |
|---------|---------------|------|
| PowerShell | [EntraStorageAccountCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraStorageAccountCheck-PS1.md) | `scripts/powershell/Invoke-EntraStorageAccountCheck.ps1` |

---

### 网络安全检查 (PowerShell)

**要求:** PowerShell 7+, Azure PowerShell modules```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

📖 完整文档: EntraNetworkSecurityCheck-PS1.md

主要功能:

  • NSG 规则分析 - 检测过度宽松的规则 (0.0.0.0/0, Any-Any)
  • 开放管理端口 - 识别暴露的 RDP (3389), SSH (22), WinRM (5985/5986)
  • Azure Bastion 分析 - 比较 Bastion 使用情况与直接 RDP/SSH 访问
  • DDoS 保护状态 - 验证 VNet 上的 DDoS 保护
  • VNet 安全 - 对等分析、子网 NSG 覆盖范围、服务终结点
  • NSG 流日志 - 流日志配置和流量分析状态
  • VPN/ExpressRoute - 网关配置分析
  • 风险评估 - 严重/高/中/低分级及发现结果
  • 矩阵视图 - 紧凑表格格式以便快速审查
  • 导出选项 - 包含详尽网络安全详细信息的 CSV/JSON
  • 隐秘模式 - 可配置的延迟和抖动以避免检测
版本文档文件
PowerShellEntraNetworkSecurityCheck-PS1.mdscripts/powershell/Invoke-EntraNetworkSecurityCheck.ps1

托管标识安全审计

全面的 Azure 托管标识安全审计工具,可识别过度权限和安全风险。检测高权限托管标识、跨订阅访问和未使用的标识。```powershell

Perform comprehensive Managed Identity security audit

.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -ExportPath "managed-identity-audit.csv"

Show only high-privilege managed identities

.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -OnlyHighPrivilege -Matrix

Show identities with cross-subscription access

.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -OnlyCrossSubscription -Matrix

Include detailed role assignment information

.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -IncludeRoleDetails -Matrix

Stealth mode scan

.\Invoke-EvilMist.ps1 -Script EntraManagedIdentityCheck -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraManagedIdentityCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraManagedIdentityCheck-PS1.md)

**主要功能:**
- **身份清单** - 系统分配与用户分配托管身份的枚举
- **角色分配分析** - 每个托管身份的 Azure RBAC 权限
- **高权限检测** - 识别所有者、参与者、用户访问管理员角色
- **关键角色检测** - 标记具有所有者、用户访问管理员或 RBAC 管理员角色的身份
- **跨订阅访问** - 检测权限超出主订阅的身份
- **未使用身份检测** - 查找没有角色分配的托管身份
- **资源覆盖范围** - 虚拟机、应用服务、函数应用、用户分配身份
- **范围分析** - 订阅范围 vs 资源组 vs 资源级权限
- **风险评估** - 严重/高/中/低分类及发现
- **矩阵视图** - 紧凑表格格式,便于快速查看
- **导出选项** - CSV/JSON 格式,包含全面的身份详细信息
- **隐身模式** - 可配置的延迟和抖动以避免检测

| 版本 | 文档 | 文件 |
|---------|---------------|------|
| PowerShell | [EntraManagedIdentityCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraManagedIdentityCheck-PS1.md) | `scripts/powershell/Invoke-EntraManagedIdentityCheck.ps1` |

---

### Exchange Online 安全审计

全面的 Exchange Online 安全审计工具,可检测基于邮件的攻击向量和数据泄露风险。识别转发到外部地址的收件箱规则、可疑传输规则、邮箱委派以及审计日志缺口。```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

📖 完整文档: EntraExchangeCheck-PS1.md

主要功能:

  • 收件箱规则分析 - 检测转发到外部地址的规则(数据外泄)
  • 外部转发检测 - 识别邮箱上配置的 SMTP 转发
  • 传输规则审计 - 分析邮件流规则中的可疑配置
  • 邮箱委派分析 - 完全访问、代表发送、代表发送权限
  • 审计日志状态 - 识别未启用审计日志的邮箱
  • OWA 策略分析 - Outlook Web App 安全配置审查
  • 客户端访问规则 - 遗留访问控制策略审计
  • BEC 指标检测 - 识别商务电子邮件入侵常见模式
  • 可疑规则检测 - 标记含 invoice、payment、wire、transfer 等关键词的规则
  • 风险评估 - 关键/高/中/低分类及发现结果
  • 矩阵视图 - 紧凑表格格式便于快速审查
  • 导出选项 - CSV/JSON 格式,含完整邮箱和规则详情
  • 隐身模式 - 可配置的延迟和抖动以避免检测
版本文档文件
PowerShellEntraExchangeCheck-PS1.mdscripts/powershell/Invoke-EntraExchangeCheck.ps1

SharePoint Online 安全检查

全面的 SharePoint Online 安全评估工具,用于识别过度共享和外部访问风险。审计租户级和站点级共享配置,以检测潜在数据泄露。```powershell

Perform comprehensive SharePoint Online security audit

.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -ExportPath "sharepoint-audit.csv"

Show only sites allowing anonymous links

.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -OnlyAnonymousLinks -Matrix

Show sites with sharing more permissive than tenant

.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -OnlyPermissiveOverrides -Matrix

Include OneDrive and sensitivity label analysis

.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -IncludeOneDrive -IncludeSensitivityLabels -Matrix

Stealth mode scan

.\Invoke-EvilMist.ps1 -Script EntraSharePointCheck -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraSharePointCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraSharePointCheck-PS1.md)

**主要功能:**
- **租户共享设置** - 组织范围的外部共享策略分析
- **匿名链接检测** - 识别允许“任何人”链接的站点
- **站点级覆盖** - 检测共享权限比租户更宽松的站点
- **来宾访问分析** - 外部用户对敏感站点的访问
- **OneDrive 共享** - 个人存储的外部共享配置
- **敏感度标签覆盖** - 识别缺少数据分类的站点
- **默认链接分析** - 默认链接类型和权限配置
- **链接过期策略** - 匿名链接过期设置
- **域限制** - 允许/阻止列表配置
- **风险评估** - 严重/高/中/低等级分类及发现
- **矩阵视图** - 紧凑的表格格式以便快速审查
- **导出选项** - CSV/JSON 格式,包含全面的站点详情
- **隐身模式** - 可配置延迟和抖动以避免检测

| 版本 | 文档 | 文件 |
|---------|---------------|------|
| PowerShell | [EntraSharePointCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraSharePointCheck-PS1.md) | `scripts/powershell/Invoke-EntraSharePointCheck.ps1` |

---

### SharePoint Online 枚举

使用 SharePoint REST API 的经过身份验证的 SharePoint Online 搜索和文件下载工具。使红队操作员能够在授权的渗透测试中发现并窃取敏感文档。是 [ElephantPoint](https://github.com/nettitude/ElephantPoint) (Nettitude) 的 PowerShell 移植版本。```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"

📖 完整文档: SharePointEnum-PS1.md

主要功能:

  • 全文搜索 - 在所有 SharePoint 文档库中搜索关键词
  • FQL 支持 - 面向切面的查询语言,实现精准/外科手术式定位
  • 细化筛选 - 按文件类型、作者、日期、网站进行筛选
  • 文件下载 - 保存到磁盘或 Base64 编码以用于 C2 外传
  • 自动检测 - 从 Azure 会话自动检测 SharePoint 域
  • 智能身份验证回退 - 针对 SharePoint REST API 验证令牌;如果会话令牌缺乏 SharePoint 权限,则依次回退到 Azure CLI 和 MSAL 设备代码流
  • 隐身模式 - 可配置的延迟、抖动和限流处理
  • 导出选项 - 包含搜索元数据和摘要的 CSV/JSON 导出
版本文档文件
PowerShellSharePointEnum-PS1.mdscripts/powershell/Invoke-SharePointEnum.ps1

Teams 安全检查

全面的 Microsoft Teams 安全评估工具,用于审计协作安全设置。识别外部访问风险、来宾策略、会议安全漏洞以及应用权限问题。```powershell

Perform comprehensive Teams security audit

.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck

Export results to CSV

.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -ExportPath "teams-audit.csv"

Show only meeting policy risks

.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -OnlyMeetingRisks -Matrix

Show only external access findings

.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -OnlyExternalAccess -Matrix

Include Teams inventory and app policies

.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -IncludeTeamsInventory -IncludeAppPolicies -Matrix

Stealth mode scan

.\Invoke-EvilMist.ps1 -Script EntraTeamsCheck -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraTeamsCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraTeamsCheck-PS1.md)

**主要功能:**
- **外部访问(联合身份验证)** - 分析哪些组织外人员可以通信
- **来宾访问策略** - 来宾用户的功能和权限设置
- **会议策略** - 匿名加入、大厅绕过、录制设置
- **应用权限策略** - 第三方和自定义应用的访问控制
- **消息策略** - 聊天和消息功能设置
- **Teams 清单** - 可见性、来宾成员身份和治理分析
- **客户端配置** - Teams 客户端安全设置
- **风险评估** - 按严重/高/中/低分类并附带调查结果
- **矩阵视图** - 紧凑表格格式,便于快速审查
- **导出选项** - 带有全面配置详细信息的 CSV/JSON
- **隐身模式** - 可配置的延迟和抖动以避免检测

| 版本 | 文档 | 文件 |
|---------|---------------|------|
| PowerShell | [EntraTeamsCheck-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraTeamsCheck-PS1.md) | `scripts/powershell/Invoke-EntraTeamsCheck.ps1` |

---

### Azure 跨服务攻击路径分析

全面的 Azure 跨服务攻击路径分析工具,可识别跨越多个 Azure 服务的多跳攻击路径。揭示对一个资源的访问如何导致跨 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

📖 完整文档: EntraAzureAttackPathCheck-PS1.md

主要功能:

  • 从虚拟机到 Key Vault 的路径 - 识别具有托管标识且可访问 Key Vault 机密的计算资源
  • 应用服务到机密 - 通过托管标识具有机密访问权限的 Web 应用
  • 托管标识权限提升 - 拥有关键角色从而可接管系统的标识
  • 存储横向移动 - 薄弱的存储安全导致数据泄露或代码注入
  • 自定义角色漏洞 - 自定义角色定义中的危险权限组合
  • 跨订阅路径 - 跨越多个 Azure 订阅的访问
  • 管理组继承 - 从父作用域继承的权限
  • 风险评估 - 以关键/高/中/低等级分类,并附有攻击场景描述
  • 矩阵视图 - 紧凑的表格格式,便于快速审查
  • 导出选项 - CSV/JSON 格式,包含全面的路径详情
  • 隐身模式 - 可配置的延迟与抖动,避免检测
版本文档文件
PowerShellEntraAzureAttackPathCheck-PS1.mdscripts/powershell/Invoke-EntraAzureAttackPathCheck.ps1

整合安全报告生成器

统一的 HTML 安全报告生成器,运行多项 EvilMist 安全检查,并生成包含风险评估、修复优先级和趋势分析的综合性管理层仪表盘。```powershell

Generate report with core security checks (quick scan)

.\Invoke-EvilMist.ps1 -Script EntraReport -QuickScan

Generate comprehensive security report with all checks

.\Invoke-EvilMist.ps1 -Script EntraReport -ComprehensiveScan -ExportPath "full-report.html"

Generate report with specific checks

.\Invoke-EvilMist.ps1 -Script EntraReport -Checks MFA,Roles,ConditionalAccess,AttackPaths

Generate report with all checks

.\Invoke-EvilMist.ps1 -Script EntraReport -Checks All -ExportPath "security-report.html"

Trend comparison with previous baseline

.\Invoke-EvilMist.ps1 -Script EntraReport -ComprehensiveScan -BaselinePath "previous-report.json"

Stealth mode scan with report

.\Invoke-EvilMist.ps1 -Script EntraReport -QuickScan -EnableStealth -QuietStealth

root@kitploit:~
📖 **完整文档:** [EntraReport-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraReport-PS1.md)

**主要特性:**
- **统一报告** - 使用单个命令运行多个安全检查
- **管理仪表板** - 专业HTML报告,包含安全评分(0-100)
- **风险严重性概览** - 严重、高、中、低发现数量
- **修复优先级矩阵** - 优先操作(P1-P4)及建议时间线
- **趋势分析** - 与基线报告比较,追踪安全改进
- **快速扫描模式** - 核心安全检查(MFA、角色、CA、攻击路径、OAuth、PIM)
- **全面扫描** - 所有可用的安全检查,实现全面覆盖
- **JSON 导出** - 自动基线导出,用于未来比较
- **隐身模式** - 可配置延迟和抖动以避免检测

| 版本 | 文档 | 文件 |
|---------|---------------|------|
| PowerShell | [EntraReport-PS1.md](https://github.com/logisek/evilmist/blob/main/docs/EntraReport-PS1.md) | `scripts/powershell/Invoke-EntraReport.ps1` |

---

### 合规性评估(CIS/NIST/SOC2/ISO27001/GDPR)

全面的合规性评估工具,可针对行业标准框架(包括CIS Microsoft Azure基础基准、NIST 800-53、SOC 2、ISO 27001和GDPR)评估Azure Entra ID安全配置。```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

📖 完整文档: EntraComplianceCheck-PS1.md

主要特性:

  • 多框架映射 - CIS Azure 基准、NIST 800-53、SOC 2、ISO 27001、GDPR
  • 合规评分 - 整体合规百分比,附带通过/失败细分
  • 控制族过滤 - 按 NIST 族(AC、IA、AU、SI)或 CIS 部分过滤
  • 严重级别 - 严重、高、中、低分类
  • 执行报告 - 专业的 HTML 报告,包含合规仪表板
  • 修复指南 - 针对失败控制措施的详细修复建议
  • 证据收集 - 自动收集证据以支持审计
  • 多种导出格式 - CSV、JSON、HTML 导出选项
  • 隐身模式 - 可配置延迟和抖动以避免检测
版本文档文件
PowerShellEntraComplianceCheck-PS1.mdscripts/powershell/Invoke-EntraComplianceCheck.ps1

文档


特性比较

Enumerate-EntraUsers 版本

两个版本提供相同的核心功能:

工具包比较| 功能 | Enumerate-EntraUsers | MFA安全检查 | 来宾账户枚举 | 关键管理员访问检查 | 特权角色检查 | 服务主体检查 | 应用注册检查 | 条件访问检查 | 管理单元检查 | 陈旧账户检查 | 设备信任检查 | SSPR检查 | 密码策略检查 | 旧式身份验证检查 | 许可证检查 | 目录同步检查 | Power Platform检查 | 组安全检查 | 攻击路径分析 | Azure RBAC检查 | OAuth同意检查 |

|---------|---------------------|-------------------|---------------------------|----------------------------|----------------------|------------------------|--------------------------|--------------------------|------------------------|---------------------|-------------------|-------------|---------------------|-------------------|--------------|---------------------|-------------------|-------------------|-------------------|-------------------|-------------------| | 目的 | 全面用户枚举 | 针对性MFA安全审计 | 来宾访问治理 | 关键管理员访问审计 | 特权角色分配审计 | 服务账户安全审计 | 应用注册安全审计 | 安全策略差距分析 | 作用域管理员访问审计 | 账户卫生审计 | 设备信任与合规审计 | SSPR配置审计 | 密码策略安全审计 | 旧式身份验证安全审计 | 许可证与SKU分析 | 目录同步状态与健康审计 | Power Platform枚举与安全审计 | 组安全分析与治理 | 攻击路径分析 - 权限提升与横向移动 | 多租户Azure RBAC基线导出与漂移检测 | OAuth同意授权审计 - 非法同意检测 | | 用户枚举 | 15+种方法 | 标准方法 | 来宾聚焦 | 基于应用分配 | 基于角色分配 | 服务主体聚焦 | | | | | | 旧式身份验证聚焦 | 同步聚焦 | ❌ | | MFA检测 | 基本检查 | 高级(含方法类型) | 高级(含方法类型) | 高级(含方法类型) | 高级(含方法类型) | 所有者MFA检查 | | | | | | 高级(含方法类型) | ❌ | ❌ | | 共享邮箱检测 | ❌ | ✅ 自动 | ❌(不适用于来宾) | ❌(不适用于应用访问) | ❌(不适用于角色) | ❌(不适用于SP) | | | | | | ❌(不适用于旧式身份验证) | ❌ | ❌ | | 来宾域提取 | ❌ | ❌ | ✅ 自动 | ❌ | ❌ | ❌ | | | | | | ❌ | ❌ | ❌ | | 邀请状态跟踪 | ❌ | ❌ | ✅ 含接受日期 | ❌ | ❌ | ❌ | | | | | | ❌ | ❌ | ❌ | | 应用访问跟踪 | ❌ | ❌ | ❌ | ✅ 多应用覆盖 | ❌ | ❌ | | | | | | ❌ | ❌ | ❌ | | 角色分配跟踪 | ❌ | ❌ | ❌ | ❌ | ✅ 所有目录角色 | ❌ | | | | | | ❌ | ❌ | ✅ 所有Azure RBAC角色 | | PIM分配跟踪 | ❌ | ❌ | ❌ | ❌ | ✅ 合格与活动 | ❌ | | | | | | ❌ | ❌ | ❌ | | 凭证枚举 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 密钥与证书 | ✅ 密钥与证书 | | | | | | ❌ | ❌ | ❌ | | 凭证过期跟踪 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 已过期与即将过期 | ✅ 已过期与即将过期 | | | | | | ❌ | ❌ | ❌ | | 权限分析 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 高风险与关键 | ✅ 高风险与关键(API权限) | | | | | | ❌ | ❌ | ✅ RBAC角色权限 | | 所有者分析 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 含MFA状态 | ✅ 含MFA状态 | ❌ | | | | | ❌ | ❌ | ✅ 组所有者含MFA状态 | ❌ | | 应用注册枚举 | ✅ 基本 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 全面 | | | | | | ❌ | ❌ | ❌ | | API权限分析 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 委托与应用 | | | | | | ❌ | ❌ | ❌ | | 分配日期跟踪 | ❌ | ❌ | ✅ 邀请日期 | ✅ 分配日期 | ✅ 分配日期与时长 | ❌ | ❌ | | | | | ❌ | ❌ | ✅ 角色分配创建日期 | | 策略排除检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 用户、组、角色、应用 | | | | | ❌ | ❌ | ❌ | | MFA强制差距 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 策略级分析 | | | | | ❌ | ❌ | ❌ | | 关键应用覆盖 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 10个关键应用 | | | | | ❌ | ❌ | ❌ | | 旧式身份验证检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 策略目标 | | | | | ✅ 10种协议 | ❌ | ❌ | | 旧式协议检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | | | | ✅ IMAP/POP3/SMTP/EAS等 | ❌ | ❌ | | 上次旧式身份验证使用 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | | | | ✅ 日期/时间跟踪 | ❌ | ❌ | | 协议统计 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | | | | ✅ 成功/失败计数 | ❌ | ❌ | | 策略冲突检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 冗余/冲突 | ❌ | ❌ | ❌ | | | ❌ | ❌ | ❌ | | 管理单元枚举 | ✅ 基本 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 全面 | ❌ | ❌ | ❌ | | | ❌ | ❌ | ❌ | | 作用域角色分配分析 | ✅ 基本 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 所有作用域分配 | ❌ | ❌ | ❌ | | | ❌ | ❌ | ❌ | | AU成员枚举 | ✅ 基本 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 成员与角色 | ❌ | ❌ | ❌ | | | ❌ | ❌ | ❌ | | 陈旧账户检测 | 有限 | 有限 | 有限 | 有限 | 有限 | ❌ | ❌ | 有限 | ✅ >90天不活跃 | ❌ | | | 有限 | ❌ | ❌ | | 从未登录检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 账户年龄分析 | ❌ | | | ❌ | ❌ | ❌ | | 许可证浪费检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 禁用含许可证 | ❌ | | | ❌ | ❌ | ❌ | | 密码过期跟踪 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 已过期密码 | ❌ | ❌ | ✅ 过期分析 | ❌ | ❌ | ❌ | | SSPR状态检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 已启用/已注册/具备能力 | ❌ | ❌ | ❌ | ❌ | | SSPR方法分析 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 注册方法 | ❌ | ❌ | ❌ | ❌ | | 备份方法检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 无备份方法 | ❌ | ❌ | ❌ | ❌ | | 强方法分类 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 强方法与弱方法 | ❌ | ❌ | ❌ | ❌ | | 设备枚举 | ✅ 基本 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 全面 | ❌ | ❌ | ❌ | ❌ | ❌ | | 合规状态检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | ✅ 合规/不合规/未知 | | | ❌ | ❌ | ❌ | | BYOD检测 | ✅ 基本 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | ✅ 自动 | | | ❌ | ❌ | ❌ | | 陈旧登录检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | ✅ >90天 | ✅ >90天 | | | 有限 | ❌ | ❌ | | Intune合规策略 | ✅ 基本 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 全面枚举 | | | ❌ | ❌ | ❌ | | 设备信任分析 | ✅ 基本 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 联接类型 | | | ❌ | ❌ | ❌ | | 管理状态 | ✅ 基本 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 已管理/未管理 | | | ❌ | ❌ | ❌ | | 上次登录跟踪 | ✅ | ✅ 含分析 | ✅ 含分析 | ✅ 含分析 | ✅ 含分析 | 有限(SP活动) | ❌ | ✅ 含分析 | ✅ 含分析 | ✅ 含分析 | ✅ 含分析 | ✅ 含分析 | ✅ 含分析 | ✅ 含分析 | ✅ 含分析 | ❌ | | 登录能力检查 | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | 同步状态检测 | ✅ 基本 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 同步与仅云 | ❌ | | 同步错误检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 所有预配错误 | ❌ | | 陈旧同步检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ >7天未同步 | ❌ | | 同步冲突识别 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 重复属性 | ❌ | | 同步范围分析 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 基本配置 | ❌ | | 租户SKU枚举 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 全面枚举 | ❌ | ❌ | | 许可证分配跟踪 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 所有分配 | ❌ | ❌ | | 特权许可证检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ E5, P2等 | ❌ | ❌ | | 未使用许可证检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 禁用含许可证 | ❌ | ❌ | ❌ | ❌ | ✅ 从未登录 | ❌ | ❌ | | 许可证使用分析 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 消耗统计 | ❌ | ❌ | ❌ | | Power Apps枚举 | ✅ 基本 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 全面 | ❌ | | Power Automate流程枚举 | ✅ 基本 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 全面 | ❌ | | 敏感连接器检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 30+连接器 | ❌ | | 高风险操作检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 删除/创建/修改 | ❌ | | 连接器风险分析 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 严重/高/中/低 | ❌ | ❌ | | 组枚举 | ✅ 基本 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 全面(所有类型) | ❌ | | 无所有者检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 孤立组 | ❌ | | 过多成员检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ >100或>500成员 | ❌ | | 可分配角色组检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 严重风险组 | ❌ | | 组类型分析 | ✅ 基本 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 安全/M365/分发/动态 | ❌ | | OAuth同意授权枚举 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 所有OAuth2PermissionGrants | | 管理员与用户同意检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 租户范围与个人 | | 危险权限检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 邮件/文件/目录访问 | | 陈旧同意检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 可配置阈值 | | 第三方应用检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Microsoft与第三方 | | 发布者验证 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 已验证发布者状态 | | 多租户扫描 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 所有可访问租户 | ❌ | | 跳过失败租户 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 继续MFA/CA失败 | ❌ | | Azure RBAC基线导出 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ JSON基线 | ❌ | | Azure RBAC漂移检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 新增/移除/修改分配 | ❌ | | 多订阅支持 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 所有跨租户订阅 | ❌ | | 组成员扩展 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 扩展组以显示用户 | ❌ | | 所有用户权限矩阵 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 以用户为中心的权限视图 | ❌ | | 作用域层次分析 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 子/资源组/资源 | ❌ | | PIM/JIT排除 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 排除时限分配 | ❌ | | ABAC条件检测 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ 条件不匹配漂移 | ❌ | | 修复说明 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ Terraform/CLI/PowerShell | ❌ | | 风险级别评估 | 基础 | 高级(高/中/低) | 高级(高/中/低) | 高级(高/中/低) | 高级(严重/高/中/低) | 高级(严重/高/中/低) | 高级(严重/高/中/低) | 高级(严重/高/中/低) | 高级(严重/高/中/低) | 高级(严重/高/中/低) | 高级(高/中/低) | 高级(严重/高/中/低) | 高级(严重/高/中/低) | 高级(严重/高/中/低) | 高级(严重/高/中/低) | 高级(严重/高/中/低) | 高级(严重/高/中/低) | 高级(严重/高/中/低) | 高级(严重/高/中/低) | 高级(严重/高/中) | 高级(严重/高/中/低) | | 活动分析 | 有限 | 详细(陈旧/近期/从未) | 详细(陈旧/近期/从未) | 详细(陈旧/近期/从未) | 详细(陈旧/近期/从未) | 基本(基于年龄) | 详细(凭证过期/权限分析) | 策略差距分析 | 详细(作用域管理员活动) | 详细(陈旧指标) | 详细(陈旧/近期/从未) | 详细(陈旧/近期/从未) | 详细(密码年龄/策略差距) | 详细(使用近期/协议统计) | 详细(许可证使用/未使用跟踪) | 详细(同步健康/错误统计) | 详细(资源/环境/所有者统计) | 详细(组类型/所有者/成员统计) | 详细(攻击路径类型/复杂度/风险统计) | 详细(漂移类型/角色/租户/订阅统计) | 详细(同意类型/权限/陈旧统计) | | 矩阵视图 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | 部门分析 | ✅ | ✅ 含统计信息 | ✅ 含统计信息 | ✅ 含统计信息 | ✅ 含统计信息 | ❌ | ❌ | ✅ 含统计信息 | ✅ 含统计信息 | ❌ | ✅ 含统计信息 | ✅ 含统计信息 | ✅ 含统计信息 | ✅ 含统计信息 | ✅ 含统计信息 | ❌ | ❌ | ❌ | ❌ | ❌ | | BloodHound导出 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | HTML报告 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | CSV/JSON导出 | ✅ | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ 增强字段 | ✅ JSON基线/漂移报告 | ✅ 增强字段 | | 隐身模式 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | | 红队侦察 | MFA合规审计 | 外部用户安全 | 特权访问审计 | 特权角色治理 | 服务账户安全 | 应用注册安全与凭证管理 | 安全策略差距分析 | 作用域管理员访问治理 | 账户卫生与清理 | 设备信任与合规 | 密码重置安全 | 密码策略合规 | 旧式身份验证迁移与安全 | 许可证治理与成本优化 | 目录同步健康与错误跟踪 | Power Platform安全与连接器治理 | 组安全与治理 | 攻击路径分析与权限提升检测 | 多租户Azure RBAC治理与未授权访问检测 | OAuth同意安全与非法同意授权检测 |


安装

Python 依赖项```bash

pip install -r requirements.txt

root@kitploit:~
或者手动安装:```bash
pip install msal requests

# Optional: Additional authentication methods
pip install azure-identity

PowerShell 依赖项

Enumerate-EntraUsers: 脚本将在首次运行时自动安装所需的 Microsoft.Graph.Users 模块。

MFA 安全检查、来宾账户枚举、关键管理员访问检查、特权角色检查、服务主体检查、应用程序注册检查、条件访问检查、管理单元检查、陈旧账户检查、设备信任检查、SSPR 检查、密码策略检查、旧版身份验证检查、许可证检查、目录同步检查、Power Platform 检查和组安全检查: 需要 Microsoft Graph PowerShell SDK:

Azure RBAC 检查: 需要 Azure PowerShell 模块:```powershell Install-Module Az -Scope CurrentUser

root@kitploit:~
或者安装单个模块:```powershell
Install-Module Az.Accounts -Scope CurrentUser
Install-Module Az.Resources -Scope CurrentUser

其他工具:```powershell Install-Module Microsoft.Graph -Scope CurrentUser

root@kitploit:~
或者安装单个模块:```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

身份验证

两个脚本均支持多种身份验证方法:

  • Interactive Browser - 通过浏览器进行 OAuth 登录
  • 设备代码流 - 用于无头环境的基于代码的身份验证
  • Azure CLI 令牌 - 使用缓存的 az login 凭据
  • Azure PowerShell 令牌 - 使用缓存的 Connect-AzAccount 凭据
  • 环境变量 - 设置 GRAPH_ACCESS_TOKEN 或 AZURE_ACCESS_TOKEN
  • 手动输入令牌 - 直接粘贴令牌

Python 版本还支持:

  • 刷新令牌交换 - 使用来自 ROADtools、TokenTactics 等的令牌
  • 托管标识 - 用于 Azure 托管环境
  • VS Code 凭据 - Azure 扩展缓存的令牌
  • 共享令牌缓存 - Windows 缓存的凭据

脚本身份验证与权限参考

本节提供了工具包中每个脚本所需的身份验证方法和 API 权限的全面矩阵。

按脚本类别划分的身份验证方法

所有脚本都支持相同的核心身份验证方法,根据目标 API 略有不同:

Microsoft Graph 脚本 (Entra ID)

脚本: EntraRecon, EntraMFACheck, EntraGuestCheck, EntraAppAccess, EntraRoleCheck, EntraServicePrincipalCheck, EntraConditionalAccessCheck, EntraAdminUnitCheck, EntraStaleAccountCheck, EntraDeviceCheck, EntraSSPRCheck, EntraPasswordPolicyCheck, EntraLegacyAuthCheck, EntraLicenseCheck, EntraDirectorySyncCheck, EntraPowerPlatformCheck, EntraGroupCheck, EntraApplicationCheck, EntraAttackPathCheck, EntraOAuthConsentCheck, EntraSignInRiskCheck, EntraPIMCheck, EntraComplianceCheck

Azure 资源脚本 (ARM)

脚本: EntraAzureRBACCheck, EntraKeyVaultCheck, EntraStorageAccountCheck, EntraManagedIdentityCheck, EntraNetworkSecurityCheck, EntraAzureAttackPathCheck

Microsoft 365 服务脚本


按脚本划分的 Microsoft Graph 权限范围

下表显示了每个基于 Microsoft Graph 的脚本所需的权限范围和回退范围。当用户没有完整所需范围集的权限时,使用回退范围。


Azure 资源脚本 - 所需权限

这些脚本使用 Azure PowerShell(Az 模块),需要 Azure RBAC 权限而不是 Microsoft Graph 范围:


Microsoft 365 服务脚本 - 所需权限


最常用的范围

以下 Microsoft Graph 范围在工具包中最常被需要:


完整工具包的最小权限集

要以完整功能运行所有脚本,建议使用以下合并的权限集:

Microsoft Graph(委托权限):``` Application.Read.All AuditLog.Read.All AdministrativeUnit.Read.All Device.Read.All DeviceManagementConfiguration.Read.All DeviceManagementManagedDevices.Read.All Directory.Read.All Group.Read.All GroupMember.Read.All IdentityRiskDetection.Read.All IdentityRiskySignIn.Read.All IdentityRiskyUser.Read.All Policy.Read.All PrivilegedAccess.Read.AzureAD Reports.Read.All RoleManagement.Read.Directory User.Read.All UserAuthenticationMethod.Read.All

root@kitploit:~
**Azure RBAC:**
- 订阅或管理组级别的 Reader 角色(用于 Azure 资源脚本)
- Key Vault Reader(用于 EntraKeyVaultCheck 及密钥枚举)
- Storage Blob Data Reader(用于 EntraStorageAccountCheck 及容器枚举)

**Microsoft 365 管理角色:**
- Exchange Administrator(用于 EntraExchangeCheck)
- SharePoint Administrator(用于 EntraSharePointCheck)
- Teams Administrator(用于 EntraTeamsCheck)

---

## 法律免责声明

本工具包仅用于授权安全测试和研究目的。用户有责任确保在使用这些工具针对任何系统之前获得适当授权。作者对软件的误用不承担任何责任。

---

## 许可证

GNU 通用公共许可证 v3.0 - 详情请参阅 [LICENSE](https://github.com/logisek/evilmist/blob/main/LICENSE) 文件。

**版权所有 (C) 2025 Logisek**

---

## 贡献

欢迎贡献!请随时提交拉取请求或针对错误和功能请求开启议题。

---

## 致谢

- [Microsoft Graph API](https://docs.microsoft.com/en-us/graph/) - 主要数据源
- [BloodHound](https://github.com/BloodHoundAD/BloodHound) - 攻击路径分析灵感
- [AzureHound](https://github.com/BloodHoundAD/AzureHound) - Azure 数据收集格式
- [microsoft-info](https://github.com/merill/microsoft-info) - Microsoft 第一方应用名称与 Graph 权限
下载工具
scripts/python/entra_recon.py
文档描述
EntraRecon-PS1.md完整的 PowerShell 脚本文档,包含所有参数、功能和使用示例
EntraRecon-PY.md完整的 Python 脚本文档,包含认证方法、隐身配置和示例
EntraMFACheck-PS1.mdMFA 安全检查文档,包含共享邮箱检测、登录跟踪和风险评估
EntraGuestCheck-PS1.md访客账号枚举文档,包含访客域提取、邀请跟踪和安全分析
EntraAppAccess-PS1.mdPowerShell & Graph CLI 访问检查文档,包含应用访问跟踪、分配日期和特权访问分析
EntraRoleCheck-PS1.md特权角色检查文档,包含角色枚举、PIM 分配跟踪、风险评估和安全分析
EntraServicePrincipalCheck-PS1.md服务主体安全检查文档,包含凭据枚举、过期跟踪、权限分析、所有者安全和风险评估
EntraConditionalAccessCheck-PS1.md条件访问策略安全检查文档,包含策略枚举、排除检测、MFA 执行缺口、关键应用覆盖范围和风险评估
EntraStaleAccountCheck-PS1.md过期账号检查文档,包含过期账号检测、从未登录检测、许可浪费检测、密码过期跟踪和账号卫生分析
EntraDeviceCheck-PS1.md设备信任与合规检查文档,包含设备枚举、合规状态检测、BYOD 检测、过时登录跟踪、Intune 合规策略和风险评估
EntraSSPRCheck-PS1.md自助密码重置检查文档,包含 SSPR 状态检测、注册方法分析、备份方法检测、强方法分类、MFA 关联和风险评估
EntraPasswordPolicyCheck-PS1.md密码策略安全检查文档,包含密码过期分析、永不过期检测、复杂度要求检查、弱策略识别、密码年龄跟踪和风险评估
EntraLegacyAuthCheck-PS1.md旧式身份验证检查文档,包含旧式协议检测、登录日志分析、最后使用跟踪、协议统计、MFA 关联和风险评估
EntraLicenseCheck-PS1.md许可和 SKU 分析文档,包含租户 SKU 枚举、用户许可分配跟踪、特权许可检测、未使用许可识别和风险评估
EntraAdminUnitCheck-PS1.md管理单元安全检查文档,包含 AU 枚举、作用域角色分配分析、成员枚举、MFA 状态检测、风险评估和作用域管理员访问分析
EntraDirectorySyncCheck-PS1.md目录同步状态检查文档,包含同步状态分析、同步错误检测、过期同步检测、同步冲突识别、同步作用域分析和风险评估
EntraPowerPlatformCheck-PS1.mdPower Platform 枚举文档,包含 Power Apps 枚举、Power Automate 流枚举、敏感连接器检测、高风险操作识别、连接器分析和风险评估
EntraGroupCheck-PS1.md组安全分析文档,包含组枚举、所有者分析(含 MFA 状态)、无所有者检测、过多成员检测、可分配角色组检测和风险评估
EntraApplicationCheck-PS1.md应用程序注册安全检查文档,包含应用枚举、凭据分析、过期跟踪、API 权限分析、所有者安全评估和风险评估
EntraAttackPathCheck-PS1.md攻击路径分析文档,包含权限提升路径、密码重置委派、传递组成员身份、共享邮箱访问、风险评估和路径复杂度分析
EntraAzureRBACCheck-PS1.mdAzure RBAC 角色分配审计与漂移检测文档,包含基线导出、漂移检测、多订阅支持、多租户支持、跳过失败租户、组成员展开、所有用户权限矩阵、PIM/JIT 排除、ABAC 条件不匹配检测、修复说明(Terraform/CLI/PowerShell)、角色分配跟踪、未授权更改检测和风险评估
EntraOAuthConsentCheck-PS1.mdOAuth 同意授权审计文档,包含 OAuth2PermissionGrant 枚举、管理员与用户同意检测、危险权限识别、过期同意检测、第三方应用分析、登录活动关联和非法同意授权检测的风险评估
EntraSignInRiskCheck-PS1.md标识保护分析文档,包含风险用户枚举、风险级别/状态跟踪、风险检测分析、不可能行程检测、匿名 IP 检测、密码喷洒检测、泄露凭据检测、模式分析、时间分析和修复指南
EntraPIMCheck-PS1.md特权身份管理 (PIM) 配置审计文档,包含 JIT 访问配置缺口、审批工作流分析、MFA 强制、理由要求、通知配置、永久分配检测、组的 PIM、访问审查和风险评估
EntraKeyVaultCheck-PS1.mdAzure Key Vault 安全审计文档,包含访问模型分析(RBAC vs 访问策略)、软删除和清除保护状态、网络安全审计(公共访问、防火墙、VNet)、私有终结点检测、过度宽松访问检测、诊断日志验证、机密/证书/密钥过期跟踪和风险评估
EntraStorageAccountCheck-PS1.mdAzure 存储帐户安全审计文档,包含公共 Blob 容器检测、HTTPS 强制验证、共享密钥访问分析、网络安全审计(公共访问、防火墙、VNet、私有终结点)、数据保护分析(软删除、版本控制)、密钥轮换跟踪、跨租户复制检测、TLS 版本验证、基础设施加密检查、诊断日志验证和风险评估
EntraNetworkSecurityCheck-PS1.mdAzure 网络安全审计文档,包含 NSG 规则分析、过度宽松规则检测(0.0.0.0/0, Any-Any)、开放管理端口检测(RDP, SSH, WinRM)、Azure Bastion 使用分析、DDoS 保护状态、VNet 对等安全、子网 NSG 覆盖、NSG 流日志配置、VPN/ExpressRoute 网关分析、流量分析状态和风险评估
EntraManagedIdentityCheck-PS1.mdAzure 托管标识安全审计文档,包含系统分配与用户分配标识清单、角色分配分析、高特权标识检测(Owner, Contributor, UAA)、关键角色检测、跨订阅访问检测、未使用标识识别、资源覆盖(VM、App Services、Function Apps)、作用域分析和风险评估
EntraExchangeCheck-PS1.mdExchange Online 安全审计文档,包含收件箱规则分析、外部转发检测、传输规则审计、邮箱委派分析、审核日志状态、OWA 策略分析、客户端访问规则、BEC 指示器检测、可疑规则检测和风险评估
EntraSharePointCheck-PS1.mdSharePoint Online 安全审计文档,包含租户共享设置、匿名链接检测、站点级覆盖检测、来宾访问分析、OneDrive 共享配置、敏感度标签覆盖、默认链接分析、链接过期策略和风险评估
EntraTeamsCheck-PS1.mdMicrosoft Teams 安全审计文档,包含外部访问(联盟)设置、来宾访问策略、会议策略分析(匿名加入、大厅绕过)、应用权限策略、消息策略、Teams 清单分析和风险评估
EntraAzureAttackPathCheck-PS1.mdAzure 跨服务攻击路径分析文档,包含 VM 到 Key Vault 路径、托管标识权限提升、存储横向移动、自定义角色漏洞、跨订阅路径、管理组继承、攻击叙述和风险评估
EntraReport-PS1.md整合安全报告生成器文档,包含多检查执行、HTML 执行仪表板、安全评分计算、修复优先级矩阵、带基线比较的趋势分析、快速扫描和全面扫描模式,以及 JSON 基线导出
EntraComplianceCheck-PS1.md合规评估文档,包含 CIS Azure 基准映射、NIST 800-53 控制映射、SOC 2 信任服务标准、ISO 27001 控制、GDPR 指示器、合规评分、控制族过滤和执行报告
SharePointEnum-PS1.mdSharePoint Online 枚举文档,包含 REST API 搜索、FQL 查询、细化筛选器、文件下载(磁盘和 Base64)、自动检测、智能认证回退(会话令牌验证、Azure CLI 回退、MSAL 设备代码流)、隐身模式和导出选项
特性PowerShellPython
用户枚举(15+ 种方法)✅✅
安全评估✅✅
凭据攻击面✅✅
条件访问分析✅✅
设备/Intune 枚举✅✅
攻击路径分析✅✅
Power Platform 枚举✅✅
横向移动分析✅✅
BloodHound 导出✅✅
HTML 报告生成✅✅
隐身模式✅✅
交互式菜单✅✅
Azure CLI 令牌✅✅
设备代码流✅✅
刷新令牌交换❌✅
扩展应用 ID 数据库❌✅
隐身预设❌✅
最佳用途
参数方法描述
(默认)Interactive使用交互式 OAuth 浏览器提示的 Connect-MgGraph
-UseAzCliTokenAzure CLI 令牌使用 az account get-access-token --resource https://graph.microsoft.com
-UseAzPowerShellTokenAzure PowerShell 令牌使用 Get-AzAccessToken -ResourceUrl "https://graph.microsoft.com"
参数方法描述
(默认)Interactive使用交互式浏览器提示的 Connect-AzAccount
-UseAzCliTokenAzure CLI 令牌使用现有的 az login 会话
-UseAzPowerShellTokenAzure PowerShell 令牌使用现有的 Connect-AzAccount 会话
-UseDeviceCode设备代码流Connect-AzAccount -UseDeviceAuthentication 用于无头终端
脚本模块身份验证
EntraExchangeCheckExchangeOnlineManagementConnect-ExchangeOnline(需要 Exchange 管理员角色)
EntraSharePointCheckMicrosoft.Online.SharePoint.PowerShellConnect-SPOService 到 SharePoint 管理 URL(需要 SharePoint 管理员角色)
SharePointEnumAz.Accounts(可选)智能回退:Azure 会话令牌 → Azure CLI → MSAL 设备代码流(Microsoft Office 客户端 ID)
EntraTeamsCheckMicrosoftTeamsConnect-MicrosoftTeams(需要 Teams 管理员角色)
脚本所需范围回退范围
Invoke-EntraApplicationCheckApplication.Read.All, Directory.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.AllApplication.Read.All, Directory.Read.All, User.ReadBasic.All
Invoke-EntraRoleCheckDirectory.Read.All, RoleManagement.Read.Directory, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.AllDirectory.Read.All, RoleManagement.Read.Directory, User.ReadBasic.All
Invoke-EntraMFACheckUser.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.AllUser.ReadBasic.All, UserAuthenticationMethod.Read.All
Invoke-EntraGroupCheckDirectory.Read.All, Group.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.AllDirectory.Read.All, Group.Read.All, User.ReadBasic.All
Invoke-EntraGuestCheckUser.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.AllUser.ReadBasic.All, UserAuthenticationMethod.Read.All
Invoke-EntraAdminUnitCheckDirectory.Read.All, AdministrativeUnit.Read.All, RoleManagement.Read.Directory, User.Read.All, UserAuthenticationMethod.Read.AllDirectory.Read.All, AdministrativeUnit.Read.All, User.ReadBasic.All
Invoke-EntraConditionalAccessCheckPolicy.Read.All, Directory.Read.All, Application.Read.All, User.Read.AllPolicy.Read.All, Directory.Read.All
Invoke-EntraDeviceCheckDevice.Read.All, Directory.Read.All, DeviceManagementManagedDevices.Read.All, DeviceManagementConfiguration.Read.AllDevice.Read.All, Directory.Read.All
Invoke-EntraDirectorySyncCheckDirectory.Read.All, User.Read.All, AuditLog.Read.AllDirectory.Read.All, User.ReadBasic.All
Invoke-EntraAttackPathCheckDirectory.Read.All, Group.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, RoleManagement.Read.Directory, AuditLog.Read.AllDirectory.Read.All, Group.Read.All, User.ReadBasic.All
Invoke-EntraServicePrincipalCheckApplication.Read.All, Directory.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.AllApplication.Read.All, Directory.Read.All, User.ReadBasic.All
Invoke-EntraPasswordPolicyCheckUser.Read.All, Directory.Read.All, AuditLog.Read.AllUser.ReadBasic.All, Directory.Read.All
Invoke-EntraLicenseCheckDirectory.Read.All, User.Read.AllUser.ReadBasic.All
Invoke-EntraLegacyAuthCheckAuditLog.Read.All, Directory.Read.All, User.Read.All, UserAuthenticationMethod.Read.AllDirectory.Read.All, User.ReadBasic.All
Invoke-EntraSSPRCheckUser.Read.All, UserAuthenticationMethod.Read.All, Reports.Read.All, AuditLog.Read.AllUser.ReadBasic.All, Reports.Read.All
Invoke-EntraStaleAccountCheckUser.Read.All, Directory.Read.All, AuditLog.Read.AllUser.ReadBasic.All, Directory.Read.All
Invoke-EntraAppAccessApplication.Read.All, Directory.Read.All, User.Read.All, UserAuthenticationMethod.Read.All, AuditLog.Read.AllApplication.Read.All, Directory.Read.All, User.ReadBasic.All
Invoke-EntraPIMCheckDirectory.Read.All, User.Read.All, RoleManagement.Read.Directory, PrivilegedAccess.Read.AzureADDirectory.Read.All, User.ReadBasic.All
Invoke-EntraOAuthConsentCheckApplication.Read.All, Directory.Read.All, User.Read.All, AuditLog.Read.AllApplication.Read.All, Directory.Read.All, User.ReadBasic.All
Invoke-EntraSignInRiskCheckIdentityRiskyUser.Read.All, IdentityRiskySignIn.Read.All, IdentityRiskDetection.Read.All, AuditLog.Read.All, User.Read.All, Directory.Read.AllIdentityRiskyUser.Read.All, IdentityRiskySignIn.Read.All, IdentityRiskDetection.Read.All
Invoke-EntraPowerPlatformCheckUser.Read.All, Directory.Read.All, Application.Read.All(通过用户上下文的 Power Platform API 权限)
Invoke-EntraComplianceCheckDirectory.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.AllDirectory.Read.All, Policy.Read.All, User.ReadBasic.All
脚本Azure RBAC 权限额外的 Graph 范围
Invoke-EntraAzureRBACCheck跨目标订阅的 Reader 角色User.Read, Directory.Read.All, GroupMember.Read.All
Invoke-EntraKeyVaultCheck订阅上的 Reader,用于枚举机密的 Key Vault Reader-
Invoke-EntraStorageAccountCheck订阅上的 Reader,用于枚举容器的 Storage Blob Data Reader-
Invoke-EntraManagedIdentityCheck订阅上的 ReaderDirectory.Read.All 用于 Graph 查询
Invoke-EntraNetworkSecurityCheck订阅上的 Reader,用于枚举 NSG/VNet-
Invoke-EntraAzureAttackPathCheck订阅上的 Reader,用于枚举访问策略的 Key Vault Reader-
脚本模块所需角色/权限
Invoke-EntraExchangeCheckExchangeOnlineManagementExchange 管理员或同等角色。需要:Get-InboxRule、Get-TransportRule、Get-MailboxPermission、Get-Mailbox
Invoke-EntraSharePointCheckMicrosoft.Online.SharePoint.PowerShellSharePoint 管理员或同等角色。需要:Get-SPOTenant、Get-SPOSite、共享配置 cmdlet
Invoke-SharePointEnumAz.Accounts(可选)任何具有 SharePoint 访问权限的用户。通过 Azure 会话、Azure CLI 或 MSAL 设备代码流使用委托权限的 SharePoint REST 搜索 API
Invoke-EntraTeamsCheckMicrosoftTeamsTeams 管理员或同等角色。需要:Get-CsTenantFederationConfiguration、Get-CsTeamsMeetingPolicy、Get-CsTeamsClientConfiguration、Get-Team
范围使用脚本数用途
Directory.Read.All21+ 个脚本读取目录对象(用户、组、角色、设置)
User.Read.All19+ 个脚本读取所有用户属性,包括登录活动
AuditLog.Read.All16+ 个脚本读取登录日志、审核日志、活动报告
UserAuthenticationMethod.Read.All13+ 个脚本检查 MFA 注册和身份验证方法
Application.Read.All7 个脚本读取应用注册和服务主体
Group.Read.All4 个脚本读取组成员资格和属性
RoleManagement.Read.Directory5 个脚本读取目录角色分配和 PIM 配置
Policy.Read.All3 个脚本读取条件访问策略和安全默认值
Device.Read.All1 个脚本读取设备注册
AdministrativeUnit.Read.All1 个脚本读取管理单元
PrivilegedAccess.Read.AzureAD1 个脚本读取 PIM 角色设置和分配
IdentityRiskyUser.Read.All2 个脚本读取 Identity Protection 风险用户
IdentityRiskySignIn.Read.All1 个脚本读取 Identity Protection 风险登录
IdentityRiskEvent.Read.All2 个脚本读取 Identity Protection 风险事件和检测
Reports.Read.All1 个脚本读取使用情况报告(SSPR)
DeviceManagementManagedDevices.Read.All1 个脚本读取 Intune 托管设备
DeviceManagementConfiguration.Read.All1 个脚本读取 Intune 合规性策略