特别福利:火山引擎新用户云服务器特惠通道 一、问题背景:xmrig 是什么?为什么会被入侵? 1.1 xmrig 的本质
xmrig 是合法的 Monero(门罗币)挖矿工具,但常被黑客恶意利用:通过弱口令、未修补漏洞、恶意脚本等入侵服务器,将其变为「肉鸡」,偷偷占用 CPU / 内存挖矿,导致服务器性能暴跌、电费暴涨,甚至被封禁。 1.2 典型感染症状
当服务器出现以下情况,大概率已被 xmrig 入侵:
CPU / 内存异常占用:top/htop 查看,CPU 持续 100%(多核全满),内存占用飙升; 陌生进程:ps aux 发现 xmrig/minerd/kdevtmpfsi/monero 等挖矿进程; 异常端口:netstat -tulpn 出现陌生端口(如 3333、4444、8080,挖矿常用); 自启动项异常:crontab/systemd 有定时执行挖矿脚本的任务; 系统文件异常:/tmp//var/tmp//root 下有陌生可执行文件(如run.sh/xmrig.bin)。
二、详细清除步骤(Step by Step)
⚠️ 重要提示:清除前请备份重要数据!避免误删系统文件。 Step 1:终止挖矿进程
查看挖矿进程: ps aux | grep -E ‘xmrig|minerd|kdevtmpfsi|monero’
输出示例(含 PID:1234、5678): root 1234 99.0 2.0 102400 20480 pts/0 R+ 10:00 0:30 xmrig root 5678 98.0 1.5 81920 15360 pts/1 R+ 10:01 0:25 minerd
强制终止进程: kill -9 1234 5678 # 替换为实际PID
验证终止: ps aux | grep -E ‘xmrig|minerd’
若仅显示grep自身进程,则成功终止。 Step 2:清除自启动项(关键!避免重启复活)
挖矿病毒会通过crontab、systemd、开机脚本实现自启动,必须彻底清除: 2.1 检查并删除 Crontab 定时任务
Crontab 是最常见的自启动方式(每分钟执行挖矿脚本):
查看所有用户的Crontab(含root)
for user in $(cat /etc/passwd | cut -d: -f1); do crontab -u $user -l 2>/dev/null; done
异常任务示例:
-
-
-
-
- /tmp/run.sh # 每分钟执行挖矿脚本
-
-
-
删除方法:
编辑当前用户Crontab(root下执行)
crontab -e
删掉异常行,保存退出(按ESC→:wq)
2.2 检查并禁用 Systemd 服务
部分病毒会注册为 Systemd 服务:
查看挖矿相关服务
systemctl list-unit-files –type=service | grep -E ‘xmrig|minerd’
停止并删除服务:
停止服务
systemctl stop xmrig.service
禁用自启动
systemctl disable xmrig.service
删除服务文件(注意路径,部分在/usr/lib/systemd/system)
rm -rf /etc/systemd/system/xmrig.service
重载Systemd
systemctl daemon-reload 2.3 检查开机启动脚本
rc.local: cat /etc/rc.local # 看是否有陌生执行命令
init.d 脚本(Debian/Ubuntu): ls /etc/init.d/ | grep -E ‘xmrig|minerd’ rm -rf /etc/init.d/恶意脚本名 update-rc.d 恶意脚本名 remove # 移除开机启动
Step 3:删除挖矿相关文件
病毒会将挖矿程序藏在临时目录或家目录,需彻底删除:
搜索挖矿文件(排除/proc、/sys等系统目录)
find / -name “xmrig” -o -name “minerd” -o -name “kdevtmpfsi” -o -name “monero” -o -name “*.sh” | grep -v “proc” | grep -v “sys”
常见藏文件目录:
/tmp//var/tmp(临时目录,易被忽略) /root//home/用户名 /opt//usr/local
删除方法:
rm -rf /tmp/xmrig /tmp/run.sh /root/minerd # 替换为实际找到的文件 Step 4:清除恶意用户 / 权限
部分病毒会创建陌生用户并赋予 sudo 权限:
查看所有用户
cat /etc/passwd
删除陌生用户(-r删除家目录)
userdel -r 恶意用户名
检查sudoers(避免陌生用户提权)
cat /etc/sudoers | grep -v “root” # 看是否有异常权限 Step 5:修复系统漏洞(根源!避免再次感染)
若漏洞未修,下次还会被入侵,必须做: 5.1 升级系统和软件
Debian/Ubuntu: apt update && apt upgrade -y
CentOS/RHEL: yum update -y # 或 dnf update -y
⚠️ 生产环境注意:升级前备份数据,避免服务异常! 5.2 强化 SSH 安全(最常见入侵入口)
禁用密码登录,用密钥对: 本地生成密钥:ssh-keygen -t ed25519(按提示操作) 传公钥到服务器:ssh-copy-id -p 22222 用户名@服务器IP 修改/etc/ssh/sshd_config: PasswordAuthentication no # 禁用密码 PubkeyAuthentication yes # 启用密钥 PermitRootLogin no # 禁用root直接登录 Port 22222 # 改默认端口(避免22被扫)
重启 SSH:systemctl restart sshd 安装 fail2ban 防暴力破解:
Debian/Ubuntu
apt install fail2ban -y systemctl enable –now fail2ban
5.3 配置防火墙(仅开放必要端口)
ufw(Debian/Ubuntu): ufw allow 22222/tcp # SSH ufw allow 80/tcp # HTTP ufw allow 443/tcp # HTTPS ufw enable # 启用防火墙
firewalld(CentOS): firewall-cmd –permanent –add-port=22222/tcp firewall-cmd –reload
Step 6:验证清除是否成功
重启服务器:reboot(必须重启,确保自启动项生效) 重启后检查: 进程:ps aux | grep -E ‘xmrig|minerd’(无异常) CPU:top(占用正常,无满负荷) 端口:netstat -tulpn(无陌生端口) Crontab:再次检查所有用户的定时任务 三、常见问题解决
找父进程:ps -ef | grep 进程名,查看PPID(父 PID),先杀父进程:kill -9 父PID 可能是rootkit:用rkhunter/chkrootkit检查(需安装): apt install rkhunter -y && rkhunter –check
自启动项未清干净:重新检查crontab/systemd/rc.local 系统文件被篡改:用md5sum验证关键文件(如/bin/bash),或重装系统(彻底解决) 四、后续安全注意事项(必看!)
清除只是第一步,加固才是根本:
定期监控:用zabbix/prometheus+grafana监控 CPU、内存、端口,异常告警; 禁止 web 服务执行恶意脚本: PHP 禁用exec/system等危险函数; Nginx 禁止上传目录解析 PHP(location ~ ^/upload/.*.php$ { deny all; }); 不用 root 运行应用:应用用普通用户启动,必要权限再赋予; 定期备份:重要数据备份到本地 + 异地,防止被加密(部分病毒会勒索); 禁用不必要的服务:如telnet/ftp(用sftp替代)。 五、总结
清除 xmrig 的核心逻辑是: 断进程 → 清自启动 → 删文件 → 堵漏洞 → 加固安全
仅删进程没用!必须彻底清除自启动项 + 修复漏洞,否则会反复感染。
如果有其他问题,欢迎留言交流!
网硕互联帮助中心





评论前必须登录!
注册