凌晨两点,业务低峰,服务器 CPU 从 20% 升到 90%,请求延迟同步上涨。运维杀掉 kworker,几分钟后它又出现;查进程树、计划任务和网络连接后,才发现异常下载与持续外联。难点不是杀进程,而是区分正常批处理与挖矿入侵。重启会丢失易失证据,清理又可能遗漏入口,须按隔离、取证、恢复推进。
如果你正在选机器,或者想先把线路和配置跑通再谈长期方案,可以先看看这几家的线路说明和技术参数:haruka(服务器与主机),先看清带宽线路、流量策略和退款条款,再决定要不要迁。
异常CPU占用只是结果,不是入侵结论。load average 可被 D 状态进程和 I/O 等待抬高。用 top、pidstat、ps 核对 PID、父进程、用户、启动时间、真实路径、线程数与连接,并与发布、备份窗口对照。固定时段由队列拉起且签名可信,多半是正常任务。
若进程来自临时目录,父进程是 shell,命令行含随机字符,文件已删除却仍驻留,并伴随异常 DNS、加密连接或高线程数,应升级为安全事件。恶意进程识别不能只认名称;攻击者可改名,需结合父子关系、哈希和连接归属判断。

疑似入侵后,先记录进程树、打开文件、连接和日志,采集内存等易失状态,再从业务网隔离主机并保留取证通道。隔离须限制入站、出站及核心网段访问,防止回传或横向移动;发现多机出现同源账号、密钥或远端主机,应立即联动处置。
进程树回答“谁拉起谁”,持久化回答“为何重启后还在”。沿 PPID、systemd 单元、用户 crontab、/etc/cron.*、at 和 systemd timer 建链,检查命令创建者、临时目录、解码执行及输出重定向。除运行任务外,还看启动脚本、容器入口和被篡改的服务文件。
网络连接确认影响范围,系统文件完整性确认落点。用 ss、lsof 和 /proc 把连接反查 PID,记录远端、域名、流量与出现时间;再审计 SSH 密钥、新账号、sudoers、远程执行和文件共享。流量可能经代理转发,不能只凭 IP 判定矿池;关键二进制和配置还应与可信源做哈希比对。

常见坑是看到陌生进程就删,或只清一个入口。应先保全时间线,再关联登录、服务、任务修改时间和网络会话。多机同源时按横向移动审计升级。恢复时重装或回滚受影响组件,轮换凭据,撤销启动项与计划任务持久化,持续监控后再逐台回网。
异常 CPU 占用只是线索,高负载也可能来自编译、杀毒扫描或数据库任务。确认时应结合 ps -eo pid,ppid,user,pcpu,pmem,etimes,args --sort=-pcpu、top -H 和 pidstat 观察进程树、线程数、启动时间及命令行。挖矿程序常伪装成 systemd、nginx、httpd 等常见服务,也可能使用随机名称、无文件加载或反复拉起子进程。遇到名称与路径不符、可执行文件位于 /tmp、/dev/shm、用户目录,或文件已删除但进程仍运行的情况,应重点排查。
取证时先记录 PID、父子关系、用户、启动参数、文件哈希和连接目标,再隔离或终止进程。直接 pkill 可能只清掉工作进程,看门狗会立即重启;同时应检查 /proc/PID/exe、cwd、root、maps、fd,并用 ss、lsof 关联外连地址与矿池特征。单凭某个域名或高 CPU 下结论容易误报,也不要过早删除样本,以免破坏入侵路径证据。

木马获得权限后,常通过 计划任务、systemd 服务、启动脚本、SSH 密钥、Shell 配置 维持执行。排查时应覆盖用户与系统级 crontab、/etc/cron.*、/var/spool/cron、/etc/systemd/system、/etc/rc.local、/root/.bashrc、authorized_keys,并核对 systemctl list-timers、systemctl list-unit-files --state=enabled。服务文件中的 ExecStart、Environment、WorkingDirectory 要与实际文件逐项对应,避免遗漏由 at、profile、别名或隐藏定时器触发的任务。
系统文件完整性检查不能只看文件是否存在,还要比对属主、权限、修改时间和哈希值。可使用 AIDE、OSSEC 建立基线,或用 rpm -Va、debsums 检查包管理文件。常见陷阱是直接覆盖可疑文件,这会删除证据并掩盖启动链;部分正常配置也会造成校验误报。若怀疑 rootkit,应从可信只读介质或另一台干净主机离线核验,并检查 /etc/ld.so.preload、动态链接库、内核模块及启动项,不要只相信当前系统上的命令输出。
挖矿主机通常已经出现凭据泄露或远程执行迹象,应检查 auth.log、secure、journald、auditd 中的异常登录、sudo 提权和密钥使用,审阅 SSH 配置、账户列表、sudoers、网络连接及共享目录,确认攻击者是否访问其他主机。可执行清单如下:
清单必须按“发现、留证、隔离、清除、恢复、复盘”闭环执行;只删除矿工而不清理持久化和横向通道,通常会在重启或凭据复用后再次感染。