异常进程 ID 或锁定文件创建编辑

识别在临时文件存储范例 (tmpfs) 目录 /var/run 中创建的进程 ID (PID)、锁定或重启文件。在 Linux 上,PID 文件通常包含进程 ID,用于跟踪以前运行的副本并管理其他任务。某些 Linux 恶意软件使用 /var/run 目录来保存数据、可执行文件和其他任务,将自身或这些文件伪装成合法的 PID 文件。

规则类型: new_terms

规则索引:

  • logs-endpoint.events.*
  • endgame-*

严重程度: 中

风险评分: 47

运行频率: 5 分钟

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

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

参考:

标签:

  • 域:终端
  • 操作系统:Linux
  • 用例:威胁检测
  • 战术:执行
  • 威胁:BPFDoor
  • 资源:调查指南
  • 数据源:Elastic Defend
  • 数据源:Elastic Endgame

版本: 213

规则作者:

  • Elastic

规则许可证: Elastic 许可证 v2

调查指南编辑

分类和分析

调查异常进程 ID 或锁定文件创建

Linux 应用程序可能需要出于各种目的保存其进程标识号 (PID):从指示程序正在运行到作为应用程序的先前实例未成功退出的信号。PID 文件以整数值包含其创建者进程 PID。

Linux 锁定文件用于协调文件中的操作,以防止冲突和竞争条件。

此规则识别在 /var/run/ 目录中创建的 PID、锁定或重启文件。攻击者可以将恶意软件、有效负载、用于泄露的分阶段数据等伪装成合法的 PID 文件。

可能的调查步骤

  • 检索文件并确定它是否为恶意文件
  • 检查 PID 文件的内容。它们应该只包含整数字符串。
  • 检查锁定和 PID 文件的文件类型,以确定它们是否是可执行文件。这仅在恶意文件中观察到。
  • 检查目标文件的大小。合法的 PID 文件应小于 10 字节。
  • 检查锁定或 PID 文件是否具有高熵。这通常表示加密的有效负载。
  • 分析师可以使用 ent 等工具来测量熵。
  • 检查 PID 文件中 SHA-256 哈希的信誉。使用 VirusTotal 等数据库来识别其他枢纽和调查工件。
  • 跟踪文件的创建,以确保它来自合法或授权的进程。
  • 调查过去 48 小时内与用户/主机相关的其他警报。
  • 调查任何异常的帐户行为,例如命令执行、文件创建或修改以及网络连接。
  • 调查目标进程的任何异常行为,例如网络连接、文件修改和任何生成的子进程。

误报分析

  • 如果 PID 文件是合法的并且按预期保存进程 ID,则可能会出现误报。如果 PID 文件是可执行文件或文件大小大于 10 字节,则应将其视为可疑文件。
  • 如果此活动在您的环境中是预期的并且很频繁,请考虑添加例外 - 最好结合文件名和进程可执行文件条件。

响应和修复

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

设置编辑

设置

此规则需要来自 Elastic Defend 的数据。

Elastic Defend 集成设置

Elastic Defend 使用 Fleet 集成到 Elastic Agent 中。配置完成后,集成允许 Elastic Agent 监控主机上的事件并将数据发送到 Elastic Security 应用程序。

先决条件

  • Elastic Defend 需要 Fleet。
  • 要配置 Fleet Server,请参阅文档

应按顺序执行以下步骤,以便在 Linux 系统上添加 Elastic Defend 集成

  • 转到 Kibana 主页并单击“添加集成”。
  • 在查询栏中,搜索“Elastic Defend”并选择集成以查看有关它的更多详细信息。
  • 单击“添加 Elastic Defend”。
  • 配置集成名称并可选地添加描述。
  • 选择要保护的环境类型,可以是“传统终端”或“云工作负载”。
  • 选择配置预设。每个预设都带有 Elastic Agent 的不同默认设置,您可以稍后通过配置 Elastic Defend 集成策略来自定义这些设置。帮助指南
  • 我们建议选择“完整 EDR(终端检测和响应)”作为配置设置,它提供“所有事件;所有预防措施”
  • 在“新的代理策略名称”中输入代理策略的名称。如果其他代理策略已存在,您可以单击“现有主机”选项卡,然后选择现有策略。有关 Elastic Agent 配置设置的更多详细信息,请参阅帮助指南
  • 单击“保存并继续”。
  • 要完成集成,请选择“将 Elastic Agent 添加到您的主机”并继续下一步以在您的主机上安装 Elastic Agent。有关 Elastic Defend 的更多详细信息,请参阅帮助指南

规则查询编辑

host.os.type:linux and event.category:file and event.action:(creation or file_create_event) and
user.id:0 and file.extension:(pid or lock or reboot) and file.path:(/var/run/* or /run/*) and (
  (process.name : (
    bash or dash or sh or tcsh or csh or zsh or ksh or fish or ash or touch or nano or vim or vi or editor or mv or cp)
  ) or (
  process.executable : (
    ./* or /tmp/* or /var/tmp/* or /dev/shm/* or /var/run/* or /boot/* or /srv/* or /run/*
  ))
) and not process.name : (go or git or containerd* or snap-confine or cron or crond or sshd or unattended-upgrade or
vzctl or ifup or rpcbind or runc or gitlab-runner-helper or elastic-agent or metricbeat) and
not file.name : (jem.*.pid)

框架: MITRE ATT&CKTM