1. 挖矿病毒的发现与初步判断
那天早上我像往常一样通过FinalShell连接公司的测试服务器,却发现连接速度异常缓慢。登录后第一件事就是查看系统状态,结果发现CPU占用率已经飙到100%。这种情况在测试环境中并不常见,立即引起了我的警觉。
使用top命令查看进程时,我注意到大量名为"knerl"的进程占据了绝大部分CPU资源。更可疑的是,这些进程的PID在不断变化,就像打地鼠一样——刚kill掉一个,新的又立即冒出来。这种典型的进程守护行为让我意识到,服务器很可能被植入了恶意程序。
通过进一步观察,我还发现:
- 系统负载平均值远高于正常水平
- /tmp目录下出现了可疑的隐藏文件
- crontab中多了几个陌生的定时任务
- 网络连接中出现异常的外联IP
结合这些迹象和在安全论坛上查到的资料,我确认服务器中了挖矿病毒。这类病毒通常会利用服务器资源进行加密货币挖矿,不仅影响系统性能,还可能成为入侵者进一步渗透的跳板。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 清除前的准备工作
2.1 使用静态编译工具进行安全分析
在受感染的系统上,常规工具可能已被篡改。我选择使用静态编译的busybox来获取可信的系统信息:
bash复制# 从官方源下载静态编译版busybox
wget https://busybox.net/downloads/binaries/1.30.0-i686/busybox
chmod +x busybox
# 使用busybox版本的top查看进程
./busybox top -b -n 1
静态编译的工具不依赖系统库,可以避免使用可能被病毒修改的系统工具。通过这种方式,我确认了以下几个关键信息:
- 恶意进程的真实路径
- 病毒创建的隐藏目录位置
- 异常的网络连接
2.2 系统快照与取证
在开始清理前,我做了以下取证工作:
- 使用
ps auxf记录所有进程树 - 保存
netstat -tulnp的输出 - 备份
/etc/crontab和用户cron目录 - 记录
/tmp和/var/tmp目录的异常文件
这些信息不仅有助于清理工作,也能帮助分析入侵途径,防止再次感染。
3. 彻底清除挖矿病毒
3.1 终止恶意进程
首先需要停止所有恶意进程。由于病毒可能有守护机制,
