内网横向移动之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:利用共享资源
- 当管理员共享过C:\Users内任意文件后,即使关闭共享,Users目录仍保持共享状态
- 使用凭据建立IPC连接查看共享资源
- 向启动项等目录复制文件实现持久化
- 需要目标用户重启触发payload(可能需要绕过UAC)
方法2:WinRM服务
- 快速配置WinRM时会自动将LocalAccountTokenFilterPolicy设置为1
- 在攻击机上添加信任目标主机
# 添加信任所有主机
winrm set winrm/config/client '@{TrustedHosts="*"}'
- 通过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服务
- 如未启用,可远程启用:
psexec \\ComputerName -s winrm.cmd quickconfig -q
- 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的作用描述应互换