通过 UDP 的潜在反弹 Shell

编辑

此检测规则识别与 UDP 反弹 Shell 活动相关的可疑网络流量模式。此活动包含由同一进程执行的 execve、socket 和 connect 系统调用的示例,其中 auditd.data.a0-1 指示 UDP 连接,以出站连接事件结束。攻击者可能会建立一个 Linux UDP 反弹 Shell 以绕过传统的防火墙限制,并秘密地获得对目标系统的远程访问。

规则类型: eql

规则索引:

  • auditbeat-*
  • logs-auditd_manager.auditd-*

严重性: 中等

风险评分: 47

每隔: 5m 运行

搜索索引自: now-9m (日期数学格式,另请参见 其他回溯时间)

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

参考资料:

标签:

  • 数据源:Auditd 管理器
  • 领域:端点
  • 操作系统:Linux
  • 用例:威胁检测
  • 战术:执行

版本: 7

规则作者:

  • Elastic

规则许可证: Elastic License v2

设置

编辑

设置

此规则需要来自以下集成之一的数据:- Auditbeat - Auditd 管理器

Auditbeat 设置

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

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

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

Auditd 管理器集成设置

Auditd 管理器集成接收来自 Linux Audit Framework 的审计事件,该框架是 Linux 内核的一部分。Auditd 管理器提供了一个用户友好的界面和自动化功能,用于通过 auditd 守护程序配置和监视系统审计。使用auditd_manager,管理员可以轻松定义审计规则、跟踪系统事件和生成综合审计报告,从而提高系统的整体安全性和合规性。

为了在 Linux 系统上添加 Elastic Agent 系统集成“auditd_manager”,应按顺序执行以下步骤

  • 转到 Kibana 主页并点击“添加集成”。
  • 在查询栏中,搜索“Auditd 管理器”并选择集成以查看有关它的更多详细信息。
  • 点击“添加 Auditd 管理器”。
  • 配置集成名称,并可选地添加说明。
  • 相应地查看可选和高级设置。
  • 将新安装的“auditd 管理器”添加到现有或新的代理策略,并在希望获取 auditd 日志文件的 Linux 系统上部署代理。
  • 点击“保存并继续”。
  • 有关集成的更多详细信息,请参阅辅助指南

规则特定设置说明

Auditd 管理器订阅内核并在事件发生时接收事件,无需任何其他配置。但是,如果需要更高级的配置来检测特定行为,则可以通过在“审计规则”配置框或“auditd 规则文件”框中指定要从中读取审计规则的文件,将审计规则添加到集成中。- 此检测规则不需要向集成添加其他审计规则。

规则查询

编辑
sample by host.id, process.pid, process.parent.pid
  [process where host.os.type == "linux" and event.type == "start" and event.action == "executed" and process.name : (
    "bash", "dash", "sh", "tcsh", "csh", "zsh", "ksh", "fish", "perl", "python*", "nc", "ncat", "netcat", "php*",
    "ruby", "openssl", "awk", "telnet", "lua*", "socat"
    )]
  [process where host.os.type == "linux" and auditd.data.syscall == "socket" and process.name : (
    "bash", "dash", "sh", "tcsh", "csh", "zsh", "ksh", "fish", "perl", "python*", "nc", "ncat", "netcat", "php*",
    "ruby", "openssl", "awk", "telnet", "lua*", "socat"
    ) and auditd.data.a1 == "2"]
  [network where host.os.type == "linux" and event.type == "start" and event.action == "connected-to" and
   process.name : (
    "bash", "dash", "sh", "tcsh", "csh", "zsh", "ksh", "fish", "perl", "python*", "nc", "ncat", "netcat", "php*",
    "ruby", "openssl", "awk", "telnet", "lua*", "socat"
    ) and network.direction == "egress" and destination.ip != null and
   not cidrmatch(destination.ip, "127.0.0.0/8", "169.254.0.0/16", "224.0.0.0/4", "::1")]

框架: MITRE ATT&CKTM