invictus-ir/Microsoft-Extractor-Suite
GitHub: invictus-ir/Microsoft-Extractor-Suite
面向 Microsoft 365 和 Azure 环境的 PowerShell 取证模块,用于在安全事件响应中批量采集审计日志、邮箱配置、身份与安全策略等各类租户数据。
Stars: 792 | Forks: 117


[](https://microsoft-365-extractor-suite.readthedocs.io/en/latest/)
[](https://www.powershellgallery.com/packages/Microsoft-Extractor-Suite)




# Microsoft-Extractor-Suite 入门指南
要开始使用 Microsoft-Extractor-Suite,请查看 [Microsoft-Extractor-Suite 文档。](https://microsoft-365-extractor-suite.readthedocs.io/en/latest/)
## 关于 Microsoft-Extractor-Suite
Microsoft-Extractor-Suite 是一个功能全面且积极维护的 Powershell 工具,旨在简化从 Microsoft 内部的各种来源收集所有必要数据和信息的过程。
支持以下 Microsoft 数据源:
* Unified Audit Log
* Admin Audit Log
* Mailbox Audit Log
* Mailbox Rules
* Transport Rules
* Message Trace Logs
* Entra ID Sign-In Logs
* Entra ID Audit Logs
* Azure Activity Logs
* Azure Directory Activity Logs
除了上述日志来源之外,该工具还能够检索其他相关信息:
* Entra ID 中注册的 OAuth 应用程序
* 所有用户的 MFA 状态
* 所有用户的创建时间和上次密码更改日期
* 风险用户
* 风险检测
* 条件访问策略
* 管理员目录角色及其用户
* 特定的电子邮件或附件列表
* Microsoft 365 中所有邮箱的委派权限
* 有关在 Entra ID 中注册的所有设备的信息
* Microsoft 365 中所有邮箱的审计状态和设置
* 旨在收集组信息的函数
* 旨在收集许可证信息的函数
* 检索角色活动信息
* 生成所有 Privileged Identity Management (PIM) 角色分配的概览
* 安全警报
Microsoft-Extractor-Suite 由 Joey Rentenaar 和 Korstiaan Stam 创建,并由 [Invictus IR](https://www.invictus-ir.com/) 团队维护。
## 使用方法
要开始使用 Microsoft-Extractor-Suite 工具,请确保满足相关要求。如果您尚未安装 Connect-ExchangeOnline、AZ module 或 connect-mggraph,请查看[安装指南](https://microsoft-365-extractor-suite.readthedocs.io/en/latest/installation/Installation.html)。
安装 Microsoft-Extractor-Suite 工具包:
导入 Microsoft-Extractor-Suite:
在运行这些函数之前,您必须根据您的用例登录到 Microsoft 365 或 Azure。要登录,请使用以下 cmdlet 之一:
## 可用函数
### 统一 Audit Log
- `Get-UAL` - 收集所有 Unified Audit Logs
- `Get-UALStatistics` - 显示每个 Record Type 的 Unified Audit Logs 的总日志数
- `Get-MailboxAuditLog` - 收集 Mailbox Audit Logs
- `Get-AdminAuditLog` - 收集 Admin Audit Logs
### 邮箱和传输规则
- `Show-MailboxRules` - 显示邮箱规则
- `Get-MailboxRules` - 导出邮箱规则
- `Get-TransportRules` - 导出传输规则
- `Show-TransportRules` - 显示传输规则
### 邮件和邮件追踪
- `Get-MessageTraceLog` - 收集邮件追踪日志
- `Get-Email` - 下载特定或批量电子邮件
- `Show-Email` - 显示电子邮件内容
- `Get-Attachment` - 下载电子邮件附件
- `Get-Sessions` - 收集与 MailItemsaccessed 事件相关的会话信息
- `Get-MessageIDs` - 从 MailItemsaccessed 事件中提取 Message ID
### 登录与审计日志
- `Get-GraphEntraSignInLogs` - 收集登录日志
- `Get-GraphEntraAuditLogs` - 收集审计日志
### 活动日志
- `Get-ActivityLogs` - 收集活动日志
- `Get-DirectoryActivityLogs` - 收集目录活动日志
### OAuth 应用
- `Get-OAuthPermissionsGraph` - 通过 Graph API 收集 OAuth 应用程序权限
### 用户相关
- `Get-Users` - 收集用户信息
- `Get-AdminUsers` - 收集具有管理权限的用户
- `Get-MFA` - 收集用户的 MFA 状态
- `Get-RiskyUsers` - 收集风险用户
- `Get-RiskyDetections` - 收集风险检测事件
### 条件访问策略
- `Get-ConditionalAccessPolicies` - 收集条件访问策略
### 设备管理
- `Get-Devices` - 收集设备注册信息
### 权限和审计设置
- `Get-MailboxAuditStatus` - 收集邮箱审计配置
- `Get-MailboxPermissions` - 收集委派邮箱权限
### 许可证管理
- `Get-Licenses` - 收集租户中的所有许可证以及保留时间和高级许可证指标
- `Get-LicenseCompatibility` - 检查是否存在 E5、P2、P1 和 E3 许可证并通知功能限制
- `Get-EntraSecurityDefaults` - 检查 Entra ID 安全默认值的状态
- `Get-LicensesByUser` - 收集租户中所有用户的许可证分配情况
### 组管理
- `Get-Groups` - 收集组织中的所有组,包括组 ID 和显示名称等详细信息
- `Get-GroupMembers` - 收集每个组的所有成员及其相关详细信息
- `Get-DynamicGroups` - 收集所有动态组及其成员身份规则
### 角色管理
- `Get-PIMAssignments` - 生成一份关于 Entra ID 中所有 Privileged Identity Management (PIM) 角色分配的报告。
- `Get-AllRoleActivity` - 检索所有目录角色成员身份以及用户的上次登录信息。
### 安全管理
- `Get-SecurityAlerts` - 检索安全警报
### 自动收集所需的所有内容
- `Get-AllEvidence` - 自动收集所有(几乎)可用的证据类型
- `Start-MESTriage` - 使用可自定义的模板对特定用户执行快速分类
### 身份验证与会话管理
- `Connect-M365` - 连接到 Microsoft 365 服务
- `Connect-AzureAZ` - 使用 Az 模块连接
- `Disconnect-M365` - 断开与 Microsoft 365 服务的连接
- `Disconnect-AzureAZ` - 断开 Az 模块会话
## 相关项目
为了增强您的分析能力,可以考虑探索由 LETHAL FORENSICS 开发的 [Microsoft-Analyzer-Suite](https://github.com/LETHAL-FORENSICS/Microsoft-Analyzer-Suite)。该套件提供了一系列专为分析 Microsoft 365 和 Microsoft Entra ID 数据而设计的 PowerShell 脚本,这些数据可以使用 Microsoft-Extractor-Suite 进行提取。
标签:AI合规, Azure, Entra ID, IPv6, Libemu, MFA状态, Microsoft 365, Microsoft-Extractor-Suite, OAuth应用监控, OpenCanary, PowerShell, 安全取证, 审计日志, 库, 应急响应, 开源安全工具, 数字取证, 数据提取, 数据泄露, 日志收集, 统一审计日志, 网络安全, 自动化脚本, 逆向工程平台, 隐私保护