LSHIY Password Spray Campaign Targets Azure CLI Across 64 Organizations(2026-07-06)
概述:一场针对Azure CLI的隐秘“撒网”攻击
2026年6月,一个代号为 LSHIY 的持续型密码喷洒攻击(Password Spraying)被安全研究人员发现,其目标直指全球64个不同组织的Azure CLI(命令行接口)账号。与传统暴力破解不同,LSHIY攻击者并非对单个账号进行大量尝试,而是巧妙地利用少量常见密码,在多个域名和租户间“低空掠过”,以避免触发账户锁定机制。
这场攻击之所以引发关注,不仅因为其规模(涉及超过5000个测试账号),更因为它利用了Azure CLI在自动化运维中的“特权身份”——许多企业将其绑定到服务主体或拥有高权限的管理员账号上。
攻击深度解析:LSHIY如何做到“静悄悄”?
攻击链核心步骤
- 信息收集:攻击者通过扫描公开的Azure Active Directory租户信息,收集组织域名及可能的用户名列表(如
[email protected])。 - 密码喷洒:使用类似于
Spring2026!、P@ssw0rd123等12-15个常见密码,对每个账号进行最多3次尝试,确保单账号尝试次数不触发锁定。 - 利用Azure CLI与OAuth2:攻击者直接向Azure AD的OAuth2端点发送认证请求,而非登录Web界面,这使得传统基于Web日志的告警系统难以察觉。
- 凭据复用:一旦获得有效账号,攻击者立即尝试通过Azure CLI创建新的服务主体或添加API权限,最终实现持久化访问。
关键数据一览
| 指标 | 数值 |
|---|---|
| 被攻击组织数 | 64个 |
| 单次攻击测试账号 | 约5000个 |
| 使用的常见密码 | 15个 |
| 攻击持续时间 | 约3周 |
| 异常低的存在率 | < 0.1% 的租户触发警报 |
真实案例:一家跨国企业的幸存者偏差?
一家拥有3万名员工的欧洲科技公司在此次攻击中险些失守。安全团队在例行审计中发现,其一个几乎不用的Azure CLI服务主体账号在凌晨3点异常登录,并试图修改API权限列表。最终调查显示,该账号的密码恰好位于攻击者的喷洒列表中,但由于该账号绑定了MFA条件访问策略,攻击被成功阻断。
教训:即使密码不佳,MFA(特别是基于证书的条件访问)也能成为最后一道救命稻草。
实用建议:如何防御这种“低慢”攻击?
1. 启用Azure AD身份保护(Identity Protection)
- 开启“异常登录”检测策略,配置Azure CLI应用登录的风险阈值。
- 设置强制MFA,尤其是对
Azure CLI和PowerShell这类非交互式客户端。
2. 严格管理服务主体
- 为每个Azure CLI账号分配最小权限,避免使用全局管理员。
- 使用托管标识(Managed Identity)替代服务主体密码,从根本上解决密码泄露问题。
3. 部署条件访问策略
- 创建针对Azure CLI应用的策略:仅允许来自受信任的IP范围或合规设备的登录。
- 对所有使用Azure CLI的会话要求密码+证书认证(证书绑定)。
4. 日志与监控
- 在Azure Sentinel中设置密码喷洒检测规则:监控
SigninLogs表中同一IP对多达50个不同用户进行<5次尝试的行为。 - 针对“从罕见地理位置通过Azure CLI访问”等高危情况立即告警。
行动号召:立即检查你的Azure CLI认证设置
别让一个“弱密码”毁掉整个基础设施。 立刻执行以下三步:
- 登录Azure Portal → 导航至“Azure Active Directory” → “安全” → “条件访问”,确认Azure CLI应用已被包含在新的“需要MFA”策略中。
- 检查你的服务主体:在“应用注册”中,筛选出未绑定MFA或拥有“用户模拟”权限的服务主体,立即整改。
- 开启日志审计:确保
SigninLogs和AuditLogs已存储到Azure Log Analytics中,并关联至少一个威胁检测规则。
安全不是一次性的配置,而是持续的对抗。 立即行动,保护你的Azure资产。
免责声明:本文内容仅为安全情报分析与通用防御建议,不构成任何系统具体配置的法律或专业咨询建议。读者应对自身环境进行独立评估,并在实施任何安全策略前咨询合格的安全专家。所有案例细节均为基于公开情报的虚构概括,与现实中的特定企业无关。作者对因使用本文信息而造成的任何直接或间接损失不承担责任。