服务器门罗币挖矿进程排查与清除方法详解
很多运维人员都遇到过这样的情况:服务器CPU突然飙到90%以上,网站访问变慢,登录上去一查,发现一个陌生的进程在疯狂吃资源,一看名字带着xmrig、minerd之类的关键字,基本可以确定是中了门罗币挖矿病毒。门罗币因为交易匿名、难以追踪,成了黑客最偏爱的挖矿币种,而服务器由于配置高、常年开机,自然成了挖矿木马的最佳宿主。今天就来聊聊怎么发现、清除和预防这类挖矿进程。
服务器为什么会被植入门罗币挖矿程序
挖矿木马进入服务器的方式其实就那么几种。最常见的是利用漏洞入侵,比如Redis未授权访问、Hadoop YARN资源管理漏洞、Docker远程API暴露、Shiro反序列化漏洞等,黑客扫到这类弱点就直接写入计划任务或上传脚本。其次是通过弱口令,SSH、数据库、后台管理如果密码太简单,很容易被暴力破解成功。还有一种是通过被感染的软件供应链,比如下载的安装包本身就被捆绑了挖矿程序。另外,如果服务器上跑的网站有上传漏洞,黑客传个webshell进来,后面再下载挖矿程序也就顺理成章了。
如何发现服务器上存在挖矿进程
发现挖矿进程最直接的方法是看资源占用。执行top或者htop命令,按CPU排序,如果有个进程长期占用百分之八九十的资源,就要重点怀疑。挖矿程序为了躲避排查,经常把自己的进程名改成kworker、kdevtmpfsi、kinsing这种看起来像系统进程的名字,所以不能光看名字,还要看进程的路径。用命令ls -l加上进程ID对应的proc目录,查看exe指向的真实文件位置,如果路径在tmp、dev、var目录下,那基本就是恶意程序没跑了。
另外几个排查点也很关键。第一看计划任务,执行crontab -l以及查看etc目录下的cron文件,挖矿木马最喜欢写定时任务来保证自己被删后能自动恢复。第二看开机启动项,检查rc.local、systemd服务列表里有没有可疑项目。第三看网络连接,用netstat或ss命令查看外联IP,如果服务器主动连接矿池地址,比如3333、4444、14444这些常见矿池端口,那就是实锤了。第四看异常用户,检查etc passwd里有没有黑客新建的账号。
清除挖矿进程的完整步骤
确认中招后,清理要按顺序来,不然删了又会自动复活。第一步先切断定时任务,把crontab里的恶意条目全部删掉,同时检查etc下的cron.d、cron.daily等目录。第二步杀掉挖矿进程及其守护进程,有些木马会有互相守护机制,杀掉一个另一个会把它拉起来,这时候可以先把进程挂起,一起找到父进程后全部kill。第三步删除恶意文件,根据前面查到的路径,把tmp、var、dev等目录下的挖矿程序和脚本全部清理。第四步处理持久化后门,检查ssh密钥文件authorized_keys里有没有被写入陌生公钥,检查systemd服务、rc.local启动项。第五步检查rootkit,有些高级木马会替换系统命令来隐藏自己,可以用chkrootkit或rkhunter扫描一遍。最后修改所有账号密码,包括SSH、数据库和网站后台。
日常预防比事后清理更重要
清理完不代表结束,不做防护很快会再次中招。建议做好以下几点:所有对外服务改用复杂密码并尽量限制来源IP;Redis、Docker等服务不要裸奔在公网上,加上认证和访问控制;及时更新系统和组件补丁,尤其是那些被广泛利用的老漏洞;配置防火墙规则,只开放必要端口;有条件的话部署主机安全软件,可以实时拦截挖矿行为和异常进程。平时养成定期查看资源占用和计划任务的习惯,很多挖矿木马在初期就能被及时发现,拖得越久损失越大。
总的来说,门罗币挖矿木马本身不破坏数据,但它偷走的算力就是你的钱,还会拖垮正常业务。只要掌握了排查思路,通过CPU占用、进程路径、计划任务、网络外联这四条线索基本都能定位问题,再按流程彻底清理并加固服务器,就能有效避免反复中招。
发布于:2026-09-17,除非注明,否则均为原创文章,转载请注明出处。
