会议响应式网站开发,群艺馆网站建设方案,网页模板下载哪个网站好,淘宝推广许多渗透测试人员和攻击者通常都会使用一种被称为“密码喷洒#xff08;Password Spraying#xff09;”的技术来进行测试和攻击。对密码进行喷洒式的攻击#xff0c;这个叫法很形象#xff0c;因为它属于自动化密码猜测的一种。这种针对所有用户的自动密码猜测通常是为了避… 许多渗透测试人员和攻击者通常都会使用一种被称为“密码喷洒Password Spraying”的技术来进行测试和攻击。对密码进行喷洒式的攻击这个叫法很形象因为它属于自动化密码猜测的一种。这种针对所有用户的自动密码猜测通常是为了避免帐户被锁定因为针对同一个用户的连续密码猜测会导致帐户被锁定。所以只有对所有用户同时执行特定的密码登录尝试才能增加破解的概率消除帐户被锁定的概率。 攻击者首先会从他们已有的密码列表开始尝试并以最脆弱的密码开始“Fall2017”“Winter2018”“123456”等入手。 关于“密码喷洒Password Spraying”的概念我是在BSidesCharm 2017的有关“如何检测难以寻找的攻击活动目录”的演讲中提到的。 当密码开始喷洒时往往会从列表中的第一个密码开始。第一个密码用于尝试对活动目录中的每个用户进行身份验证。针对活动目录中的每个用户攻击者都会尝试用这个密码进行登录并且当所有用户都使用该密码进行了测试后就会自动转到下一个密码执行重复的测试。 由于活动目录中的每个用户的测试上限次数都会是5次因此攻击者会为每个用户进行4个不同密码的尝试。此时msDS-LockoutObservationWindow设置复位帐户锁定计数器为0:00:30:00(30分钟)。至于如何收集有关活动目录环境的密码策略的信息并使密码喷洒工具自动适应这些信息对攻击者来说是小菜一碟。 上图显示了测试者是如何使用AD PowerShell cmdlet Get-ADDefaultDomainPasswordPolicy cmdlet.来显示实验室域环境的域密码策略的应该说这种策略在大多数情况下都适用因为用户的密码设置往往都非常地脆弱。比如用户的密码通常是一些小于10位的纯数字。 由于密码喷洒通常连接到SMB共享或网络服务因此让我先从连接到PDC的netlogon共享(\\PDC\ netlogon)开始分析该共享在许多网络中很常见。在密码喷洒运行一段时间后我会发现许多用户的密码这些用户密码也可能包含特权帐户。 下图就是我自己编写的一个快速PowerShell脚本的密码喷洒 在域控制器上针对SMB的密码喷洒会导致域控制器上的记录事件ID 4625表示为“登录失败”并且大多数事件都会显示在记录日志中因此发生这种情况时应该能够检测到。 上图显示了在密码喷洒的过程中在域控制器上的登录事件ID 4625。然而目前许多组织还没有创建关联规则如果在发生密码喷洒的过程中发生登录事件ID 4625就会发生密码喷洒。 上图显示在密码喷洒的过程中我在实验室域环境中所记录的众多事件ID 4625。不过还有另一种方法可以在活动目录中发现密码喷洒。由于每个用户帐户都有一个名为“Bad-Password-Time”的关联属性该属性在使用Active Directory PowerShell cmdlet Get-ADUser时显示为“lastbadpasswordtry”。它可以显示出黑客尝试登录该帐户的最后一个错误密码的日期和时间。运行以下PowerShell cmdlet可显示活动目录域中具有与错误密码尝试相关的属性的用户。 get-aduser -filter * -prop lastbadpasswordattempt,badpwdcount | select name,lastbadpasswordattempt,badpwdcount | format-table –auto 上图显示在我实施密码喷洒后实验室域环境中的具有lastbadpasswordattempt和badpwdcount属性的活动目录用户帐户。 你可以注意一下上面显示的PowerShell命令的结果所有错误的密码尝试都是在同一分钟内进行的其中大多数都是在几秒钟内这个现象很不寻常。 由于攻击者可以通过更改他们连接的服务来避免事件ID 4625被记录所以我并不是连接到SMB而是连接到域控制器上的LDAP服务的。这样一来ID 4625就可能躲过记录。 上图显示当针对LDAP进行密码喷洒时你是发现不了事件ID 4625的。 由于目前许多网络安防组织都会通过监控事件ID 4625来保护网络。所以为了避免被监测到攻击者可能会连接到LDAP服务进行密码喷洒。但前提是你他们需要将Kerberos 事件日志记录记录到事件ID 4771中并监视“Kerberos预验证失败”。在事件ID 4771中验证失败的话会用代码 “0x18”表示。 上图就是显示的事件ID 4771当根据LDAP进行密码喷洒时就会在域控制器上启用Kerberos日志记录时记录该事件。 当攻击者在一个域连接的计算机上使用密码喷洒时会记录到事件ID 4648“尝试使用显式凭据登录”。有许多4648事件显示一个叫做Joe的用户多次尝试登录并使用“Alexis Phillips”或“Christopher Kelley”或whomever的密码并且这些记录在几秒钟内就被记录下来。所以这种类型的活动是不寻常的。 以下四个图显示在执行密码喷洒的工作站上记录的事件ID 4648不过必须启用审计日志记录才能记录该事件ID。 如何对密码喷洒进行检测 密码喷洒发生在许多活动目录环境中并且可以通过适当的日志记录启用和有效关联来检测。 检测的主要方法包括 1.启用适当的日志记录 1.1域控制器事件ID 4625的“审计登录”成功与失败。 1.2域控制器事件ID 4771的“审计Kerberos验证服务”成功与失败。 1.3所有系统事件ID 4648的“审计登录”成功与失败。 2.在1分钟内配置50 4625多个事件的警报。 3.在1分钟内为50 4771多个事件的警报的设置失败代码“0x18”。 4.在1分钟内为工作站上的100 4648多个事件配置警报。 5.根据以下命令编写一个每天运行的PowerShell脚本并报告可能的密码喷洒 get-aduser -filter * -prop lastbadpasswordattempt,badpwdcount | select name,lastbadpasswordattempt,badpwdcount | format-table –auto。 每个警报规则都需要根据你的运行环境进行调整具体方法就是增加警报的数量或缩短警报的时间。 转载于:https://www.cnblogs.com/wushangguo/p/9099622.html