这两个组为什么关键
Administrators 的成员在本机拥有完全控制权,Remote Desktop Users 的成员可以远程登录并交互。入侵者拿到本地管理员后,常见动作就是新建账号并加入这两个组,给自己留一条长期可用的通道。
核查方法
命令行与 PowerShell 各查一遍:net localgroup 直观,Get-LocalGroupMember 输出 Name 与 PrincipalSource,能区分本机账号、域账号与域控来源。组里嵌套另一个组时必须展开到最终用户,否则看到的只是第一层。
基本信息
| 本机管理员组 | Administrators(SID 结尾 -544) |
|---|---|
| 远程登录组 | Remote Desktop Users、Remote Management Users |
| 常用命令 | net localgroup、Get-LocalGroupMember |
| 关键字段 | Name、PrincipalSource(本机/域/域控) |
| 易忽视组 | Backup Operators、Hyper-V Administrators |
| 权限要求 | 本地管理员(查域组需域管理员) |
典型使用场景
- 入侵后核查是否被塞进管理员组留后门
- 离职交接时确认高权限组没有遗留账号
- 排查运维工具自动创建的隐藏管理员(如备份软件服务账号)
- 域环境主机同时核对本地组与域组,判断是否已横向扩散
- 事件收尾时对照授权名册做最终确认
核查关键组与来源
核查关键组与来源
net localgroup administrators # 本机管理员组成员
net localgroup "Remote Desktop Users" # 可远程桌面登录的账号
Get-LocalGroupMember -Group Administrators | Format-Table Name,PrincipalSource
Get-LocalGroupMember -SID S-1-5-32-544 | Select-Object Name,ObjectClass
net localgroup administrators /domain # 域内同名组(需域权限)
Get-LocalGroup | Where-Object Name -match 'Admin|Operator' | Select-Object Name输出逐列读法
| 字段 | 含义 | 正常/异常 |
|---|---|---|
| Name | 成员账号名 | 陌生账号或带 $ 的机器账号需核对 |
| PrincipalSource | 成员来源 | 无域环境却显示域来源即为异常 |
| ObjectClass | 成员类型 | 出现组需再展开出最终用户 |
| Enabled | 账号是否启用 | 已禁用账号长期留在组内属遗留配置 |
组成员出现组(嵌套组)时必须展开:最终权限取决于展开后的用户集合,默认输出只展示第一层。
域内主机本地组干净不代表域层干净:Domain Admins、Enterprise Admins 与受保护用户组要用同一套流程过一遍,域管账号可登录所有域内主机。
记录与固化核查结果
记录与固化核查结果
$g = 'Administrators'
Get-LocalGroupMember -Group $g | Export-Csv C:\evidence\admins.csv -NoTypeInformation -Encoding UTF8 # 留档便于比对
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4732} -MaxEvents 20 -ErrorAction SilentlyContinue | Select-Object TimeCreated, Message下一步核对方向
- 核对每个成员的最近登录记录与登录来源
- 检查新增成员对应账号的创建时间
- 对照变更工单确认组内新增是否有据可查
- 确认登录脚本与组策略未同步被改动