HoRain云--服务器挖矿程序检测与清除全攻略

🎬 HoRain 云小助手:个人主页
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
目录
⛳️ 推荐
🔍 初步识别与快速检查
⚙️ 深入分析与取证
🛡️ 清除与加固
💎 总结

服务器被植入挖矿程序是常见的网络安全事件,它会窃取你的CPU/GPU资源进行加密货币挖矿,导致性能骤降、电费激增,并带来严重的安全隐患。要系统性地检测它,可以遵循下图的排查路径,从资源异常到最终确认,一步步揭开它的伪装。
flowchart TD
A[发现服务器性能异常] --> B[资源使用情况初步分析]
B --> C{发现异常进程/连接?}
C -- 是 --> D[深入分析可疑对象]
C -- 否 --> E[检查系统细微痕迹]
D --> F[确认挖矿行为]
E --> F
F --> G[总结与安全加固]
B --> B1[使用top/htop命令
查看CPU负载]
B --> B2[使用netstat/ss命令
检查网络连接]
D --> D1[分析进程参数/路径]
D --> D2[检查计划任务/服务]
D --> D3[抓包分析网络流量]
E --> E1[检查系统日志]
E --> E2[检查文件系统改动]
下面,我们详细讲解每个步骤的具体操作方法。
🔍 初步识别与快速检查
当服务器出现无端的高CPU占用(尤其是持续接近100%)、系统响应缓慢、风扇狂转,或者发现未知的陌生进程时,就需要警惕了。
-
检查系统资源状态
-
CPU与进程检查:使用
top或htop命令。在top界面中,按P 键按CPU使用率排序。重点关注那些持续占用大量CPU资源且你不认识的进程。挖矿进程常会伪装成类似kworker/0:1、libsystem或使用随机字符串(如MLEFDb)的名称 。 -
内存检查:使用
free -h命令。如果系统内存不足,可能是挖矿程序排挤了正常应用,但CPU异常通常是更直接的线索 。
-
-
检查网络连接
挖矿程序必须与矿池服务器通信。使用
netstat -anp | grep ESTABLISHED或ss -tulp命令,查看所有已建立的连接及其对应的进程 。特别留意与未知IP地址(尤其是知名矿池IP)或陌生域名的连接。
⚙️ 深入分析与取证
如果初步检查发现可疑点,就需要深入挖掘。
-
分析可疑进程
-
定位进程文件:使用
ps -p命令,通过进程ID(PID)查看进程的详细信息和可执行文件的绝对路径 。恶意软件常藏在-o pid,cmd,comm /tmp、/dev/shm等非常规目录。 -
检查进程树:使用
pstree -p查看进程的父子关系。挖矿程序可能由某个被攻陷的合法应用(如Web服务器、数据库)fork出来,这有助于找到入侵源头 。 -
检查系统负载:使用
uptime查看系统平均负载。有时CPU使用率不高,但负载极高,这可能是因为存在大量不可中断的进程(如等待I/O),也可能是挖矿程序或僵尸进程的迹象 。
-
-
检查系统配置和日志
-
检查计划任务:运行
crontab -l查看当前用户的计划任务,并检查/etc/crontab以及/etc/cron.d/、/var/spool/cron/等目录。挖矿程序常在此植入任务以实现持久化 。 -
检查系统服务:运行
systemctl list-units --type=service --state=running查看运行中的服务,注意任何陌生或可疑的服务。 -
检查历史命令:查看
~/.bash_history或相关shell的历史记录,寻找攻击者执行过的可疑命令,如下载脚本(wget/curl)、编译操作等 。 -
检查系统日志:查阅
/var/log/auth.log(认证日志)、/var/log/syslog等,寻找可疑的登录记录或错误信息。
-
-
网络流量分析(进阶)
如果条件允许,可以进行流量抓包分析。挖矿程序(如门罗币挖矿)通常使用 Stratum协议 或 JSON-RPC 与矿池通信。使用
tcpdump捕获发往可疑IP和端口(常见矿池端口如3333、4444、5555、8080)的流量,然后使用Wireshark分析。可以留意数据包中是否包含特定关键词,如mining.subscribe、mining.submit、jsonrpc等 。
🛡️ 清除与加固
一旦确认被植入挖矿程序,应立即采取行动。
-
清理恶意进程
-
首先使用
kill -9终止恶意进程。 -
删除恶意进程对应的磁盘文件、相关的计划任务和系统服务项。
-
彻底清除的前提是准确找到所有相关组件,否则重启后可能复活。
-
-
根除与修复
-
排查入侵途径:检查系统漏洞(特别是Web应用漏洞)、弱口令爆破(SSH、数据库等)、未授权访问服务(如Redis)等,并及时修补 。
-
全面杀毒:使用专业杀毒软件(如ClamAV)或专杀工具进行全盘扫描。对于难以清除的顽固病毒,最彻底的方法是备份重要数据后重装系统 。
-
-
安全加固与预防
-
最小化开放端口:关闭非必要端口(如135、139、445),对必要端口(如SSH的22)实施IP白名单访问 。
-
强化认证:杜绝弱口令,为所有账户设置高强度密码,SSH服务建议禁用密码登录,改用密钥认证。
-
定期更新:及时安装系统和软件的安全补丁。
-
建立监控:部署Zabbix、Prometheus等监控系统,对CPU使用率、网络连接等设置告警阈值 。
-
💎 总结
检测挖矿程序是一个系统性的过程。核心在于保持警惕,建立常态化的监控体系,并养成最小权限原则和定期更新的良好安全习惯。一旦发现异常,按照文中的流程冷静分析,多数挖矿程序是能够被发现和清理的。
希望这份详细的指南能帮助你有效地保护服务器资源!如果你在具体操作中遇到更复杂的情况,欢迎随时提出。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙








