异常进程 ID 或锁文件创建
编辑异常进程 ID 或锁文件创建
编辑识别在临时文件存储范例(tmpfs)目录 /var/run 中创建的进程 ID (PID)、锁文件或重启文件。在 Linux 上,PID 文件通常保存进程 ID 以跟踪先前运行的副本并管理其他任务。某些 Linux 恶意软件使用 /var/run 目录来保存数据、可执行文件和其他任务,将其自身或这些文件伪装成合法的 PID 文件。
规则类型: new_terms
规则索引:
- logs-endpoint.events.*
- endgame-*
严重程度: 中
风险评分: 47
运行频率: 5m
搜索索引起始时间: now-9m (日期数学格式,另请参阅 额外回溯时间
)
每次执行的最大告警数: 100
参考:
标签:
- 域:端点
- 操作系统:Linux
- 用例:威胁检测
- 策略:执行
- 威胁:BPFDoor
- 资源:调查指南
- 数据源:Elastic Defend
- 数据源:Elastic Endgame
版本: 214
规则作者:
- Elastic
规则许可证: Elastic License 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 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.executable : ( /tmp/newroot/* or /run/containerd/* or /run/k3s/containerd/* or /run/k0s/container* or /snap/* or /vz/* or /var/lib/docker/* or /etc/*/universal-hooks/pkgs/mysql-community-server/* or /var/lib/snapd/* or /etc/rubrik/* or /run/udev/data/* ) or 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 or redis-server or s6-ipcserver-socketbinder or xinetd ) or file.name : ( jem.*.pid or lynis.pid or redis.pid or yum.pid or MFS.pid or jenkins.pid or nvmupdate.pid or openlitespeed.pid or rhnsd.pid ) or file.path : (/run/containerd/* or /var/run/docker/containerd/* or /var/run/jem*.pid) )
框架: MITRE ATT&CKTM
-
策略
- 名称:执行
- ID:TA0002
- 参考 URL:https://attack.mitre.org/tactics/TA0002/
-
技术
- 名称:本机 API
- ID:T1106
- 参考 URL:https://attack.mitre.org/techniques/T1106/