首页/安全/安全加固速查/计划任务与服务凭据安全
口令与认证策略55 条

计划任务与服务凭据安全

计划的“使用存储口令运行”任务与服务账户会在系统中留下可解密凭据:盘点运行账户,能换 gMSA 的换,不能换的下调权限。

安全加固速查安全更新于 2026-10-13

计划任务与服务凭据为什么危险

计划任务选择「使用存储的密码运行」时,口令会被系统保存下来,具备相应权限的人可以取出使用;服务账户的凭据同样如此。它们经常由多年前的部署脚本创建,权限过高、口令长期不变,一旦泄露就等于同时失守多台机器。

基本信息

适用平台Windows 域环境与独立服务器
盘点对象计划任务运行账户、服务账户与凭据存储
命令入口Get-ScheduledTask 的 Principal、Win32_Service 的 StartName
基线无多余存储口令任务,服务账号按最小权限运行

典型使用场景

  • 域安全自查:盘点高权限服务账户与存储口令任务
  • 离职与交接:确认相关任务与服务账号的归属
  • 事件排查:攻击者常通过读取凭据存储获得横向移动能力
  • 账号治理:把能迁移到托管服务账号的迁走,不能迁的下调权限

盘点存储口令的任务与服务

盘点存储口令的任务与服务
# 找出使用存储口令运行的计划任务
Get-ScheduledTask | Where-Object {$_.Principal.LogonType -eq 'Password'} | Select-Object TaskName, TaskPath, @{n='User';e={$_.Principal.UserId}}
# 找出非系统账户运行的服务
Get-CimInstance Win32_Service | Where-Object {$_.StartName -notlike 'LocalSystem*' -and $_.StartName -notlike 'NT AUTHORITY*'} | Select-Object Name, StartName, PathName

运行账户类型读法

账户类型凭据存放风险与建议
LocalSystem系统内置权限极高,避免用于业务任务
NetworkService系统内置权限较低,适合多数基础服务
域用户账号可能有存储口令泄露影响多机,优先迁移或轮换
托管服务账号由系统自动轮换推荐方向,需评估应用兼容性
把计划任务改为「仅在用户登录时运行」会失去无人值守能力:更好的方向是使用托管服务账号或专用低权账号,并按机隔离。
同一服务账号在多台机器上复用非常常见:该账号一旦被取到,等于同时失守这些机器,因此按机隔离与定期轮换都要列入整改,并记录复用范围。
盘点结果要包含任务与服务的具体路径:只记录账号名,后续整改时仍要逐台重新定位,盘点等于白做。

易错点

  • 只看任务不看服务:服务账户凭据同样可被取出,盘点范围要覆盖两类对象
  • 任务运行账户权限过高:本地管理员几乎是最常见的配置,需要按需降权
  • 导出结果中的账户名与任务名外泄:同样属于内部资产信息,注意保管
  • 改账户前不做回归测试:任务失败往往几天后才发现,影响数据产出

数据来源与参考

  • Microsoft Learn:Scheduled task principals
  • CIS Windows Benchmark:任务与服务条目

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