防范apt提权需构建分层动态访问策略体系,核心是收缩攻击面、阻断提权路径、增强行为感知、限制横向移动;收紧uac策略、禁用autoelevate接口、强化账户凭证管控、部署纵深行为检测闭环。

防范针对权限提升机制的高级持续威胁(APT),不能只靠单点工具或临时加固,关键在于构建分层、动态、可审计的系统访问策略体系。核心思路是:收缩攻击面、阻断提权路径、增强行为感知、限制横向移动。
收紧UAC与特权执行策略
UAC不是摆设,而是第一道提权拦截网。必须禁用“从不通知”和“不使桌面变暗”这两类弱化设置;推荐企业终端统一启用“默认-仅当程序尝试更改我的计算机时通知我”,开发机可酌情使用“始终通知”并配合白名单脚本自动确认可信操作。同时,在组策略中启用:用户帐户控制:以管理员批准模式运行所有管理员(强制标准用户模式下提权需显式授权),并关闭用户帐户控制:检测应用程序安装并提示提升(该选项易被COM劫持绕过)。
限制高危服务与组件自动提权
Windows中大量标记为AutoElevate的COM接口(如ICMLuaUtil、IFileOperation)是UAC绕过的常用跳板。可通过PowerShell批量禁用非必要高危接口:
- 运行Get-ChildItem HKLM:\SOFTWARE\Classes\CLSID -Recurse | Where-Object { $_.GetValue("LocalizedString") -like "*AutoElevate*" } | ForEach-Object { Set-ItemProperty $_.PSPath "LocalizedString" "" -ErrorAction SilentlyContinue } 清除注册表中的AutoElevate标识
- 禁用非必需服务:如WMI Performance Adapter、Secondary Logon、Task Scheduler(若无自动化任务需求)
- 对sysprep.exe、consent.exe、pkgmgr.exe等已知DLL劫持目标进程,启用Windows Defender Application Control (WDAC)策略,仅允许签名且哈希白名单内的DLL加载
强化账户与凭证生命周期管控
90%以上的纵向提权始于凭证滥用。必须实施最小权限原则下的账户治理:
- 禁用本地Administrator账户,改用带强密码、启用LAPS(本地管理员密码解决方案)管理的专用运维账户
- 域环境中禁用“Everyone”、“Authenticated Users”对敏感注册表项(如HKLM\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation)和服务配置(sc qc)的写权限
- 启用Windows Hello for Business或FIDO2密钥替代密码登录,杜绝Pass-the-Hash与凭证转储风险
- 对数据库(PostgreSQL/SQL Server)、中间件(Tomcat/Nginx)等第三方应用,强制使用独立服务账户,并定期轮换密码,禁止共享postgres、sa等默认高权限账号
部署纵深行为检测与响应闭环
静态策略无法覆盖新型提权技术(如NTLM Relay、命名管道滥用、打印后台处理程序漏洞)。需引入运行时行为分析:
- 开启Windows事件日志中的Security(4688进程创建)、Sysmon(Event ID 1, 3, 7, 12, 13)及 PowerShell Script Block Logging,重点监控异常父进程(如explorer.exe启动cmd.exe)、非标准路径DLL加载、令牌操纵API调用(DuplicateTokenEx、ImpersonateLoggedOnUser)
- 在EDR或SIEM中配置ATT&CK T1068(权限提升)战术关联规则,例如:连续出现多次失败的UAC弹窗后触发一次成功提权+后续注册表持久化写入,即判定为可疑提权链
- 结合火绒ATP规则与Defender Firewall出站控制,对未签名进程外联、非标准端口(如445/139以外的SMB)通信、加密流量异常突增等行为实时阻断并告警











