01、简介
针对域用户密码攻击,攻击者通常都会使用两种攻击方式进行测试,即:暴力破解(Brute Force)和密码喷洒(Password Spraying)。
暴力破解(Brute Force)攻击,攻击者通过利用大量猜测和穷举的方式来尝试获取用户口令。密码喷洒(Password Spraying)攻击,针对不同的用户账户使用一两个通用密码进行自动化密码猜测,以此来避免单个账户连续密码猜测被锁定,提高密码猜测的成功率。
暴力破解与密码喷洒的区别在于,暴力破解(Brute Force)攻击是固定用户名,快速检查大量密码进行匹配,而密码喷洒(Password Spraying)攻击则是固定密码,遍历用户名进行验证。
02、攻击过程示例
在Windows中,最常见的两种认证体系便是NTLM认证和Kerberos认证,针对登录认证过程中产生的日志进行分析,以制定对应的检测规则。
(1)基于NTLM认证进行暴力破解
NTLM是一种网络认证协议,支持多种协议,例如:SMB、LDAP、HTTP等。AD域本身就是LDAP的一个应用实例,这里我们通过LDAP服务爆破域用户密码。
域用户暴力破解(Brute Force)攻击示例:
Windows安全日志:
开启审核策略,Windows安全日志会产生相应的审核日志,帐户登录失败,事件ID为2625,账户登录成功,事件ID为4624。
事件ID:4625 登录失败,日志里包含尝试登录的账号名称和域、登录类型和登录进程、登录的计算机名和登录IP地址。
事件ID:4624 登录成功,包括登录的用户名和域、登录类型、登录进程、身份验证包、登录的计算机名和登录IP地址。
(2)基于Kerberos预身份验证进行密码喷洒
Kerberos相比于NTLM而言,Kerberos的认证过程会相对复杂一些,这里我们通过Kerberos预身份验证快速执行密码喷洒攻击。
域用户密码喷洒(Password Spraying)攻击示例:
Windows安全日志:
开启审核策略,Windows安全日志会产生Kerberos身份验证服务的日志,
域用户不存在,会产生一条事件ID为4768(审核失败)的日志记录。
域用户存在,密码错误,会产生一条事件ID为4771(审核失败)的日志记录。
域用户存在,密码正确,会产生两条事件ID为4768(审核成功),一条事件ID为4769(审核成功)的日志记录
03、攻击检测
通过模拟环境产生攻击事件,以攻击日志构建规则,提取关键特征,设定简单的阈值,就可以实现实时检测域用户密码攻击行为。
(1)暴力破解(Brute Force)
检测策略:在五分钟内,单一用户的密码登录失败次数超过10。
(2)密码喷洒(Password Spraying)检测策略:在五分钟内,单一来源IP认证失败错误超过50。