| name | detecting-azure-lateral-movement |
| description | 使用 Microsoft Graph API 审计日志、Azure Sentinel KQL 狩猎查询和登录异常关联,检测 Azure AD/Entra ID 环境中的横向移动,以识别权限提升、令牌窃取和跨租户转移。 |
| domain | cybersecurity |
| subdomain | cloud-security |
| tags | ["azure","entra-id","lateral-movement","sentinel","kql","graph-api","cloud-security","threat-hunting"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
检测 Azure 横向移动
概述
Azure AD/Entra ID 中的横向移动与本地环境不同。攻击者通过 OAuth 应用程序同意授权、服务主体滥用、跨租户访问策略和被盗刷新令牌进行枢转,而不是 SMB/RDP 连接。检测需要使用 Microsoft Sentinel 中的 KQL 查询关联 Microsoft Graph API 审计日志、Azure AD 登录日志和 Entra ID 保护风险事件。本 skill 涵盖为常见 Azure 横向移动技术构建检测分析,包括应用程序模拟、邮箱委派滥用和条件访问策略绕过。
前置条件
- 配置了 Microsoft Sentinel 工作区的 Azure 订阅
- 用于基于风险的登录检测的 Azure AD P2 或 Entra ID P2 许可证
- Microsoft Graph API 权限:AuditLog.Read.All、Directory.Read.All、SecurityEvents.Read.All
- 摄入 AuditLogs、SigninLogs 和 AADServicePrincipalSignInLogs 的 Log Analytics 工作区
- 熟悉 KQL(Kusto Query Language)
工作流程
步骤 1:配置日志摄入
启用诊断设置,将 Azure AD 日志流式传输到 Log Analytics:
- 登录日志(交互式和非交互式)
- 审计日志(目录更改、应用同意)
- 服务主体登录日志
- 预配日志
- 风险用户和风险检测
步骤 2:构建检测查询
在 Sentinel 中创建 KQL 分析规则,用于:
- 不寻常的服务主体凭据添加
- 向未知应用程序授予 OAuth 应用程序同意
- 来自新租户的跨租户登录
- 来自不同 IP/用户代理组合的令牌重放
- 邮箱委派更改(FullAccess、SendAs)
步骤 3:关联事件
通过在时间窗口内将登录异常与目录更改相关联,将多个低置信度指标链接为高置信度横向移动检测。
步骤 4:自动化响应
创建 Sentinel 手册(Logic Apps),自动撤销可疑的 OAuth 授权、禁用被入侵的服务主体并强制执行升级身份验证。
输出格式
JSON 报告,包含检测到的横向移动指标、关联的事件链、受影响的身份以及带 MITRE ATT&CK 技术映射的建议遏制操作。