未知可执行文件发起的可疑互联网网络活动
编辑未知可执行文件发起的可疑互联网网络活动
编辑此规则监控来自可疑目录中先前未知的可执行文件的互联网网络连接。此规则发出的警报可能表明存在潜在的恶意活动,例如尝试与未知或可疑目标(例如命令和控制服务器)建立连接的未授权或可疑进程的执行。检测和调查此类行为有助于识别和减轻潜在的安全威胁,保护系统及其数据免受潜在的破坏。
规则类型: new_terms
规则索引:
- auditbeat-*
- filebeat-*
- packetbeat-*
- logs-endpoint.events.*
- endgame-*
严重性: 低
风险评分: 21
每: 5 分钟运行一次
搜索索引自: now-59m (日期数学格式,另请参见 额外回溯时间
)
每次执行的最大警报数: 100
参考资料: 无
标签:
- 域:端点
- 操作系统:Linux
- 用例:威胁检测
- 策略:命令和控制
- 数据源:Elastic Endgame
- 数据源:Elastic Defend
版本: 11
规则作者:
- Elastic
规则许可证: Elastic License v2
调查指南
编辑分类和分析
调查未知可执行文件发起的可疑互联网网络活动
安装后,恶意软件通常会与其命令和控制服务器联系以接收其操作员的进一步指令。
此规则利用新的术语规则类型来检测先前未知的进程,这些进程会启动与外部 IP 地址的网络连接。
注意: 此调查指南使用 Elastic Stack 8.5.0 版中引入的 Osquery Markdown 插件。较旧的 Elastic Stack 版本将在此指南中显示未呈现的 Markdown。此调查指南使用 占位符字段 将警报数据动态传递到 Osquery 查询中。占位符字段在 Elastic Stack 8.7.0 版中引入。如果您使用的是 Elastic Stack 8.6.0 或更早版本,则需要手动调整此调查指南的查询以确保其正常运行。
可能的调查步骤
- 识别任何可能表明恶意行为的可疑网络活动或异常迹象。这可能包括意外的流量模式或异常的网络行为。
- 调查侦听端口和打开的套接字,以查找潜在的恶意进程、反向 shell 或数据泄露。
- !{osquery{"label":"Osquery - 获取侦听端口","query":"SELECT pid, address, port, socket, protocol, path FROM listening_ports"}}
- !{osquery{"label":"Osquery - 获取打开的套接字","query":"SELECT pid, family, remote_address, remote_port, socket, state FROM process_open_sockets"}}
- 识别执行该操作的用户帐户,对其进行分析,并检查其是否应该执行此类操作。
- !{osquery{"label":"Osquery - 获取特定用户的相关信息","query":"SELECT * FROM users WHERE username = {{user.name}}"}}
- 调查用户当前是否已登录并处于活动状态。
- !{osquery{"label":"Osquery - 调查帐户身份验证状态","query":"SELECT * FROM logged_in_users WHERE user = {{user.name}}"}}
- 调查未知进程的脚本执行链(父进程树)。检查其可执行文件的流行程度以及它们是否位于预期位置。
- !{osquery{"label":"Osquery - 按用户获取正在运行的进程","query":"SELECT pid, username, name FROM processes p JOIN users u ON u.uid = p.uid ORDER BY username"}}
- !{osquery{"label":"Osquery - 获取进程信息","query":"SELECT name, cmdline, parent, path, uid FROM processes"}}
- 调查过去 48 小时内与用户/主机相关的其他警报。
- 如果已删除脚本或可执行文件,请检索这些文件并确定它们是否具有恶意性
- 使用私有的沙盒恶意软件分析系统执行分析。
- 观察并收集有关以下活动的信息
- 尝试联系外部域和地址。
- 检查域是否为新注册或意外注册。
- 检查域或 IP 地址的信誉。
- 文件访问、修改和创建活动。
相关规则
- 通过 cat - afd04601-12fc-4149-9b78-9c3f8fe45d39 检测到的网络活动
误报分析
- 如果此活动与新的良性软件安装活动有关,请考虑添加异常——最好结合用户和命令行条件。
- 尝试通过考虑用户、机器或业务目的来理解执行的上下文。少量端点(例如具有独特软件的服务器)可能看起来不寻常,但可以满足特定的业务需求。
响应和补救
- 根据分类结果启动事件响应流程。
- 隔离相关主机以防止进一步的入侵后行为。
- 如果分类识别出恶意软件,请搜索环境中是否存在其他受感染的主机。
- 实施临时网络规则、程序和分段以遏制恶意软件。
- 停止可疑进程。
- 立即阻止已识别的入侵指标 (IoC)。
- 检查受影响的系统是否存在其他恶意软件后门,例如反向 shell、反向代理或投放器,攻击者可以使用这些后门来重新感染系统。
- 删除并阻止在分类期间识别的恶意工件。
- 调查受感染系统或攻击者使用的系统上的凭据泄露,以确保识别所有受感染的帐户。重置这些帐户和其他可能受感染的凭据(例如电子邮件、业务系统和 Web 服务)的密码。
- 运行完整的反恶意软件扫描。这可能会揭示系统中留下的其他工件、持久性机制和恶意软件组件。
- 确定攻击者滥用的初始载体,并采取措施防止通过相同载体再次感染。
- 利用事件响应数据和日志记录来改进平均检测时间 (MTTD) 和平均响应时间 (MTTR)。
设置
编辑设置
此规则需要来自以下集成之一的数据:- Elastic Defend - Auditbeat - Filebeat - Packetbeat
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(端点检测和响应)”作为配置设置,该设置提供“所有事件;所有预防措施”
- 在“新的 Agent 策略名称”中输入 Agent 策略的名称。如果其他 Agent 策略已存在,则可以单击“现有主机”选项卡并选择现有策略。有关 Elastic Agent 配置设置的更多详细信息,请参阅 帮助指南。
- 单击“保存并继续”。
- 要完成集成,请选择“将 Elastic Agent 添加到您的主机”,然后继续下一节,在您的主机上安装 Elastic Agent。有关 Elastic Defend 的更多详细信息,请参阅 帮助指南。
Auditbeat 设置
Auditbeat 是一款轻量级发运程序,您可以将其安装在服务器上以审核系统上用户和进程的活动。例如,您可以使用 Auditbeat 收集和集中来自 Linux Audit Framework 的审核事件。您还可以使用 Auditbeat 检测对关键文件(如二进制文件和配置文件)的更改,并识别潜在的安全策略违规。
为了在 Linux 系统上添加 Auditbeat,应按顺序执行以下步骤
Filebeat 设置
Filebeat 是一款轻量级发运程序,用于转发和集中日志数据。Filebeat 安装为服务器上的代理程序,监控您指定的日志文件或位置,收集日志事件,并将其转发到 Elasticsearch 或 Logstash 以进行索引。
为了在 Linux 系统上添加 Filebeat,应按顺序执行以下步骤
Packetbeat 设置
Packetbeat 是一个实时网络数据包分析器,可用于应用程序监控、性能分析和威胁检测。Packetbeat 通过捕获应用程序服务器之间的网络流量,解码应用程序层协议(HTTP、MySQL、Redis 等),将请求与响应关联起来,并记录每个事务的有趣字段来工作。
以下步骤应按顺序执行,以便在 Linux 系统上添加 Packetbeat
规则查询
编辑host.os.type:linux and event.category:network and event.action:(connection_attempted or ipv4_connection_attempt_event) and process.executable : ( /etc/crontab or /etc/rc.local or ./* or /boot/* or /dev/shm/* or /etc/cron.*/* or /etc/init.d/* or /etc/rc*.d/* or /etc/update-motd.d/* or /home/*/.* or /tmp/* or /usr/lib/update-notifier/* or /var/log/* or /var/tmp/* ) and process.name : * and not ( process.executable : ( /tmp/newroot/* or /tmp/snap.rootfs* or /etc/cron.hourly/BitdefenderRedline or /tmp/go-build* or /srv/snp/docker/* or /run/containerd/* or /tmp/.mount* or /run/k3s/containerd/* or /tmp/selenium* or /tmp/tmp.*/juliainstaller or /tmp/.criu.mntns* or /home/*/.local/share/containers/* or /etc/update-motd.d/* ) or source.ip:(10.0.0.0/8 or 127.0.0.0/8 or 172.16.0.0/12 or 192.168.0.0/16) or process.name : ( apt or chrome or curl or dnf or dockerd or dpkg or firefox-bin or git-remote-https or java or kite-update or kited or node or rpm or saml2aws or selenium-manager or solana-validator or wget or yum or ansible* or aws* or php* or pip* or python* or steam* or terraform* ) or destination.ip:( 0.0.0.0 or 10.0.0.0/8 or 100.64.0.0/10 or 127.0.0.0/8 or 169.254.0.0/16 or 172.16.0.0/12 or 192.0.0.0/24 or 192.0.0.0/29 or 192.0.0.10/32 or 192.0.0.170/32 or 192.0.0.171/32 or 192.0.0.8/32 or 192.0.0.9/32 or 192.0.2.0/24 or 192.168.0.0/16 or 192.175.48.0/24 or 192.31.196.0/24 or 192.52.193.0/24 or 192.88.99.0/24 or 198.18.0.0/15 or 198.51.100.0/24 or 203.0.113.0/24 or 224.0.0.0/4 or 240.0.0.0/4 or "::1" or "FE80::/10" or "FF00::/8" ) )
框架:MITRE ATT&CKTM
-
策略
- 名称:命令与控制
- ID:TA0011
- 参考网址:https://attack.mitre.org/tactics/TA0011/
-
技术
- 名称:应用层协议
- ID:T1071
- 参考网址:https://attack.mitre.org/techniques/T1071/