横向移动不是一次性的入侵动作,而是攻击者在拿下域内一台初始主机后,以这台“滩头阵地”为跳板,利用Windows域控架构的信任机制,逐步窃取凭据、提升权限,最终拿下域控制器(Domain Controller)的全过程。防御横向移动的核心难点在于,攻击者使用的往往是系统自带的管理工具和合法协议,很难通过简单的特征码进行阻断。真正有效的防御,必须从阻断凭据窃取、收缩本地管理员权限、硬化网络访问路径以及部署实时 deception 技术四个维度同时下手。

彻底斩断凭据转储的源头

攻击者进入内网后的第一件事,几乎都是运行 Mimikatz 或类似工具从 LSASS 进程内存中抓取明文密码、NTLM 哈希或 Kerberos TGT 票据。最直接的防御手段是启用 Credential Guard。在支持虚拟化安全(VBS)的硬件上,Credential Guard 会将 LSASS 中的敏感凭据隔离到独立的虚拟安全模式下运行,即使攻击者获得了 SYSTEM 权限,也无法读取受保护的哈希。在组策略中,需要确认“计算机配置\管理模板\系统\Device Guard\打开基于虚拟化的安全”已启用,并选择“安全启动”和“启用 Credential Guard”。

对于无法立即启用 Credential Guard 的老旧系统,必须强制执行“受保护的用户”安全组。将域管理员、企业管理员等高权限账号加入该组,系统会自动拒绝 NTLM 认证,强制使用 Kerberos,并限制凭据缓存。同时,在组策略的“计算机配置\Windows 设置\安全设置\本地策略\安全选项”中,将“网络访问: 不允许存储网络身份验证的密码和凭据”启用,彻底阻止 WDigest 协议在内存中存储明文密码。很多运维人员忽略了 WDigest 的开关,只要注册表键 HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest 下的 UseLogonCredential 值为 1,攻击者就能直接拿到明文密码,必须通过组策略将其强制置 0。

重构本地管理员权限体系

横向移动最常见的通道就是本地管理员密码的哈希传递(Pass-the-Hash)。如果域内所有服务器使用相同的本地管理员密码,一台服务器沦陷就意味着整个服务器集群的沦陷。微软的 Local Administrator Password Solution(LAPS)是解决这个问题的标准方案。LAPS 会为每一台加入域的计算机生成唯一的、定期轮换的本地管理员密码,并将加密后的密码存储在 Active Directory 的机密属性中。部署时,需要扩展 AD 架构,安装 LAPS 客户端,并通过组策略配置“启用本地管理员密码管理”。关键在于,必须严格控制 LAPS 密码的读取权限,只授权给特定的桌面支持组,绝不能让普通域用户拥有读取 ms-Mcs-AdmPwd 属性的权限。

除了管理密码,还需要彻底清除域内泛滥的本地管理员权限。通过组策略受限组或首选项,严格定义每台计算机本地 Administrators 组成员,移除 Domain Users 或过大的辅助组。同时,利用“计算机配置\Windows 设置\安全设置\本地策略\用户权限分配”中的“拒绝从网络访问这台计算机”策略,将高权限账号、服务账号以及不直接用于交互登录的管理账号全部加入拒绝列表。这样一来,即使攻击者窃取了这些账号的哈希,也无法通过网络登录到目标服务器。

硬化 SMB 与 RPC 协议栈

横向移动在技术上高度依赖 SMB(445 端口)和 RPC(135 端口)协议。攻击者通过 PsExec、WMI、远程服务创建等方式执行代码,底层走的都是这些通道。防火墙策略不能只停留在边界,必须启用 Windows Defender 防火墙并配置严格的入站规则。对于普通客户端子网,直接阻止到其他客户端子网的 445 和 135 端口出站连接,客户端之间不需要直接通信。只有管理跳板机(Jump Server)所在的特定管理网段,才被允许访问服务器的 SMB 和 RPC 端口。

在协议层面,必须强制 SMB 签名。SMB 签名可以防止中间人篡改和会话劫持,同时也能有效阻断基于 NTLM 中继的横向移动。在组策略“计算机配置\Windows 设置\安全设置\本地策略\安全选项”中,将“Microsoft 网络客户端: 对通信进行数字签名(始终)”和“Microsoft 网络服务器: 对通信进行数字签名(始终)”都设置为启用。虽然启用 SMB 签名会带来微小的性能开销,但对于域控和关键服务器,这是不可妥协的底线。此外,对于 RPC 通信,应启用 RPC 过滤器,仅允许特定的 RPC 接口 UUID 通过防火墙,而不是开放整个动态 RPC 端口范围。

实施基于主机的网络分段与微隔离

