返回首页

Shadow RDP 绕过 Azure 中的 MFA

Shadow RDP 攻击允许攻击者无需 MFA 即可加入 Azure 管理员会话。注册表剖析、Event ID 日志和防护措施:GPO、Conditional Access、PAW。适用于高级基础设施专家的材料。

Shadow RDP 会话劫持:云中的 MFA 绕过
Advertisement 728x90

# Shadow RDP:攻击者如何劫持云管理会话

攻击者在混合本地 AD + Azure 环境中,利用 Windows 内置的 Shadow RDP 功能绕过 MFA。他们悄无声息地进入活跃的管理会话,无需重新认证,即可完全控制 Azure 资源。此事件在 Azure AD 日志中未引起警觉,直到有人发现会话持续超过 12 小时。

攻击条件与初步警报信号

该混合环境使用 Azure AD Connect 同步本地 Active Directory。关键资产如虚拟机和存储均部署在 Azure,所有特权账户强制启用 MFA。

Azure AD 当天仅记录一次成功的 MFA 登录。后续所有操作看似该会话的自然延续。警报信号?异常长的会话时长——超过 12 小时,且夜间无管理活动。

Google AdInline article slot

| 指标 | 正常行为 | 攻击期间 |

|----------|-----------------|---------------|

| Azure AD 会话时长 | 8–9 小时 | 24+ 小时 |

Google AdInline article slot

| MFA 提示 | 每日早晨或 IP 变更时 | 劫持后无 |

| IP 地址 | 办公室/VPN | 与管理员相同 |

| 进程 | 浏览器、PowerShell、RDP | + mstsc /shadow |

Google AdInline article slot

| 活动时间 | 上午 9:00–下午 6:00 | 夜间时段 |

Shadow RDP 技术剖析

Shadow RDP 是 Windows 10/11 和 Server 的原生功能(需启用 RDSH 角色),允许加入其他用户的活跃会话。

攻击者修改管理员工作站注册表,实现隐秘访问:

# 无需同意提示的全控制(模式 2)
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v Shadow /t REG_DWORD /d 2 /f

# 禁用观察通知
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v ShadowNotification /t REG_DWORD /d 0 /f

Shadow 模式:

  • 0 — 已禁用
  • 1 — 需许可的全控制
  • 2 — 无许可的全控制
  • 3 — 需许可的仅查看
  • 4 — 无许可的仅查看(本次攻击使用)

他们还调整了 Windows Defender 防火墙规则以开放 RDP 端口。

会话劫持命令:mstsc /shadow:SESSION_ID /control /noConsentPrompt

关键 Windows 日志事件

监控以下事件 ID 以侦测 Shadow RDP:

  • 事件 ID 20508 — Shadow 查看权限已授予
  • 事件 ID 20503 — Shadow 查看会话已启动
  • 事件 ID 20504 — Shadow 查看会话已停止

其他调查日志:

| 来源 | 事件 ID | 捕获内容 |

|--------|----------|----------|

| Security(管理员工作站) | 4657 | Shadow/ShadowNotification 注册表变更 |

| PowerShell Operational | 4103 | Set-ItemProperty 注册表操作 |

| TerminalServices-LocalSessionManager | 20503 | Shadow 会话启动 |

| TerminalServices-LocalSessionManager | 20504 | Shadow 会话结束 |

| Azure AD 登录 | — | 会话时长 |

| Azure AD 登录 | — | IP 变更无 MFA |

防御措施与对策

  • GPO 禁用 Shadow RDP:在非关键主机上设置 Shadow=0。
  • 限制 RDP 会话:GPO “为活跃但空闲的终端服务会话设置时间限制”——8 小时,强制断开。
  • Azure AD 条件访问

* MFA 频率:每 1–2 小时。

* IP 变更时重新认证。

* 特权角色禁用“保持登录状态”。

  • 强化 RDP 主机

* 限制管理员模式。

* 凭据防护。

* 远程凭据防护。

  • PAW/PAM 工作站:隔离管理员设备,使用后重启,无互联网/邮件访问。
  • SIEM/SOAR 监控

* 注册表变更。

* 事件 ID 20503/20504。

* 关联云端与本地日志。

核心要点

  • MFA 无法防范会话劫持——重点监控会话时长和进程。
  • Shadow RDP 是合法功能;通过注册表修改和事件 ID 20503+ 侦测。
  • 混合环境需关联 Azure AD 与 Windows 日志。
  • 频繁 MFA 的条件访问是反会话劫持的基础。
  • PAW 可缩小端点攻击面。

— Editorial Team

Advertisement 728x90

继续阅读