潜在成功的SSH暴力破解攻击

编辑

识别来自同一源地址的多个SSH登录失败后紧跟一次成功的登录。攻击者可以尝试使用常用或已知的密码登录多个用户帐户以获取访问权限。

规则类型: eql

规则索引:

  • auditbeat-*
  • filebeat-*
  • logs-system.auth-*

严重性: 高

风险评分: 73

运行频率: 5分钟

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

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

参考: 无

标签:

  • 领域: 端点
  • 操作系统: Linux
  • 用例: 威胁检测
  • 战术: 凭据访问

版本: 11

规则作者:

  • Elastic

规则许可证: Elastic License v2

调查指南

编辑

分类和分析

调查潜在成功的SSH暴力破解攻击

该规则识别连续的SSH登录失败,随后来自同一源IP地址到同一目标主机的成功登录,表明成功尝试了暴力破解密码猜测。

可能的调查步骤

  • 调查登录失败的用户名。
  • 调查失败的ssh登录尝试的源IP地址。
  • 调查过去48小时内与用户/主机相关的其他告警。
  • 识别源计算机和目标计算机及其在IT环境中的角色。

误报分析

  • 身份验证配置错误或过时的凭据。
  • 服务帐户密码过期。
  • 基础设施或可用性问题。

响应和补救

  • 根据分类结果启动事件响应流程。
  • 确保终止主机上的活动会话,因为攻击者可能已经获得了对系统(系统)的初始访问权限。
  • 隔离相关主机以防止进一步的入侵后行为。
  • 调查受攻击者入侵或使用的系统上的凭据泄露,确保识别所有受攻击的帐户。重置这些帐户的密码和其他可能受攻击的凭据,例如电子邮件、业务系统和Web服务。
  • 运行完整的反恶意软件扫描。这可能会发现系统中留下的其他工件、持久性机制和恶意软件组件。
  • 确定攻击者滥用的初始载体,并采取措施防止通过相同载体再次感染。
  • 使用事件响应数据,更新日志记录和审计策略,以提高平均检测时间 (MTTD) 和平均响应时间 (MTTR)。

设置

编辑

设置

此规则需要来自以下集成之一的数据:- Auditbeat - Filebeat

Auditbeat 设置

Auditbeat 是一款轻量级数据发送器,您可以将其安装在服务器上以审核系统上用户和进程的活动。例如,您可以使用 Auditbeat 收集和集中来自 Linux Audit Framework 的审计事件。您还可以使用 Auditbeat 检测对关键文件(如二进制文件和配置文件)的更改,并识别潜在的安全策略违规。

要在 Linux 系统上添加 Auditbeat,应按顺序执行以下步骤

  • Elastic 提供适用于基于 APT 和 YUM 的发行版的存储库。请注意,我们提供二进制包,但不提供源代码包。
  • 要安装 APT 和 YUM 存储库,请按照此辅助指南中的设置说明进行操作。
  • 要在 Docker 上运行 Auditbeat,请按照辅助指南中的设置说明进行操作。
  • 要在 Kubernetes 上运行 Auditbeat,请按照辅助指南中的设置说明进行操作。
  • 有关完整的“设置和运行 Auditbeat”信息,请参阅辅助指南

Filebeat 设置

Filebeat 是一款轻量级数据发送器,用于转发和集中日志数据。Filebeat 作为代理安装在您的服务器上,监控您指定的日志文件或位置,收集日志事件,并将其转发到 Elasticsearch 或 Logstash 进行索引。

要在 Linux 系统上添加 Filebeat,应按顺序执行以下步骤

  • Elastic 提供适用于基于 APT 和 YUM 的发行版的存储库。请注意,我们提供二进制包,但不提供源代码包。
  • 要安装 APT 和 YUM 存储库,请按照此辅助指南中的设置说明进行操作。
  • 要在 Docker 上运行 Filebeat,请按照辅助指南中的设置说明进行操作。
  • 要在 Kubernetes 上运行 Filebeat,请按照辅助指南中的设置说明进行操作。
  • 有关 Filebeat 的快速入门信息,请参阅辅助指南
  • 有关完整的“设置和运行 Filebeat”信息,请参阅辅助指南

规则特定设置说明

  • 此规则需要启用“Filebeat 系统模块”。
  • 系统模块收集并解析由常见 Unix/Linux 基于发行版的系统日志服务创建的日志。
  • 要在 Linux 上运行 Filebeat 的系统模块,请按照辅助指南中的设置说明进行操作。

规则查询

编辑
sequence by host.id, source.ip, user.name with maxspan=15s
  [authentication where host.os.type == "linux" and event.action  in ("ssh_login", "user_login") and
   event.outcome == "failure" and source.ip != null and source.ip != "0.0.0.0" and source.ip != "::" ] with runs=10

  [authentication where host.os.type == "linux" and event.action  in ("ssh_login", "user_login") and
   event.outcome == "success" and source.ip != null and source.ip != "0.0.0.0" and source.ip != "::" ]

框架: MITRE ATT&CKTM