挖矿进程手动查杀清理服务器后门:服务器被植入挖矿进程?手把手
服务器被植入挖矿进程?手把手教你手动查杀清理后门
当你发现服务器变得异常卡顿、CPU 持续 100% 或网络连接数暴增时,很可能是被植入了挖矿病毒。
这类病毒通常会伪装成系统进程、使用随机文件名、创建定时任务保持持久化。
本文面向零基础运维人员,按照“发现→定位→清理→封堵→验证”的顺序,一步步教你手动干掉挖矿进程并清理后门。
第一步:快速确认是否存在挖矿进程
打开终端(SSH 登录服务器),先运行以下命令观察异常:
top -c
按 P 键按 CPU 使用率排序,如果看到一个或多个进程占用超过 80% 甚至 200%(多核),且进程名不像常见服务(如 kworker、systemd 被混淆),基本可以判定是挖矿病毒。
记录下这个进程的 PID 和 名称。
再用 netstat 检查异常外连:
netstat -anp | grep ESTABLISHED | grep -E '22|80|443'
挖矿病毒通常会连接境外 IP 或非标准端口(如 3333、4444、5555),如果发现大量到陌生 IP 的 TCP 连接,也要高度警惕。
第二步:定位恶意进程的文件位置
不要直接 kill 进程,否则守护进程会立刻重启它。
先用以下命令找到进程对应的可执行文件路径:
ls -l /proc//exe
lsof -p
/proc/ 会显示实际执行的程序路径,lsof 会列出打开的所有文件。
挖矿病毒常藏在 /tmp、/var/tmp、/dev/shm、/boot 等目录,或者伪装成 lib 开头的共享库文件。
第三步:查杀挖矿进程及清理僵尸文件
确认文件路径后,先切断病毒的网络连接,防止它下载更多恶意负载:
iptables -A INPUT -s <恶意IP> -j DROP # 可选
kill -9
然后立即删除源文件:
rm -f /path/to/malicious/file
但挖矿病毒往往不只一个文件,还要检查以下几处:
- 定时任务:
crontab -l和ls -la /var/spool/cron/,如果发现不认识的条目,记下脚本路径并删除。 - 开机自启:
systemctl list-unit-files | grep enabled,查看/etc/rc.local、~/.bashrc、/etc/profile是否被插入恶意命令。 - 用户 SSHD 密钥:
cat ~/.ssh/authorized_keys检查是否有未知的公钥。 - WebShell:如果你的服务器运行着网站,检查
uploads/、/tmp、/icons等目录下是否有可疑.php、.jsp文件。
第四步:封堵后门入口与恢复配置
清理完进程和文件后,必须修复被利用的漏洞,否则病毒会再次入侵。
常见后门入口:
- 弱密码:立即修改 root 及所有用户密码,建议包含大小写字母+数字+特殊字符、不少于 12 位。
- 未修补的漏洞:升级系统内核和关键服务(如 SSH、Web 服务器、数据库)到最新安全版本。
- 未授权的 SSH 密钥:删除未知的公钥条目后,重启 SSHD 服务:
systemctl restart sshd。 - 可疑的系统用户:
cat /etc/passwd检查是否有新建的低权限用户,用userdel删除。
第五步:二次验证与长期监控
清理完毕,重启服务器(确保干净再重启):
reboot
重启后立即执行:
top -c检查 CPU 是否恢复正常(占用低于 10%)ps auxf查看进程树,确认没有异常子进程crontab -l确认定时任务已空lsof -i确认没有对外可疑连接- 安装杀毒脚本(如
clamav)或入侵检测工具(如aide)进行全盘扫描
如果以上全部正常,说明已成功清理。
建议开启系统日志审计(auditd)并定期检查。
避坑指南:你可能会犯的 3 个错误
- 不要只 kill 不删文件:守护进程会从原路径重启,必须删除文件并清除所有持久化手段。
- 不要忽略 rootkit:如果 kill 后仍自动恢复,可能是安装了内核级 rootkit,需要借助
chkrootkit或rkhunter扫描。 - 不要在未备份时大规模修改配置:改错可能导致服务瘫痪,改前先用
cp备份原文件。
常见问题解答
Q:按步骤操作后,CPU 依然很高怎么办?
A:可能还有潜伏的挖矿进程,用 strace -p 观察系统调用,或下载 Lynis 进行深度审计。
Q:服务器有几百个 PHP 文件,如何快速找 webshell?
A:使用 find / -name "*.php" -newer /etc/passwd -mmin -1440 查找最近 24 小时修改的 PHP 文件,结合 grep -r "eval(" 定位恶意代码。
Q:如何防止再次被挖矿?
A:关闭不必要的端口,使用 Fail2Ban 防暴力破解,定期更新系统,定期检查进程和日志。
本文提供了从发现到清理的完整流程,适合初次处理挖矿问题的管理员。
如果遇到更复杂的变种,建议结合专业安全团队协助。