常见Active Directory攻击手法与检测技术详解
持续监控关键事件日志实施最小权限原则定期更新密码策略禁用过时协议(如NTLMv1)更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)公众号二维码。
·
常见Active Directory攻击与检测技术
未经授权访问Active Directory(AD)环境可使攻击者窃取敏感数据、中断服务并完全控制网络——相当于获得"王国的钥匙"。因此,蓝队和红队成员都必须理解AD运行机制、识别错误配置并发现攻击痕迹。
本文将基于HackTheBox的《Active Directory错误配置》博客,详解5种常见AD攻击手法及对应的检测技术。
1. Kerberoasting攻击
AD依赖Kerberos协议实现用户认证,但攻击者可通过Kerberoasting技术破解服务账户密码。
攻击原理:
- 请求服务主体名称(SPN)的服务票据
- 票据使用服务账户密码哈希加密
- 提取哈希进行离线爆破
攻击示例(Impacket工具):
python3 GetUserSPNs.py -request -dc-ip <域控制器IP> 域名/用户名:密码
检测分析:
- 日志监控:筛选安全事件日志中的事件ID 4769(Kerberos服务票据请求)
- Splunk检测规则:
Event.EventData.TicketEncryptionType="0x17" Event.System.EventID="4769" Event.EventData.ServiceName!="*$"
| table Event.EventData.ServiceName, Event.EventData.TargetUserName, Event.EventData.IpAddress
- 关键IOC:
- 票据加密类型为0x17(RC4加密)
- 非服务/机器账户(不以$结尾)
取证分析:
- 分析PowerShell日志(事件ID 4104)
- 使用PECmd解析预取文件:
PECmd.exe -d "预取文件路径" --csv . --csvf 输出文件名.csv
防御方案:
- 使用25+字符的复杂服务账户密码
- 部署组托管服务账户(gMSA)
- 限制服务账户权限
- 监控异常票据请求
2. AS-REP Roasting攻击
利用禁用Kerberos预认证的账户获取AS-REP响应进行离线破解。
攻击示例:
python3 GetNPUsers.py -dc-ip <域控制器IP> 域名/用户名
检测分析:
- Splunk规则:
Event.EventData.TicketEncryptionType="0x17" Event.System.EventID="4768"
Event.EventData.PreAuthType="0" Event.EventData.ServiceName="krbtgt"
| table Event.EventData.TargetUserName, Event.EventData.IpAddress
防御方案:
- 强制启用预认证
- 定期审计账户配置
- 实施多因素认证
3. LLMNR投毒攻击
通过劫持LLMNR协议(UDP 5355端口)捕获NTLM哈希。
检测方法:
- Wireshark过滤:
udp.port == 5355
- 关键IOC:
- 非常规IP响应LLMNR查询
- 短时间内多次NTLM认证
防御方案:
- 禁用LLMNR/NetBIOS
- 启用SMB签名
4. NTLM中继攻击
将截获的NTLM认证转发至其他系统。
检测方法:
- 事件ID 4624(登录类型3)
- Splunk规则:
Event.System.EventID=4624 Event.EventData.LogonType=3
| where Event.EventData.TargetUserName!="*$"
防御方案:
- 禁用NTLM协议
- 启用SMB签名
- 实施EPA认证扩展保护
5. NTDS.dit文件提取
通过卷影复制或ntdsutil.exe获取AD数据库文件。
检测指标:
- 事件ID 7036(卷影复制服务)
- 事件ID 4799(异常ntdsutil操作)
防御方案:
- 限制域控制器访问权限
- 部署LAPS解决方案
总结
保护AD环境需要:
- 持续监控关键事件日志
- 实施最小权限原则
- 定期更新密码策略
- 禁用过时协议(如NTLMv1)
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码
更多推荐
所有评论(0)