SUCTF-2025 SU_AD 官方题解
字数 1718 2025-08-22 12:23:24
SharpADWS 分析与 Active Directory 滥用技术详解
1. ADWS 协议与 NetNTLMv2 认证分析
1.1 ADWS 协议概述
ADWS (Active Directory Web Services) 是微软提供的一种用于访问 Active Directory 的协议,基于 SOAP 和 HTTP/HTTPS。攻击者可以利用该协议枚举 Active Directory 信息。
1.2 NetNTLMv2 认证流量分析
使用 Wireshark 或 tshark 可以提取 NetNTLMv2 认证信息:
tshark -n -r adws-1.pcapng -Y 'ntlmssp.messagetype == 0x00000003' -T fields -e ntlmssp.auth.username -e ntlmssp.auth.domain -e ntlmssp.ntlmv2_response.ntproofstr -e ntlmssp.auth.ntresponse
关键字段:
ntlmssp.messagetype == 0x00000003:NTLMv2 响应消息- 用户名和域名
- NTLMv2 响应哈希
1.3 获取 NTLM 挑战值
tshark -n -r adws-1.pcapng -Y 'ntlmssp.messagetype == 0x00000002' -T fields -e ntlmssp.ntlmserverchallenge
1.4 构造哈希文件进行爆破
将提取的信息格式化为 hashcat 可识别的格式:
username::domain:server_challenge:NTProofStr:NTResponse
使用 hashcat 进行爆破:
hashcat -a 0 -m 5600 ntlm_hash.txt rockyou.txt
其中 -m 5600 指定 NetNTLMv2 哈希模式。
2. Kerberos 与 Keytab 文件
2.1 Keytab 文件制作
Keytab 文件包含 Kerberos 主体的加密密钥,可用于解密 Kerberos 流量。参考 PTS2023-Talk-20-Decrypt_Kerberos_NTLM_with_Wireshark.pdf。
2.2 解密 Kerberos 流量
- 获取用户的 AES-256 密钥
- 在 Wireshark 中配置解密密钥
- 解密 SMB 流量(注意:Wireshark 目前不支持自动解密 Kerberos 认证的 SMB 流量,需手动添加密钥)
3. DACL 滥用与强制密码重置
3.1 DACL 滥用原理
DACL (Discretionary Access Control List) 控制着对象的安全权限。通过修改 DACL,攻击者可以强制重置用户密码。
关键操作:
- 修改
unicodePwd属性 - 需要适当的权限(如 GenericAll 或 WriteDacl)
3.2 实现方式
参考 bloodyAD 项目实现,SharpADWS 项目中不包含此功能,需要手动实现。
4. 横向移动技术
4.1 Psexec with Kerberos
使用 Impacket 工具包的 psexec.py 进行横向移动:
- 通过 Kerberos 认证而非 NTLM
- 产生的 SMB 流量使用 Kerberos 认证
- 与 NTLM 认证在 SMB3 协议上的区别可参考微软官方文档
4.2 WMIExec-Pro 技术
高级 WMI 远程执行技术:
- 通过 WMI 事件订阅远程执行 VBS 脚本
- 初始 VBS 脚本未混淆
- 使用 generator 函数进行混淆
- 可逆向还原原始 VBS 脚本
优势:
- 绕过杀毒软件检测
- 适用于横向移动
5. 完整攻击链示例
- 信息收集:通过 ADWS 协议枚举 Active Directory
- 凭证窃取:捕获 NetNTLMv2 哈希并爆破
- 权限提升:通过 DACL 滥用强制重置管理员密码
- 横向移动:
- 使用 Psexec with Kerberos
- 或使用 WMIExec-Pro 技术
- 流量解密:通过 Keytab 文件解密 Kerberos 流量获取敏感信息
6. 防御建议
- 监控 ADWS 协议使用:异常查询行为可能表明攻击
- 保护 NTLM 认证:
- 启用 SMB 签名
- 尽可能使用 Kerberos 而非 NTLM
- 限制 DACL 权限:定期审核敏感对象的权限
- 监控 WMI 事件订阅:异常 WMI 事件订阅可能是攻击迹象
- 启用高级日志记录:记录 Kerberos 和 NTLM 认证事件
7. 参考资源
- PTS2023-Talk-20-Decrypt_Kerberos_NTLM_with_Wireshark.pdf
- bloodyAD 项目
- Impacket 工具包
- 微软官方 Kerberos 和 NTLM 认证文档
- @whoami 和 @eson 的域渗透技术分享