prod-bus 主机 CPU 异常故障排查与安全事件分析报告

prod-bus 主机 CPU 异常故障排查与安全事件分析报告

事件编号 :SEC-2026-1025

报告日期 :2026-10-26

事件发生及处置日期 :2026-10-25

涉及环境 :AWS eu-central-1 / Cecotec 生产环境

当前状态:挖矿程序已停止并隔离,已执行主机侧临时遏制

一、故障概述

2026 年 10 月 25 日,业务部门反馈 5 台 cecotec-prod-bus 生产主机 CPU 使用率异常升高,系统负载约为 8~13。进程排查发现,主机存在名为 java_update 的进程,以 root 权限运行,单进程 CPU 占用约 199%~272%。该进程名称疑似系统或 Java 更新程序,但其实际执行文件并非 Java 应用。

经进一步检查,该文件为 Linux ELF 可执行程序,包含 XMRIG_VERSION 等 XMRig 特征字符串,并通过 /var/tmp/config.json 配置外部矿池,使用 systemd 服务维持运行。结合执行路径、配置与资源占用,确认本次 CPU 异常由主机被植入 XMRig 挖矿程序造成。

取证中还发现来源于 3.120.181.43、3.120.181.44、3.120.181.45 的 root SSH 公钥认证活动,以及疑似攻击者 ED25519 公钥相关痕迹。

当日对 5 台受影响主机完成恶意服务停用、进程终止、样本隔离、root SSH 登录禁用及指定来源 IP 的主机防火墙阻断。复查时未发现 java_update 进程残留,相关连接数为零。

二、影响范围及业务风险

JumpServer 资产编号 主机名称 内网 IP 已识别异常 处置情况
#7 cecotec-prod-bus-1 10.0.128.39 XMRig / systemd 持久化 已隔离、阻断
#9 cecotec-prod-bus-2 10.0.6.84 XMRig / systemd 持久化 已隔离、阻断
#25 cecotec-prod-bus-3 10.0.139.184 XMRig / systemd 持久化 已隔离、阻断
#14 cecotec-prod-bus-4 10.0.132.73 XMRig / systemd 持久化 已隔离、阻断
#34 cecotec-prod-bus-5 10.0.137.162 XMRig / systemd 持久化 已隔离、阻断

已观察到的直接影响是 CPU 资源被非法挖矿程序占用,可能造成业务计算资源争用、响应时间波动。

由于恶意进程以 root 身份执行,需按主机高权限失陷评估风险,包括凭据读取、配置篡改、数据访问和进一步横向移动的可能性。现有证据尚不能证明已发生数据泄露,也不足以排除上述风险。

三、排查经过与证据分析

3.1 从资源异常定位可疑进程

对受影响主机检查进程与网络连接,定位到:

bash 复制代码
/usr/local/sbin/java_update -c /var/tmp/config.json

进程由 root 启动,CPU 占用与系统负载异常相符。随后检查对应程序、配置文件和服务单元,发现 java_update.service 已配置自启动,使恶意进程在系统启动或异常退出后具有恢复运行的能力。

3.2 确认文件性质和挖矿行为

检查对象 证据 判断
/usr/local/sbin/java_update file 显示静态链接、剥离符号的 64 位 ELF;文件头 7f 45 4c 46 并非 Java class / JAR
可执行文件字符串 包含 XMRIG_VERSION、XMRIG_KIND、miner、cpu 与 XMRig 挖矿软件特征一致
/var/tmp/config.json 矿池 lukasi.top:443、worker nkeep、TLS 等配置 存在面向外部矿池的挖矿配置
/etc/systemd/system/java_update.service 已启用的 systemd 持久化运行机制
5 台主机配置 报告记载配置一致 支持同一投放配置或批量部署假设

上述证据足以判定 java_update 是以 Java 更新名称伪装的 XMRig 挖矿程序,

3.3 SSH 访问及权限异常

journald / auditd 中记录了来自 3.120.181.43、.44、.45 的 root 账户 ED25519 公钥认证活动。原事件报告记载,较早的一条记录为 2025-05-30 03:12,另有 2026-10-25 13:30~14:29 的登录活动。这些时间应在核实日志时区后统一使用 UTC 或北京时间。

同时当前跨主机检查未发现可疑 ED25519 公钥残留,root authorized_keys 中留存的 RSA 公钥 cecotec-application 受 forced-command 限制。密钥缺失并不直接证明"攻击者自行清除",也不应在未完成历史证据核验前排除其他授权路径。

3.4 横向排查

除 5 台受影响主机外,还对另外 11 台主机进行横向检查,覆盖 java_update 进程、二进制、服务单元、挖矿配置、公钥痕迹及指定 IP 活跃连接,未检出同类指标。

四、事件时间线

时间 事件及证据 说明
2025-04-23 原报告记载实例首次启动、cloud-init 写入公钥文件 待结合 cloud-init 与 AWS 实例资料交叉验证
2025-05-30 auditd 中最早已发现的相关 root ED25519 登录 最早可见证据,不等于首次失陷时间
2026-10-25 记录到相关来源的 root SSH 活动 恶意程序部署时点需进一步用文件及审计日志确认
2026-10-25 发现 CPU 异常,检查进程、服务、文件与网络连接 故障定位及取证
2026-10-25 5 台主机的隔离目录时间戳先后生成 这些是目录命名所含时间,不宜直接视为全流程准确起止时间
2026-10-25 5 台主机完成恶意程序隔离和 SSH/IP 封堵 复测无已知进程及相关活跃连接

