高质量AD权限审计报告需聚焦“谁改了什么、何时改的、改成了什么样”,解析SDDL为结构化字段,关联上下文行为链,并按角色提供差异化视图。
生成高质量的 active directory 权限审计报告,关键不在堆数据,而在让权限变化“可读、可溯、可判”。原生日志里全是安全描述符字符串(如 o:aog:dad:(a;;rpwpccdc lcswrcwdwoga;; ;s-1-0-0)),直接看等于读天书。真正实用的报告要跳过原始格式,直击“谁改了什么、何时改的、改成了什么样”。
聚焦权限变更核心事件
不是所有 AD 日志都值得进报告。优先纳入以下四类高风险权限操作:
- 用户或组被加入/移出特权组(如 Domain Admins、Enterprise Admins、Account Operators)
- OU 或容器级权限被修改(特别是“完全控制”“写入所有属性”“修改权限”“删除子对象”等权限授予 Everyone 或非管理员主体)
- GPO 链接被添加、移除或继承被禁用(尤其在敏感 OU 上)
- 计算机账户或服务账户的委派设置变更(如基于资源的约束性委派配置新增)
用结构化字段替代安全描述符
原始日志中的 SDDL 字符串不便于比对和告警。理想做法是解析并提取为标准字段:
- 操作类型:添加权限 / 移除权限 / 替换权限
-
目标对象:DN(如
OU=Finance,DC=contoso,DC=com) + 类型(OU/用户/组/GPO) -
被授权主体:SID 对应的可读名(如
CONTOSO\HR-Admins) - 具体权限:用中文或标准化缩写(如 “读取、写入、删除、管理所有子对象”)
- 是否继承:是 / 否 / 仅应用于子对象
工具如 ADAudit Plus、Lepide 或自研 PowerShell 脚本(配合 Get-Acl 和 ConvertFrom-SddlString)可自动完成该解析。
绑定上下文,避免孤立项
单条“权限被修改”记录价值有限。真正有用的是把它放进行为链中:
- 同一管理员在 5 分钟内连续修改 3 个 OU 的 DACL?→ 标记为批量操作,需人工复核
- 某用户刚被加进 Backup Operators 组,2 小时后其登录源 IP 出现在非工作网段?→ 关联告警
- GPO 权限变更后 10 分钟内,该 GPO 被链接到 Domain Controllers OU?→ 触发高危流程预警
这要求日志采集时保留足够多的关联字段(如事件 ID、进程 ID、登录 ID、工作站名),并在报告层做跨事件关联分析。
输出即用型视图与导出选项
面向不同角色提供差异化视图:
- 管理员视角:按时间倒序列表 + 差异高亮(绿色=新增权限,红色=移除关键权限)+ 一键跳转到 ADUC 定位对象
- 审计员视角:PDF 报告含完整时间戳、操作者签名、不可篡改哈希值;支持按 ISO 27001/GDPR 条款映射(如“GDPR 第32条:访问控制变更记录”)
- 安全运营中心(SOC):CSV 导出含标准字段(EventID, TimeCreated, SubjectName, ObjectDN, Operation, Rights, IsInherited),方便导入 SIEM 做进一步建模
AsBuiltReport.Microsoft.AD 可快速生成静态合规基线报告;AD_Miner 则擅长从 BloodHound 数据中挖掘“谁可通过哪条路径获得 Domain Admin 权限”,补全权限审计的攻击面视角。

















