首页/安全/安全加固速查/Windows 本地账号核查

Windows 本地账号核查

两件套核查:管理员组成员清单 + 启用且免密的账号;任一异常都够事件级别。

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

这条条目在查什么

Windows 本地账号核查就三件事:管理员组里有哪些成员、有没有启用且免密的账号、默认账号(尤其是 Guest)是否已禁用。任何一项异常都足以构成事件级发现——多一个管理员成员意味着多一条完整控制权路径,免密启用账号意味着无需凭据即可交互登录。核查要直接输出清单,而不是只看一眼确认没问题。

基本信息

加固项本地账号与管理员成员管理
适用平台Windows 10/11 与 Windows Server 2016+
风险等级高
判读管理员清单与授权名单一致,Guest 处于禁用状态
执行权限需要管理员权限打开 PowerShell

典型使用场景

  • 交付核查:确认设备上不存在未授权的本地管理员
  • 事件响应:攻击者常新建本地账号或把普通账号加入管理员组
  • 离场处理:人员变动后清点管理员组成员并收回权限
  • 巡检取样:抽查一批终端,横向比较账号基线是否漂移
  • 合规测评:身份鉴别条款要求默认账户已改名或禁用,且权限最小化

核查命令

核查命令
Get-LocalUser | Select-Object Name,Enabled,LastLogon,PasswordRequired
Get-LocalGroupMember -Group Administrators | Select-Object Name,PrincipalSource
Get-LocalUser | Where-Object { $_.Enabled -and -not $_.PasswordRequired }
Get-LocalUser | Select-Object Name,Enabled,PasswordLastSet,PasswordExpires
net localgroup Administrators        # 传统命令交叉确认

关键字段读法

字段含义异常表现
Enabled账号是否启用出现不认识且启用的账号要立即核实
PasswordRequired是否要求口令启用且为 False 即免密登录,属高危
LastLogon最近登录时间长期未登录却启用,或刚被使用过的陌生账号
PrincipalSource账号来源Local 为本地账号,域账号来自目录服务
PasswordLastSet口令最后设置时间多年未改的口令,或空值表示从未设置
隐藏账号要一并排查:注册表 SAM 中特定标志位被置位的账号在常规界面与部分命令输出中不可见,处置前先取证。发现异常账号时不要直接删除,先导出管理员组成员与账号属性作为证据,再按事件流程处置。
域环境下本地列表只是局部:域账号不出现在 Get-LocalUser 中,需要结合组策略与域控数据核查。部分时间字段在域环境中受复制延迟影响,判定时以域控侧记录为准,不要把延迟当成异常。

输出如何归档

建议把三份输出合并成一张账号台账:账号名、是否启用、是否要求口令、最近登录、所属组、来源。台账按季度更新并与上期比对,新增的管理员成员必须有对应的授权记录。这种表格化留档在评审与内部审计中都能直接复用,比零散的截图更实用。

易错点

  • 只看账号列表不看管理员组:攻击者更常用的手法是把既有账号加进管理员组,组内成员清单不可省
  • 忽略 PasswordRequired 字段:启用且免密的账号等同于开放入口,必须单独筛出来
  • 以非管理员身份运行命令:部分属性读取不全,输出看似正常但实际缺失关键字段
  • 在域环境只查本地账号:会漏掉域账号与域组授予的权限,需结合组策略结果核查
  • 发现异常账号直接删除:破坏取证时间线,正确做法是先导出属性并保存证据再处置

数据来源与参考

  • CIS Windows Benchmark:账号
  • 等保 2.0:身份鉴别

相关工具

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