| name | performing-active-directory-compromise-investigation |
| description | 通过分析认证日志、复制元数据、组策略变更和 Kerberos 票据异常,调查 Active Directory 攻陷事件,识别攻击者持久化机制和横向移动路径。 |
| domain | cybersecurity |
| subdomain | incident-response |
| tags | ["active-directory","compromise-investigation","identity-forensics","kerberos","lateral-movement","dfir","ntds-dit","golden-ticket"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
执行 Active Directory 攻陷调查(Performing Active Directory Compromise Investigation)
概述
Active Directory(AD)攻陷调查是一项关键的事件响应能力,专注于识别攻击者如何获取域服务访问权限、建立了哪些持久化机制以及凭据攻陷的范围。由于 88% 的攻击事件涉及凭据攻陷(Verizon 2025 DBIR),AD 是企业范围攻击的主要目标。调查人员必须分析 NTDS.dit 数据库完整性、Kerberos 票据授予活动、组策略修改、复制元数据和特权组成员变更,以重建攻击链并确定完整攻陷范围。
关键调查领域
1. NTDS.dit 数据库分析
NTDS.dit 文件是核心 Active Directory 凭据数据库,包含所有域账号的密码哈希。攻击者通常使用 ntdsutil、secretsdump.py 或通过 Mimikatz 的 DCSync 攻击来窃取该文件。
检测指标:
- 事件 ID 4662:对具有复制权限的目录服务对象的访问
- 事件 ID 4742:域控制器上的计算机账号修改
- 在域控制器上创建卷影副本(事件 ID 8222)
- 异常的 ntdsutil.exe 或 vssadmin.exe 执行
- 来自非 DC 来源的复制流量(DCSync 检测)
2. Kerberos 攻击检测
黄金票据(Golden Ticket)指标:
- TGT 票据生命周期异常长(默认 10 小时)
- 事件 ID 4769 加密类型为 0x17(RC4)而非 AES
- 无对应事件 ID 4768(AS-REQ)的 TGT 票据签发
- 引用不存在或已禁用账号的 Kerberos 票据
白银票据(Silver Ticket)指标:
- 无对应 TGT 请求的服务票据
- 事件 ID 4769 中出现异常服务名称
- 带有伪造 PAC 数据的票据
Kerberoasting 指标:
- 针对服务账号的大量事件 ID 4769
- 对支持 AES 的账号发起 RC4 加密请求
- 来自通常不访问这些服务的工作站的请求
3. 组策略滥用
- 授予新权限的 GPO 修改(事件 ID 5136)
- 通过 GPO 部署计划任务
- 添加到域的软件安装策略
- 登录脚本修改
- 用于持久化的基于注册表的策略变更
4. 特权组枚举
追踪以下关键组的变更:
- Domain Admins、Enterprise Admins、Schema Admins
- Account Operators、Backup Operators
- DnsAdmins(可在 DC 上执行任意 DLL)
- Group Policy Creator Owners
- Protected Users 组成员变更
5. 信任关系分析
- 新建的林/域信任(事件 ID 4706)
- 用于权限提升的 SID History 注入
- 信任票据伪造指标
- 跨域认证异常
调查方法论
阶段 1:范围界定与证据采集
1. 识别可能受攻陷的域控制器
2. 采集 Security、System、Directory Service 事件日志
3. 使用 repadmin 提取 AD 复制元数据
4. 采集 ntdsutil 快照用于离线分析
5. 采集 DNS 服务器日志和区域传输记录
6. 导出组策略对象(GPO)配置
7. 记录当前特权组成员关系
阶段 2:认证日志分析
1. 解析事件 ID 4624/4625 的登录模式
2. 识别哈希传递(Pass-the-Hash)指标(事件 ID 4624 类型 3 使用 NTLM)
3. 分析事件 ID 4768/4769/4771 中的 Kerberos 异常
4. 检查事件 ID 4776 的 NTLM 认证失败
5. 将登录事件与已知受攻陷账号交叉比对
6. 通过认证链映射横向移动路径
阶段 3:持久化与后门检测
1. 枚举 AdminSDHolder ACL 修改
2. 检查账号上的 SID History 滥用
3. 验证 krbtgt 账号密码的时效
4. 审计 DSRM 密码配置
5. 检查 Skeleton Key 恶意软件指标
6. 检查 AD Certificate Services 中的流氓证书
7. 验证 DNS 记录以排查 DNS 投毒
阶段 4:修复规划
1. 两次轮换 krbtgt 密码(两次轮换之间等待复制完成)
2. 重置所有受攻陷账号的密码
3. 删除未授权的特权组成员
4. 如 AD CS 受攻陷则吊销流氓证书
5. 必要时从干净介质重建域控制器
6. 实施分层管理(Tiered Administration)模型
7. 为特权账号启用 Protected Users 组
AD 调查关键事件 ID
| 事件 ID | 来源 | 说明 |
|---|
| 4624 | Security | 成功登录 |
| 4625 | Security | 登录失败 |
| 4648 | Security | 显式凭据登录 |
| 4662 | Security | 对 AD 对象的操作 |
| 4768 | Security | 请求 Kerberos TGT |
| 4769 | Security | 请求 Kerberos 服务票据 |
| 4771 | Security | Kerberos 预认证失败 |
| 4776 | Security | NTLM 凭据验证 |
| 5136 | Security | 目录对象修改 |
| 5137 | Security | 目录对象创建 |
| 4706 | Security | 信任关系创建 |
| 4707 | Security | 信任关系删除 |
| 4742 | Security | 计算机账号变更 |
| 8222 | System | 创建卷影副本 |
AD 调查工具
| 工具 | 用途 |
|---|
| BloodHound | 攻击路径映射与权限提升分析 |
| Pingcastle | AD 安全评估与风险评分 |
| Purple Knight | Semperis 出品的 AD 漏洞扫描 |
| ADRecon | Active Directory 数据采集 |
| Mimikatz | 凭据提取与 Kerberos 分析 |
| Impacket | DCSync 检测与 NTLM 中继分析 |
| Velociraptor | 远程取证产物采集 |
| Timeline Explorer | 事件日志时间线分析 |
MITRE ATT&CK 映射
| 技术 | ID | 相关性 |
|---|
| DCSync | T1003.006 | NTDS.dit 凭据提取 |
| 黄金票据 | T1558.001 | Kerberos TGT 伪造 |
| 白银票据 | T1558.002 | 服务票据伪造 |
| Kerberoasting | T1558.003 | 服务账号哈希提取 |
| 哈希传递 | T1550.002 | NTLM 哈希重用 |
| 组策略修改 | T1484.001 | 通过 GPO 实现持久化 |
| 账号操纵 | T1098 | 特权组变更 |
| SID-History 注入 | T1134.005 | 权限提升 |
参考资料
- CISA:检测和缓解 Active Directory 攻陷
- Microsoft:全面身份攻陷 IR 经验教训
- Semperis:十大 Active Directory 风险
- Fidelis:Active Directory 攻陷后的响应