使用蜜罐账户检测Active Directory密码喷洒攻击

本文详细介绍了如何通过创建蜜罐账户来检测Active Directory环境中的密码喷洒攻击。文章涵盖密码喷洒的工作原理、传统检测方法的局限性、域控制器审计配置步骤,以及如何利用特定事件ID(4625/4771)实现零误报检测。该方法适用于红队演练和真实威胁检测场景。

检测Active Directory密码喷洒与蜜罐账户

密码喷洒是一种通过猜测密码获取账户控制权的流行技术。这种自动化密码猜测针对所有用户执行,通常能避免账户锁定,因为每个特定密码的登录尝试会针对每个用户进行。该技术深受渗透测试人员、红队和威胁行为者青睐,因为它非常有效。

密码喷洒工作原理

密码喷洒工具会遍历潜在密码列表,逐一尝试使用每个密码为每个用户进行身份验证。成功后工具会记录并继续。工具可能在完成每个密码对所有用户的喷洒后暂停,再尝试下一个密码。这避免了密码锁定策略,因为攻击者可以限制一段时间内的错误密码尝试次数。

密码喷洒流程:

  1. 使用密码1尝试用户1的身份验证
  2. 使用密码1尝试用户2的身份验证
  3. 继续使用密码1对所有目标用户进行身份验证尝试
  4. 暂停几分钟避免账户锁定
  5. 使用密码2重复上述流程

传统检测方法的局限性

传统检测方法通常基于时间关联错误密码尝试,但容易产生误报,因为普通用户经常输错或忘记密码。另一种方法是查看lastbadpasswordattemptbadpwdcount属性,但这些属性不会复制,需要在域中所有域控制器上捕获并关联。

配置域控制器审计

需要配置域控制器记录以下事件ID:

  • 成功登录事件:4624、4768、4769
  • 失败登录事件:4625、4771

特别是Kerberos身份验证时,事件ID 4771(Kerberos预认证失败)需要专门配置才能记录密码喷洒尝试。

创建蜜罐账户

创建专门用于检测密码喷洒的蜜罐账户:

  • 使用类似普通用户的命名规范(如"Joe Fox")
  • 将账户放置在与其他用户相同的OU结构中
  • 可设置复杂密码或启用智能卡要求后禁用以 scramble 密码
  • 建议为AD林中的每个域创建蜜罐账户

检测成功与失败登录

成功登录检测事件:

  • 4624:账户成功登录(显示源IP地址)
  • 4768:Kerberos身份验证票证(TGT)请求
  • 4769:Kerberos服务票证请求

失败登录检测事件:

  • 4625:账户登录失败(显示源工作站名称和IP)
  • 4771:Kerberos预认证失败(错误代码0x18表示错误密码尝试)

结论

通过创建蜜罐账户并配置相关登录活动监控,可以轻松检测密码喷洒活动。这种方法为环境配置提供了一种简单的检测方法,能有效识别密码喷洒行为。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计