服务器被植入挖矿进程,如何通过日志追踪?

服务器突然变得特别慢,CPU 占用一直 100%,用 top 命令一看,有个没见过的进程吃了大半个 CPU——十有八九是被植入挖矿程序了。
别慌,下面咱们就从日志入手,一步步找出是谁跑进来的。

准备条件

你需要一台 Linux 服务器(本文以 CentOS 7 为例),并且有 root 权限。
如果你用的是宝塔面板,也能用后台的“文件管理”和“终端”辅助操作。
另外建议先断开外网或关闭挖矿进程的对外连接(比如用 iptables 临时封禁可疑 IP),防止日志不断被覆盖。

第一步:查看系统登录日志,找到异常入口

挖矿程序往往通过弱口令或漏洞进来,第一步要查 /var/log/secure(有些系统是 /var/log/auth.log)。
这个文件记录了所有登录尝试(包括 SSH 爆破)。

# 查看最近 200 条登录失败的记录
grep "Failed password" /var/log/secure | tail -200

如果看到大量来自同一个 IP 的失败记录,说明这台服务器正在被暴力破解。
接着查看成功登录记录:

# 查看最近成功登录
grep "Accepted password" /var/log/secure | tail -50

记下可疑的登录时间、用户名和来源 IP,用来和挖矿进程启动时间对比。
如果你用宝塔,可以在“安全” -> “SSH 日志”里直接看到。

第二步:检查网络连接,找出挖矿通信地址

挖矿程序需要连接矿池才能“赚钱”,找出它在跟谁通信,就能顺藤摸瓜。

# 查看所有活跃的网络连接(仅显示状态 ESTABLISHED 或 SYN_SENT)
netstat -antp | grep -E "ESTABLISHED|SYN_SENT"

或者用更直观的 ss 命令:

ss -antp | grep -v "127.0.0.1"

重点关注连接目标 IP 是否在已知矿池列表(比如 103.x.x.x、198.x.x.x),以及连接对应的 PID 和程序名。
记录下来,下一步会用到。
如果挖矿进程已经停止,可以查看临时日志文件 /var/log/messages 里有没有异常的网络连接记录。

第三步:通过进程和文件定位挖矿程序

用 top 或 htop 找到 CPU 最高的进程,记下 PID。
然后查看该进程的详细信息:

# 查看进程对应的完整命令和路径
ls -l /proc/PID/exe
cat /proc/PID/cmdline

通常挖矿程序的名称会被伪装(比如 systemdkworker),但路径很可疑,比如 /tmp//var/tmp//dev/shm/ 下。
用以下命令查找可疑文件:

# 查找最近修改的可执行文件(排除系统目录)
find /tmp /var/tmp /dev/shm -type f -mtime -3 2>/dev/null

找到文件后先别删,复制一份备份,然后结束进程并清理文件:

kill -9 PID
rm -f /tmp/可疑文件名

接着检查启动项和定时任务,防止重启后复活:

# 查看当前用户的定时任务
crontab -l
# 查看系统级定时任务
cat /etc/crontab
cat /etc/cron.d/*
# 检查 /etc/rc.local 和 /etc/systemd/system/ 下的异常 service

🔬 避坑指南

  • 不要只杀进程:挖矿程序通常有守护进程或定时任务自启,只 kill 治标不治本。一定要按第三步清理完整。
  • 慎用 rm -rf:删文件前用 ls -la 确认一下,有些木马会把自身伪装成系统文件,误删可能影响系统。
  • 日志被清空怎么办:如果攻击者删除了日志,可以用 last -f /var/log/wtmp 查看登录记录,或用 ausearch 工具(需安装 auditd)检索。
  • 挖矿进程藏在内核模块里:极少数情况下挖矿程序会作为内核模块加载,用 lsmod | grep -i crypto 检查可疑模块,并用 modprobe -r 模块名 移除(需先卸载进程)。

效果验证

执行完上述步骤后,用以下命令确认系统恢复正常:

  • top 检查 CPU 占用率不再异常飙升。
  • netstat -antp | wc -l 确认连接数恢复正常范围(对外连接数明显下降)。
  • 24 小时后再次检查登录日志和定时任务,确保没有新进程自动启动。

常见问题

Q:我用了宝塔面板,怎么看日志?
A:宝塔左侧“安全”菜单下有“SSH 日志”和“防火墙日志”,可以直接查看登录记录。另外在“文件管理”中也能直接浏览 /var/log/secure 等日志文件。

Q:挖矿程序没有可执行文件路径怎么办?
A:有些挖矿程序直接通过内存加载,不写磁盘。这时用 lsof -p PID 查看进程打开的文件,或者用 sysdig 等工具抓取网络流量,但新手建议直接重装系统更安全。

Q:清理后仍然反复出现?
A:说明存在漏洞入口(如弱口令、未修复漏洞)。建议全面检查 SSH 密钥、修改所有密码、升级软件版本,必要时使用常用安全工具如 ClamAV 扫描。如果条件允许,备份数据后重装系统是最稳妥的选择。

如果你正在处理服务器被植入挖矿进程的问题,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。
记住,日志追踪只是第一步,后续加固系统才能防止二次入侵。

分享到:
上一篇
宝塔面板多站点域名配置错误,导致跳转异常
下一篇
用 AI 写 Python 脚本,被平台检测为恶意程序
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意