首页/系统/Windows 运维速查/4732/4733/4728/4729 组成员变更

4732/4733/4728/4729 组成员变更

组加入/移除(本地组 4732/4733、全局组 4728/4729):权限提升最常见路径,管理员组任何变动都要留痕。

Windows 运维速查系统更新于 2026-10-13

组成员变更事件是什么

权限提升类攻击几乎都绕不开“把人加进高权限组”这一步,因此组成员变更事件值得单独记牢:本地组加入与移除是 4732 与 4733,域全局组加入与移除是 4728 与 4729。每组事件都包含被操作的对象、执行者与时间。把管理员组级别的变更做成日常告警,能在异常提权发生的当天就被发现,而不是等到季度审计。

基本信息

适用平台Windows 安全日志,需启用账户管理类审核
事件编号4732/4733 本地组加入与移除;4728/4729 全局组加入与移除
关键字段成员、组名、操作者(Subject)
日志位置本机变更在本地安全日志;域组变更在 PDC 模拟角色的安全日志
前置条件“审核账户管理”子类别已启用
配套事件4756 通用组加入、4757 移除

典型使用场景

  • 确认“谁在什么时候把账号加进了管理员组”
  • 离职处置后核对是否已从全部高权限组移除
  • 安全事件复盘:追溯提权路径的起点
  • 把管理员组变更做成每日巡检项
  • 审计改组成员是否为本人或授权人员操作

常用示例

常用示例
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4728,4729,4732,4733} -MaxEvents 30 | Select-Object TimeCreated, Id, @{n='组';e={$_.Properties[2].Value}}, @{n='成员';e={$_.Properties[0].Value}}, @{n='操作者';e={$_.Properties[4].Value}} | Format-Table -AutoSize
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4728,4732; StartTime=(Get-Date).AddDays(-30)} | Where-Object { $_.Message -match 'Administrators|Domain Admins' } | Select-Object TimeCreated, Id   # 只盯高权限组
wevtutil gl Security                                                                   # 确认日志容量能覆盖回溯窗口
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4728,4729,4732,4733} | Select-Object -First 1 | Format-List Message   # 看完整消息,含主体信息

事件编号速查

编号含义审计价值
4732本地组加入成员本机提权常见路径
4733本地组移除成员回收是否彻底
4728全局组加入成员域级权限扩大
4729全局组移除成员域级权限回收
4756/4757通用组加入与移除跨域场景补充
事件消息体里成员与组的显示名比 Properties 索引更直观,复杂场景直接读 Message 更省事;组名在不同语言环境中会本地化,做脚本判断时用 SID 比对更可靠。
这类事件没有启用审核就不会产生:接手环境排查前先确认审计策略,否则你会得到“从未有人加过组”的错误结论。

易错点

  • 没有启用账户管理审核,历史变更一片空白,事后无法追溯
  • 只看 Properties 索引取值,忽略索引在不同版本或不同事件上的差异,取错字段
  • 只在本机查日志,域组变更实际记录在具备 PDC 模拟角色的域控上,方向找错
  • 把管理员组变更当日常噪音不告警,异常提权可能几个月后才被发现

数据来源与参考

  • Microsoft Learn:4732 事件
  • Microsoft Learn:4728 事件

相关工具

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