探索与保护:SOAPHound - 活动目录数据收集的新型工具
项目简介
SOAPHound 是一款基于 .NET 的数据收集工具,它利用 Active Directory Web Services(ADWS)协议来搜集 Active Directory 数据。这款工具提供了一种新颖的方法,不同于传统通过 LDAP 协议获取 Active Directory 信息的方式。通过将 LDAP 查询封装在一系列 SOAP 消息中,并通过 NET TCP Binding 通道发送至 ADWS 服务器,SOAPHound 能以一种更隐蔽的方式进行数据采集,有效避免了常规监控工具的检测。
请注意,该工具作为概念验证,并非用于生产环境,且不提供任何形式的保修。
了解更多关于 SOAPHound 工具的详细信息,请参考这篇博客文章。
技术分析
SOAPHound 利用 ADWS 实现了对 LDAP 查询的间接处理,避开了直接与 LDAP 服务器通信。这意味着 LDAP 流量不会在网络上传输,增加了数据收集过程的隐秘性。工具支持多种认证方法,包括当前用户的身份令牌(默认),以及在命令行上手动输入用户名和密码。此外,可以通过指定 --domain
和 --dc
参数覆盖默认的域控制器连接信息。
应用场景
- 安全评估:安全审计人员可以使用 SOAPHound 对目标网络进行无痕迹的数据收集,以便更好地识别潜在的安全风险。
- 网络监控:对于那些希望减少 LDAP 流量检测或规避监控的环境,SOAPHound 提供了一个有效的解决方案。
- 系统管理:系统管理员可以在不影响正常 LDAP 通讯的情况下,收集 Active Directory 相关的配置信息。
主要特性
- 隐私保护:通过 SOAP 消息进行数据收集,降低被监控的风险。
- 灵活的收集方法:支持构建缓存、DNS 数据收集、证书服务数据收集和 BloodHound 相关数据收集。
- 自动分块功能:为大型域设计,通过
--autosplit
和--threshold
参数,智能地分割数据请求,防止因数据量过大导致的超时问题。 - 兼容性广泛:与 Bloodhound v4 兼容,适配多种安全分析工具。
使用方法
SOAPHound 提供了清晰的命令行接口,用户可以根据 --help
命令查看详细的使用信息。例如,可以使用以下命令生成缓存文件:
SOAPHound.exe --buildcache -c c:\temp\cache.txt
之后,结合缓存文件收集 BloodHound 数据:
SOAPHound.exe -c c:\temp\cache.txt --bhdump -o c:\temp\bloodhound-output
或者收集 AD 集成 DNS 数据:
SOAPHound.exe --dnsdump -o c:\temp\dns-output
如果需要进行大规模数据收集,可以开启自动分块模式并设置阈值:
SOAPHound.exe -c c:\temp\cache.txt --bhdump -o c:\temp\bloodhound-output --autosplit --threshold 1000
结语
SOAPHound 是一个强大的工具,旨在帮助安全专家和系统管理员以更加隐蔽的方式探索和管理 Active Directory 数据。其独特的功能和灵活的选项使其成为网络安全领域的一个有力助手。无论是为了测试网络防御还是日常维护,SOAPHound 都值得您尝试。