五、故障原因与入侵机制分析

直接故障原因 :被植入的 XMRig 挖矿程序大量消耗 CPU,导致 5 台 prod-bus 主机负载升高。

持续运行机制 :恶意二进制配合配置文件与已启用的 java_update.service 实现持久化。直接杀进程可能因服务自动拉起而失败,因此先停用服务再终止进程是合理的处置顺序。

可观察的攻击访问方式 :可疑来源 IP 使用 ED25519 公钥对 root 进行 SSH 认证。主机原有配置未显式禁用 root 公钥登录,加大了此类访问一旦获得授权公钥后的风险。

根本入侵原因 :尚无充分证据说明攻击者如何首次获取权限、如何写入或使用 SSH 公钥、泄露凭据或应用漏洞。

六、已执行处置与验证

6.1 取证

采集进程、系统服务、定时任务、LLD-PROLOAD、网络连接、文件类型与字符串、SSH 配置和密钥、登录历史、cloud-init、审计与日志资料;并对其他主机进行 IOC 扫描和跨主机公钥比对。

6.2 恶意程序遏制及隔离

在 5 台主机上:

  1. 停止并禁用 java_update.service,切断 systemd 持久化启动机制。
  2. 用精确进程名终止 java_update,避免误杀真实 Java 业务。
  3. 将二进制、配置文件、服务单元移动至 /root/quarantine/<时间戳>/,保留样本而非删除。
  4. 刷新 systemd 单元缓存,核对恶意进程与服务残留。

6.3 SSH 及网络封堵

将 PermitRootLogin 改为 no,并通过 iptables 添加针对三个已知 IPDROP 规则并写入 /etc/sysconfig/iptables

6.4 复验结果

验证项 结果 解释
5 台主机 java_update 进程 未发现残留 已知挖矿进程停止
恶意 systemd 已移除 已知持久化链被中断
PermitRootLogin no、sshd -t 5/5 通过 SSH root 登录限制已生效
三个来源 IP 的 INPUT DROP 5/5 生效 主机层已作定向网络阻断
指定 IP 的当前连接数 ATTACKCONN=0 复测时无相关活跃连接

八、相关证据位置

  • 可疑来源 IP:3.120.181.43、3.120.181.44、3.120.181.45。
  • 恶意程序:/usr/local/sbin/java_update。
  • 配置文件:/var/tmp/config.json。
  • 服务单元:/etc/systemd/system/java_update.service。
  • 矿池:lukasi.top:443;worker:nkeep。
  • 报告记载 TLS 指纹:c8de473e0d2435a339cf719be8500b451f1d882f7eefc3b2f80ce77ce4690e91。
  • 可疑公钥指纹(据原事件报告记录):4lXFqFSwtqiYkx9sz4Tz7MPH/gTjwESDjSr6b8MXxc4、wrAsj+4a5mwhyiD/zrabhn0vdb57IkBNTed0qfsduew、u6xKbU8EZIDcugLlbBCDf/rERsu64APpwpTEoeGtuWE、wjLMFmGGvAR84iRuT8hP+jF7OMLPsMXr2bPsz2FyVqU、dE0OlaChugMl2qOOYhMmXhxbXef/ERek/Csq2MZn3YM。

隔离目录(与资产编号对应):

资产编号 隔离路径
#7 /root/quarantine/20261025134428/
#9 /root/quarantine/20261025134801/
#14 /root/quarantine/20261025134943/
#34 /root/quarantine/20261025135125/
#25 /root/quarantine/20261025154438/

以上指纹与地址用于本次事件关联分析,不能仅凭单一命中就判定另一台主机失陷。正式取证包仍需附上原始日志、命令输出、样本哈希、时间区和证据提取人。

九、结论

本次 prod-bus 主机 CPU 异常的直接原因是 5 台生产主机被植入伪装为 java_update 的 XMRig 挖矿程序,其依靠 systemd 服务实现持久化运行。运维于 2026 年 10 月 25 日完成已知恶意进程、服务及样本的隔离,并执行 root SSH 登录限制和特定来源 IP 封堵。复验未发现已知挖矿进程或对应来源的活跃连接,短期遏制取得效果。

但相关 root SSH 认证活动表明主机存在高权限失陷风险。当前已完成故障定位和紧急处置。

相关推荐
程序员如山石3 小时前
再思考断言
后端
弦儿3 小时前
后端 Web 实战:登录认证(登录功能 + 会话技术 + JWT 令牌 + Filter/Interceptor)
后端
会编程的吕洞宾3 小时前
LangChain4j 流式输出实战:让 AI 回复像打字机一样逐字显示
java·开发语言·人工智能·后端
武子康3 小时前
CUDA OOM 不只是“显存不够”
人工智能·后端·agent
进击的丸子3 小时前
基于 ArcFace SDK 的跨平台人脸特征值下发、同步以及存储方案
后端·算法·代码规范
郑州光合科技余经理3 小时前
同城小程序开发:同一笔单在用户端和商家端各显示到哪
android·java·开发语言·前端·后端·uni-app·php
卷无止境4 小时前
ARM与x86、x64的能效之争:指令集只是故事的开头
后端·python
陈随易4 小时前
终于 Token 自由了,AI 开支下降 10 倍
前端·后端·程序员
橙子家4 小时前
集合与索引类异常【C# Exception 详解系列(三)】
后端