云上日志别忽视:用PowerShell从Entra登录日志中揪出密码喷洒攻击
本文介绍如何利用Microsoft Graph PowerShell分析Entra登录日志,发现密码喷洒攻击和异常国家登录。通过筛选失败登录、提取地理位置和失败原因,帮助安全团队及时调整条件访问策略,保护云端身份安全。
🔍 High 其他
企业上云后常忽略日志审计,而登录日志是发现攻击的关键。SANS ISC展示了如何使用Microsoft Graph PowerShell从Entra登录日志中提取失败/成功登录的地理位置和失败原因,从而发现密码喷洒攻击。通过分析异常国际登录,可及时调整条件访问策略,防范凭据滥用。
来源:SANS ISC | 2026-08-21 | 原文链接
🔍 关键发现
- 许多企业迁移到云端后不再像本地环境那样每日检查日志,导致密码喷洒等攻击长期潜伏。
- 通过Get-MgAuditLogSignIn可筛选失败登录,并从Location对象中提取城市、州/省和国家信息,以及具体失败原因。
- 密码喷洒攻击通常表现为同一IP或旋转代理池对多个账号尝试少量密码,账户锁定和'恶意IP'警报是重要迹象。
- 筛选成功登录中非预期国家的记录,可快速发现可疑的合法凭据滥用行为。
⚔️ 攻击链分析
攻击者利用旋转代理IP池,对多个用户账号尝试常见弱密码,以避免触发单个账户的锁定策略;当部分账号成功登录后,攻击者使用合法凭据进行后续访问;管理员通过审查Entra日志发现异常地理位置的登录,进而调整条件访问策略阻断攻击。
🚩 失陷指标 (IOC)
旋转代理IP池(Rotating proxy IP pool)带有恶意活动警报的IP地址(IP address with malicious activity)非预期国家/地区的登录IP
🛡️ 缓解建议
- ✅ 启用条件访问策略,限制非预期地理位置的登录,尤其对高权限账号。
- ✅ 定期使用PowerShell脚本审计Entra登录日志,监控失败和成功登录的异常模式。
- ✅ 对密码喷洒攻击实施账户锁定阈值和智能锁定策略,并启用风险检测。
- ✅ 使用Microsoft Graph API自动扩展日志分析,及时发现异常并响应。
涉及漏洞:[]
⚠️ 本文仅供安全研究与学习,IOC 信息请勿用于非法目的。
🤖 常见问题解答(FAQ)
❓ 如何用PowerShell筛选失败的Entra登录?
使用Get-MgAuditLogSignIn -Filter "status/errorCode ne 0" -All,选择时间、用户、IP、地理位置和失败原因字段,即可提取全部失败事件。
❓ 密码喷洒攻击有什么典型特征?
攻击者使用少量常见密码尝试多个账号,源IP多为代理池,失败后可能触发账户锁定,且成功登录往往来自非预期国家。
❓ 如何快速发现非预期国家的成功登录?
获取所有成功登录后,筛选Country不在预期列表中的记录,例如使用Where { $_.Country -notin @("CA","US") }。