内网横向移动之LocalAccountTokenFilterPolicy
字数 1513 2025-08-25 22:58:20

内网横向移动之LocalAccountTokenFilterPolicy技术详解

1. 工作组环境中的横向移动

1.1 Remote UAC的影响

在Windows Vista及之后版本中,默认启用了Remote UAC机制,导致以下限制:

  • 任何非SID 500的本地管理员账户在远程计算机上没有特权提升能力
  • 用户无法执行管理任务

1.2 受影响工具测试

当Remote UAC启用时(LocalAccountTokenFilterPolicy=0),以下工具无法正常工作:

  • Schtasks
  • Psexec
  • Wmiexec
  • IPC连接
  • 注册表操作
  • Scshell

1.3 解决方案

修改目标主机注册表键值:

reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

1.4 无文件横向移动技术

通过ChangeServiceConfigA接口实现无文件横向移动:

  • 依赖DCERPC协议
  • 优点:无文件落地,不创建服务,不通过SMB认证
  • 项目地址:https://github.com/Mr-Un1k0d3r/SCShell
  • 推荐使用通用服务如vss(卷影拷贝服务)进行远程命令执行

1.5 LocalAccountTokenFilterPolicy=0时的绕过方法

方法1:利用共享资源

  1. 当管理员共享过C:\Users内任意文件后,即使关闭共享,Users目录仍保持共享状态
  2. 使用凭据建立IPC连接查看共享资源
  3. 向启动项等目录复制文件实现持久化
  4. 需要目标用户重启触发payload(可能需要绕过UAC)

方法2:WinRM服务

  1. 快速配置WinRM时会自动将LocalAccountTokenFilterPolicy设置为1
  2. 在攻击机上添加信任目标主机
# 添加信任所有主机
winrm set winrm/config/client '@{TrustedHosts="*"}'
  1. 通过PowerShell Remoting进行远程管理

2. 域环境中的横向移动

2.1 域环境特点

  • Remote UAC仅限制本地用户,不影响域用户
  • 获取域管理员凭据后可使用多种工具进行横向移动

2.2 可用工具

  • sc类工具:psexec, scshell
  • wmi类工具:wmiexec, wmic
  • smb类工具:smbexec, ipc, smbclient
  • winrm类工具

2.3 哈希传递攻击(PTH)

  • 在域环境中,多数工具支持哈希传递而不需要明文密码
  • 示例:使用mimikatz进行PTH攻击

2.4 WinRM服务的利用

  1. 多数域环境默认启用WinRM服务
  2. 如未启用,可远程启用:
psexec \\ComputerName -s winrm.cmd quickconfig -q
  1. WinRM也可用于哈希传递攻击:
    • 使用CobaltStrike等工具进行PTH
    • 启动进程后steal_token
    • 通过WinRM执行命令

3. 总结与防御建议

3.1 工作组环境

  • 默认LocalAccountTokenFilterPolicy=0限制了横向移动
  • 但某些配置可能将其设为1,增加了攻击面

3.2 域环境

  • 域用户不受LocalAccountTokenFilterPolicy限制
  • 获取高权限域用户凭据后可方便进行横向移动

3.3 防御建议

  1. 监控注册表键值LocalAccountTokenFilterPolicy的修改
  2. 限制WinRM服务的配置和使用
  3. 对共享资源进行严格管理
  4. 实施最小权限原则,避免过度授权
  5. 监控异常的网络连接和远程管理活动
  6. 定期审计域管理员账户和本地管理员账户

4. 补充说明

4.1 防火墙影响

  • 如开启防火墙,横向移动可能受到更大限制
  • 需要结合端口开放情况选择攻击路径

4.2 服务选择

  • 选择通用服务(如vss)而非特定服务(如XblAuthManager)可提高攻击成功率

4.3 错误修正

  • 原文工作组总结部分存在笔误:LocalAccountTokenFilterPolicy值0和1的作用描述应互换
内网横向移动之LocalAccountTokenFilterPolicy技术详解 1. 工作组环境中的横向移动 1.1 Remote UAC的影响 在Windows Vista及之后版本中,默认启用了Remote UAC机制,导致以下限制: 任何非SID 500的本地管理员账户在远程计算机上没有特权提升能力 用户无法执行管理任务 1.2 受影响工具测试 当Remote UAC启用时(LocalAccountTokenFilterPolicy=0),以下工具无法正常工作: Schtasks Psexec Wmiexec IPC连接 注册表操作 Scshell 1.3 解决方案 修改目标主机注册表键值: 1.4 无文件横向移动技术 通过ChangeServiceConfigA接口实现无文件横向移动: 依赖DCERPC协议 优点:无文件落地,不创建服务,不通过SMB认证 项目地址:https://github.com/Mr-Un1k0d3r/SCShell 推荐使用通用服务如vss(卷影拷贝服务)进行远程命令执行 1.5 LocalAccountTokenFilterPolicy=0时的绕过方法 方法1:利用共享资源 当管理员共享过C:\Users内任意文件后,即使关闭共享,Users目录仍保持共享状态 使用凭据建立IPC连接查看共享资源 向启动项等目录复制文件实现持久化 需要目标用户重启触发payload(可能需要绕过UAC) 方法2:WinRM服务 快速配置WinRM时会自动将LocalAccountTokenFilterPolicy设置为1 在攻击机上添加信任目标主机 通过PowerShell Remoting进行远程管理 2. 域环境中的横向移动 2.1 域环境特点 Remote UAC仅限制本地用户,不影响域用户 获取域管理员凭据后可使用多种工具进行横向移动 2.2 可用工具 sc类工具:psexec, scshell wmi类工具:wmiexec, wmic smb类工具:smbexec, ipc, smbclient winrm类工具 2.3 哈希传递攻击(PTH) 在域环境中,多数工具支持哈希传递而不需要明文密码 示例:使用mimikatz进行PTH攻击 2.4 WinRM服务的利用 多数域环境默认启用WinRM服务 如未启用,可远程启用: WinRM也可用于哈希传递攻击: 使用CobaltStrike等工具进行PTH 启动进程后steal_ token 通过WinRM执行命令 3. 总结与防御建议 3.1 工作组环境 默认LocalAccountTokenFilterPolicy=0限制了横向移动 但某些配置可能将其设为1,增加了攻击面 3.2 域环境 域用户不受LocalAccountTokenFilterPolicy限制 获取高权限域用户凭据后可方便进行横向移动 3.3 防御建议 监控注册表键值LocalAccountTokenFilterPolicy的修改 限制WinRM服务的配置和使用 对共享资源进行严格管理 实施最小权限原则,避免过度授权 监控异常的网络连接和远程管理活动 定期审计域管理员账户和本地管理员账户 4. 补充说明 4.1 防火墙影响 如开启防火墙,横向移动可能受到更大限制 需要结合端口开放情况选择攻击路径 4.2 服务选择 选择通用服务(如vss)而非特定服务(如XblAuthManager)可提高攻击成功率 4.3 错误修正 原文工作组总结部分存在笔误:LocalAccountTokenFilterPolicy值0和1的作用描述应互换