来自同一来源地址的多次登录失败

编辑

来自同一来源地址的多次登录失败编辑

识别来自同一来源地址并在短时间间隔内发生的多次连续登录失败。攻击者通常会尝试使用常见或已知密码对多个用户进行暴力破解登录尝试,以试图访问帐户。

规则类型:eql

规则索引:

  • winlogbeat-*
  • logs-system.security*
  • logs-windows.forwarded*

严重程度:中等

风险评分: 47

运行间隔:5 分钟

搜索的索引范围:now-9m(日期数学格式,另请参阅额外的回溯时间

每次执行的最大警报数: 100

参考资料:

标签:

  • 域:终端
  • 操作系统:Windows
  • 用例:威胁检测
  • 策略:凭据访问
  • 资源:调查指南

版本: 9

规则作者:

  • Elastic

规则许可证:Elastic 许可证 v2

调查指南编辑

分类和分析

调查来自同一来源地址的多次登录失败

对系统或环境中合法凭据没有任何先验知识的攻击者可能会猜测密码以尝试访问帐户。如果不知道帐户的密码,攻击者可能会选择使用系统化的重复或迭代机制来猜测密码。更多详细信息请参见此处

此规则识别来自单个地址的潜在密码猜测/暴力破解活动。

注意:本调查指南使用 Elastic Stack 8.5.0 版中引入的Osquery Markdown 插件。较旧版本的 Elastic Stack 将在本指南中显示未渲染的 Markdown。

可能的调查步骤

  • 调查登录失败原因代码和目标用户名。
  • 如果该帐户至关重要或对域具有管理权限,则应优先调查。
  • 调查失败的网络登录尝试的来源 IP 地址。
  • 确定这些尝试是来自互联网还是来自内部。
  • 调查在过去 48 小时内与相关用户和源主机相关的其他警报。
  • 确定源计算机和目标计算机及其在 IT 环境中的角色。
  • 检查相关凭据是否用于自动化或计划任务。
  • 如果此活动可疑,请联系帐户所有者并确认他们是否知情。
  • 检查源主机是否存在表明已遭入侵的衍生工件
  • 观察并收集有关警报源主机中以下活动的信息
  • 尝试联系外部域和地址。
  • 检查 DNS 缓存中是否存在可疑或异常条目。
  • !{osquery{"label":"Osquery - 检索 DNS 缓存","query":"SELECT * FROM dns_cache"}}
  • 检查主机服务中是否存在可疑或异常条目。
  • !{osquery{"label":"Osquery - 检索所有服务","query":"SELECT description, display_name, name, path, pid, service_type, start_type, status, user_account FROM services"}}
  • !{osquery{"label":"Osquery - 检索在用户帐户上运行的服务","query":"SELECT description, display_name, name, path, pid, service_type, start_type, status, user_account FROM services WHERE\nNOT (user_account LIKE %LocalSystem OR user_account LIKE %LocalService OR user_account LIKE %NetworkService OR\nuser_account == null)\n"}}
  • !{osquery{"label":"Osquery - 检索服务未签名可执行文件(包含 Virustotal 链接)","query":"SELECT concat(https://www.virustotal.com/gui/file/, sha1) AS VtLink, name, description, start_type, status, pid,\nservices.path FROM services JOIN authenticode ON services.path = authenticode.path OR services.module_path =\nauthenticode.path JOIN hash ON services.path = hash.path WHERE authenticode.result != trusted\n"}}
  • 调查可能已遭入侵的帐户。分析师可以通过搜索到此活动源主机的登录事件(例如,4624)来执行此操作

误报分析

  • 通过联系资产所有者来了解身份验证的上下文。此活动可能与处于失败状态的新建或现有自动化或业务流程相关。
  • 身份验证配置错误或凭据过期。
  • 服务帐户密码过期。
  • 域信任关系问题。
  • 基础架构或可用性问题。

相关规则

  • 多次登录失败后登录成功 - 4e85dc8a-3e41-40d8-bc28-91af7ac6cf60

响应和修复

  • 根据分类结果启动事件响应流程。
  • 隔离源主机以防止进一步的入侵后行为。
  • 如果资产通过 RDP 或其他可用远程服务暴露在互联网上,请采取必要措施限制对该资产的访问。如果无法限制访问,请通过防火墙将访问权限限制为仅限所需的 IP 地址。此外,请确保系统使用强大的身份验证机制并定期修补。
  • 调查攻击者入侵或使用的系统上的凭据泄露情况,以确保识别所有已遭入侵的帐户。重置这些帐户和其他可能已遭入侵的凭据(例如,电子邮件、业务系统和 Web 服务)的密码。
  • 运行完整反恶意软件扫描。这可能会揭示系统中留下的其他工件、持久性机制和恶意软件组件。
  • 确定攻击者滥用的初始入侵途径,并采取措施防止通过同一途径再次感染。
  • 使用事件响应数据更新日志记录和审核策略,以缩短平均检测时间 (MTTD) 和平均响应时间 (MTTR)。

设置编辑

设置

  • 在某些情况下,由于 Microsoft 日志记录限制(示例见参考资料链接),Windows 事件 4625/4624 中的源网络地址未填充。这种边缘情况将破坏规则条件,并且不会触发警报。

规则查询编辑

sequence by winlog.computer_name, source.ip with maxspan=10s
  [authentication where event.action == "logon-failed" and
    /* event 4625 need to be logged */
    winlog.logon.type : "Network" and
    source.ip != null and source.ip != "127.0.0.1" and source.ip != "::1" and
    not user.name : ("ANONYMOUS LOGON", "-", "*$") and not user.domain == "NT AUTHORITY" and

    /*
    noisy failure status codes often associated to authentication misconfiguration :
     0xC000015B - The user has not been granted the requested logon type (also called the logon right) at this machine.
     0XC000005E	- There are currently no logon servers available to service the logon request.
     0XC0000133	- Clocks between DC and other computer too far out of sync.
     0XC0000192	An attempt was made to logon, but the Netlogon service was not started.
    */
    not winlog.event_data.Status : ("0xC000015B", "0XC000005E", "0XC0000133", "0XC0000192")] with runs=10

框架:MITRE ATT&CKTM