$npx -y skills add killvxk/cybersecurity-skills-zh --skill analyzing-office365-audit-logs-for-compromise通过 Microsoft Graph API 解析 Office 365 统一审计日志,检测邮件转发规则创建、收件箱委托、可疑 OAuth 应用授权以及其他账户失陷指标。
| 1 | # 分析 Office 365 审计日志以检测账户失陷 |
| 2 | |
| 3 | ## 概述 |
| 4 | |
| 5 | 商业邮件欺诈(Business Email Compromise,BEC)攻击通常会在 Office 365 审计日志中留下痕迹:可疑的收件箱规则创建、将邮件转发到外部地址、邮箱委托更改以及未经授权的 OAuth 应用授权。本 skill 使用 Microsoft Graph API 查询统一审计日志,枚举各邮箱的收件箱规则,检测转发配置,并识别账户失陷指标。 |
| 6 | |
| 7 | ## 前置条件 |
| 8 | |
| 9 | - Azure AD 应用注册,具备 `AuditLog.Read.All`、`MailboxSettings.Read`、`Mail.Read`(应用权限) |
| 10 | - Python 3.9+ 及 `msal`、`requests` 库 |
| 11 | - 用于认证的客户端密钥或证书 |
| 12 | - 全局读取者(Global Reader)或安全读取者(Security Reader)角色 |
| 13 | |
| 14 | ## 步骤 |
| 15 | |
| 16 | 1. 使用 MSAL 客户端凭据流向 Microsoft Graph 进行身份认证 |
| 17 | 2. 查询统一审计日志中的可疑操作(Set-Mailbox、New-InboxRule) |
| 18 | 3. 枚举各邮箱的收件箱规则并标记转发规则 |
| 19 | 4. 检测邮箱委托更改(Add-MailboxPermission) |
| 20 | 5. 识别向可疑应用程序的 OAuth 授权 |
| 21 | 6. 检查审计日志中的可疑登录模式 |
| 22 | 7. 生成包含时间线的失陷指标报告 |
| 23 | |
| 24 | ## 预期输出 |
| 25 | |
| 26 | - JSON 报告,列出转发规则、委托更改、OAuth 授权以及带有风险评分的可疑审计事件 |
| 27 | - 失陷指标及受影响邮箱的时间线 |