我是一名安全研究人员,研究 CLDAP 作为 UDP 反射攻击的载体,这是一种拒绝服务攻击。我不是 MS Server 专家,所以我想确认我对 CLDAP 服务上下文的理解。
CLDAP 服务是实施 Active Directory 的 MS 服务器上公开的 LDAP 服务的 UDP 版本。从 MS 文献来看,只有一个命令通过 CLDAP(LDAP 的 UDP 版本)实施,那就是 LDAP Ping。恶意行为者随后利用此命令作为反射向量,实施拒绝服务攻击。
LDAP Ping 的预期目的是发现有关协作域控制器的信息。文档说目的是“验证域控制器的存活性,并检查域控制器是否符合一组特定的要求。” 这个使用范围听起来只打算作为 MS Server 服务器间协作的事情。
我跟踪的“开放 CLDAP 反射器”均将此服务直接暴露在开放互联网上。我推测这很大程度上是由于意外、严重天真或其他一些非标准用法造成的。
但也许我错了。是否有任何标准、有效的 MS Server 部署和配置实践可以让这些域控制器尝试通过开放互联网相互发现?或者我可以说它们或多或少都是意外暴露的?
答案1
最有可能的是,它们被意外暴露了。(允许公众访问 AD 域控制器从来都不是好的做法。虽然我有点不明白为什么这甚至适用于看似安全的 Kerberos 服务……但我来自学术 IT 环境,而不是企业。)
但请注意,CLDAP ping不是用过的之间DC。相反,它被 Windows 中的“DC 定位器”服务使用客户机器正在尝试选择最合适的 DC 进行身份验证。
(DC 不需要“定位”另一个 DC,因为它们只需对自己进行身份验证 - 并且对于 DC 之间的复制,它们已经从 AD 目录中了解彼此的功能,因此它们直接进入基于 TCP 的通信。)
因此,DC 也可能是“故意”暴露的,例如,允许漫游笔记本电脑在其缓存凭据过期时进行身份验证,和/或获取 Kerberos 票证以从这些计算机访问更多基于 AD 的服务。(即使非 AD 成员计算机也支持使用 Kerberos 访问 AD 服务,但即使在这种情况下,Windows 仍坚持使 DC 定位器 CLDAP ping。)
(先发制人地说明:说某事“是故意为之”并不意味着说它是明智之举。)
所有者还可能运行他们认为比 MS AD 更能抵御一般漏洞攻击的 AD 实现,例如,他们可能正在运行 Samba AD 并认为暴露它更安全,但他们仍然没有意识到它仍然缺乏任何类型的 CLDAP 速率限制。
当然,上述 DC 的所有者也有可能不知道防火墙是什么,只知道他们“需要”禁用它。想想有多少打印机、VNC 服务器等都暴露在互联网中——可以假设同样的情况也适用于 AD DC。
答案2
域控制器不会执行对其他域控制器的发现或 LDAP ping。
领域客户对为域注册的域控制器记录的 IP 地址执行 LDAP“ping”。如果这是公共 IP 地址,则如果客户端位于远程,则连接测试可能会穿越 Internet。
更多信息: