潜在的通过 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
  • 用例:威胁检测
  • 策略:执行

版本: 6

规则作者:

  • Elastic

规则许可证: Elastic 许可证 v2

设置编辑

设置

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

Auditbeat 设置

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

应按以下步骤在 Linux 系统上添加 Auditbeat

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

Auditd Manager 集成设置

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

应按以下步骤在 Linux 系统上添加 Elastic Agent 系统集成“auditd_manager”

  • 转到 Kibana 主页,然后单击“添加集成”。
  • 在查询栏中,搜索“Auditd Manager”,然后选择集成以查看有关它的更多详细信息。
  • 单击“添加 Auditd Manager”。
  • 配置集成名称,并可选择添加描述。
  • 相应地查看可选设置和高级设置。
  • 将新安装的“auditd manager”添加到现有或新的代理策略中,并从希望获取 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