我们有一个 Windows Server,它上面有一个应用程序,它在登录应用程序时使用域凭据。在最近的笔测试中,测试人员能够使用该应用程序来根据应用程序的响应枚举有效的域用户名(它对无效的用户名和无效的密码给出了不同的响应)。
该应用程序正在修复,因此它不会泄露此信息,但我也觉得我们应该检测到这种攻击,因为在短时间内有超过 2000,000 次无效用户名尝试。即使我们的管理员密切关注 Active Directory,我们也没有看到它。显然,这些故障只出现在安装应用程序的服务器的本地事件日志中。
我的问题:1)有没有办法让 Active Directory 将这些失败的用户名请求记录在一个中心位置,以便我们可以注意到它们的峰值?
2)如果不是,那么未来监控和主动检测此类攻击的最佳方法是什么(希望不必购买太多新设备)。
谢谢你的帮助。
好问题。
首先,我认为大多数“渗透测试人员”都是脚本小子。我的偏见可能不公平或不准确,但我提出这个免责声明是为了如果你在我的语气中发现任何玩世不恭的态度,你就会知道它来自哪里。我并不是说没有熟练的渗透测试者,但这是我的普遍性。
(终生蓝队!)
您没有提供足够的信息让任何人都能够彻底而自信地回答这个问题。您说您的应用程序被发现包含允许攻击者枚举用户帐户的缺陷。我试图了解您认为 AD 需要以何种方式为您的应用程序执行日志记录。
显然故障出现在服务器上的事件日志中?或者故障确实出现在服务器上的事件日志中?如果是这样,这些事件到底说了什么?谁记录了他们?你的申请?还是窗户?去找出答案,我也许可以为我的答案添加额外的说明。
根据您的假设,我将在这里冒险,即这些事件应该已由 Active Directory 以某种方式记录...如果您的渗透测试者实际上根本没有利用您的应用程序中的缺陷,而是使用Kerberos 本身枚举用户名的一个众所周知的缺陷?Kerberos 本身包含我认为的设计缺陷,其中攻击者可以尝试成千上万的“预身份验证”尝试(即暴力攻击),并且 KDC 将根据用户帐户是否存在而做出不同的响应。这不是特定于 Active Directory 的行为,但同样适用于 MIT Kerberos、Heimdal 等。KDC 将响应
KDC_ERR_PREAUTH_REQUIRED
如果提供的有效用户名没有预授权数据,即使没有尝试实际身份验证。通过这种方式,您可以从 KDC 枚举用户名。但是由于攻击者(或攻击者使用的工具,例如 KrbGuess - 因为渗透测试者在使用其他人的工具时处于最佳状态)不必继续进行完整的身份验证尝试,因此不会记录任何内容,因为没有已尝试实际身份验证!现在,关于你的下一个问题:
有几件事。
首先,有一些付费的企业级产品旨在检测这类攻击(除此之外)。许多供应商提供此类产品,并且产品推荐对于 Serverfault 来说是题外话,但只要说它们已经出局就足够了那里。其中许多产品的工作方式是要求您在域控制器和这些“数据收集器”之间配置端口镜像,以便它们可以查看和分析进入或退出域控制器的每个数据包。
(抱歉,这有点属于你的“不买太多新东西”的条款。)
可能对您有帮助的另一件事是注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters
LogLevel = 1
记录在这里。
如果您启用此注册表项,您应该会在安全事件日志中收到大量有关 Kerberos 错误的事件,这些错误提到需要进行 Kerberos 预身份验证。此类事件的一个示例:
但是,如果它没有指定 Kerberos 请求海啸的确切来源,这可能对您有帮助,也可能对您没有帮助。这让我们回到了我之前提到的那些企业入侵检测产品。
并且不要忘记 Windows 事件转发,它可以让您的服务器将事件转发到一个集中位置,以便由您可以使用的任何工具进行分析。
到目前为止,整个答案都基于 Kerberos 协议,我什至不能认为这是理所当然的,因为您在帖子中提供的细节太少了。尽管如此,我希望这至少有一点帮助。
这是一个有趣的问题,我很想听到正确的答案。我遇到了一些 Doug 可能会觉得有帮助的信息,但是,我觉得它可能有点不足。其他人可能可以提供一个扩展的答案:
登录到您想要存储审计信息的服务器, 运行 -> RSOP.MSC -> 计算机配置 -> Windows 设置 -> 安全设置 -> 本地策略 -> 审计策略 -> “审计帐户登录事件” & “审核登录事件”
“帐户登录事件”的说明如下:
“登录事件”的解释如下:
如果您只想监控失败的尝试,您基本上需要启用这些策略、定义策略设置并选择“失败”。如果你愿意,你也可以监控成功,但如果你只是担心寻找这种攻击,它可能会使解析变得有点困难。
如果您担心您的系统可能容易受到类似配置的影响,我建议您查看 STIG 设置(链接),当与 SCAP 扫描程序一起使用时,它确实有助于突出您的组织可能存在的一些风险面对。STIG 查看器往往会引发一些误报,但如果您阅读每个问题的具体内容,您可能会发现它不是首发。