检测Active Directory密码喷洒与蜜罐账户
密码喷洒是一种通过猜测密码获取账户控制权的流行技术。这种自动化密码猜测针对所有用户执行,通常能避免账户锁定,因为每个特定密码的登录尝试会针对每个用户进行。该技术深受渗透测试人员、红队和威胁行为者青睐,因为它非常有效。
密码喷洒工作原理
密码喷洒工具会遍历潜在密码列表,逐一尝试使用每个密码为每个用户进行身份验证。成功后工具会记录并继续。工具可能在完成每个密码对所有用户的喷洒后暂停,再尝试下一个密码。这避免了密码锁定策略,因为攻击者可以限制一段时间内的错误密码尝试次数。
密码喷洒流程:
- 使用密码1尝试用户1的身份验证
- 使用密码1尝试用户2的身份验证
- 继续使用密码1对所有目标用户进行身份验证尝试
- 暂停几分钟避免账户锁定
- 使用密码2重复上述流程
传统检测方法的局限性
传统检测方法通常基于时间关联错误密码尝试,但容易产生误报,因为普通用户经常输错或忘记密码。另一种方法是查看lastbadpasswordattempt
和badpwdcount
属性,但这些属性不会复制,需要在域中所有域控制器上捕获并关联。
配置域控制器审计
需要配置域控制器记录以下事件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表示错误密码尝试)
结论
通过创建蜜罐账户并配置相关登录活动监控,可以轻松检测密码喷洒活动。这种方法为环境配置提供了一种简单的检测方法,能有效识别密码喷洒行为。