传统的 VLAN 分段粒度太粗,一旦攻击者进入某个 VLAN,就可以随意扫描和攻击同网段内的所有主机。Windows 防火墙连接安全规则(Connection Security Rules)可以实现基于 IPsec 的微隔离。通过配置“要求对入站和出站连接进行身份验证”的连接安全规则,可以强制要求域内特定服务器组之间的通信必须经过 Kerberos 或证书验证。未加入域或未通过身份验证的设备将完全无法建立 TCP 连接。这种隔离对攻击者使用的 Cobalt Strike Beacon 或内网扫描器是致命的,因为攻击工具通常不具备有效的域身份。

配置微隔离时,可以按照服务器角色定义安全组,例如“SQL 服务器组”、“Web 服务器组”。然后创建连接安全规则,仅允许“SQL 服务器组”与“应用服务器组”之间的特定端口通信,并要求入站和出站双向身份验证。这种配置完全在 Windows 防火墙高级安全控制台内完成,无需额外硬件,但能极大增加攻击者在内部网络中的横向移动难度。

阻断 Kerberos 票据攻击

攻击者在无法获取明文密码时,会转向 Kerberos 票据攻击,包括黄金票据、白银票据和 Kerberoasting。黄金票据的防御依赖于定期重置 KRBTGT 账户密码。微软官方建议每 180 天重置一次,但在高安全环境中,应缩短到 60 天甚至更短。重置 KRBTGT 密码需要执行两次,中间间隔足够的复制时间,否则会导致域内认证中断。可以使用 PowerShell 脚本自动化这一过程,但要确保在非业务高峰期执行。

Kerberoasting 攻击利用的是服务主体名称(SPN)对应的服务账户。攻击者请求 TGS 票据后离线暴力破解。防御策略是要求所有服务账户使用超过 25 位的强密码,并将高权限服务账户加入“受保护的用户”组。更彻底的做法是启用组托管服务账户(gMSA),让 AD 自动管理服务账户的密码轮换,密码复杂度极高且完全不可见,从根本上消除了 Kerberoasting 的威胁。

白银票据的防御相对困难,因为它完全在客户端和服务器之间完成,不经过域控。核心防御手段是启用 PAC 验证。在域控上,通过修改注册表键 HKLM\SYSTEM\CurrentControlSet\Services\Kdc 下的 ValidatePac 值为 1,强制要求所有服务验证特权属性证书(PAC),一旦票据中的 PAC 签名无效,服务将拒绝连接。同时,配合 SMB 签名和 LDAP 签名,可以大幅压缩白银票据的利用空间。

部署基于行为的实时检测与诱捕

基于签名的杀毒软件对横向移动几乎无效,因为攻击者使用的是微软签名的合法工具。必须转向基于行为的端点检测。启用 Windows Defender for Endpoint 或 Sysmon,重点监控以下行为:LSASS 进程的访问请求(事件 ID 10)、远程服务创建(事件 ID 7045)、WMI 远程执行(事件 ID 19/20/21)、以及计划任务远程注册。特别是 Sysmon 配置中,必须将 lsass.exe 的访问限制为仅允许标记了“可信任”签名的模块,任何非系统进程尝试打开 LSASS 句柄都应触发告警。

在关键子网部署蜜罐账户和蜜罐主机是低成本高回报的检测手段。在 AD 中创建几个看似高价值但实际无任何权限的“诱饵管理员”账户,并故意在部分服务器的 LSASS 内存中留下这些账户的假凭据。一旦攻击者尝试使用这些凭据进行横向移动,无论成功与否,都会触发域控上的登录失败审计日志。通过实时监控这些蜜罐账户的任何登录尝试,可以在攻击者接触到真实资产前就发现入侵行为。同时,在网络上放置几台未打补丁的“诱饵服务器”,开放 445 和 3389 端口,任何对这些服务器的连接尝试都直接判定为恶意行为。

构建严格的特权访问管理流程

技术控制之外,人的操作习惯是横向移动最大的漏洞。域管理员账号绝不能在非域控的服务器上登录,这是铁律。日常运维必须通过“特权访问工作站(PAW)”和“Just-In-Time”管理模型实现。PAW 是经过专门强化的 Windows 10/11 工作站,只运行管理工具,不安装浏览器、邮件客户端等高风险软件。管理员使用普通账号登录 PAW,仅在进行管理操作时,通过 RunAs 或 PowerShell JEA 端点使用临时提升的权限。

所有管理连接必须通过 RDP 受限管理模式(Restricted Admin Mode)或 Windows Admin Center 的网关进行。受限管理模式不会将凭据缓存到目标服务器的内存中,即使目标服务器已被攻陷,攻击者也抓取不到管理员的哈希。启用该模式需要在目标服务器上设置“计算机配置\管理模板\系统\凭据分配\限制向远程服务器分配凭据”,并在客户端使用 mstsc /restrictedAdmin 参数连接。

横向移动防御是一场不对称的战争,攻击者只需要找到一个缺口,而防御者必须堵住所有路径。将上述措施分层落地,从凭据保护、权限管理、协议硬化、网络分段到行为检测,每一层都能显著提高攻击者的成本。当攻击者发现无法抓取哈希、无法哈希传递、无法扫描端口、无法连接服务时,横向移动的链条就会彻底断裂。