Linux 挖矿病毒自救方案

Linux 挖矿病毒指南(检查 → 溯源 → 处理 → 防护)


一、挖矿病毒快速检查方法

1. 进程与资源占用检查

挖矿木马最典型特征是高 CPU/内存占用,优先排查:

bash 复制代码
# 按 CPU 排序查看前20个进程
ps aux --sort=-%cpu | head -20
# 实时监控资源占用
top -o %CPU
# 过滤挖矿关键词(xmrig/miner/sys-mon等)
ps aux | grep -E "xmrig|miner|sys-mon|kdevtmpfsi|dbus-" | grep -v grep

2. 网络外联检查

挖矿进程会连接矿池,通过网络连接定位外联行为:

bash 复制代码
# 查看所有网络连接,过滤 ESTABLISHED 状态
netstat -antlp | grep ESTABLISHED
# 或使用 ss 命令(更高效)
ss -tulnp | grep -v 127.0.0.1
# 查看指定进程的网络连接
lsof -Pan -p [可疑PID] -i

3. 定时任务与自启检查

挖矿木马常通过定时任务/服务自启复活:

bash 复制代码
# 查看当前用户定时任务
crontab -l
# 查看系统级定时任务
cat /etc/crontab
ls /etc/cron.d/ /etc/cron.hourly/ /etc/cron.daily/
# 查看 systemd 自启服务
systemctl list-unit-files --type=service | grep enabled
ls /etc/systemd/system/

4. 文件与目录检查

挖矿木马常藏在临时目录或伪装成系统文件:

bash 复制代码
# 检查临时目录
ls -la /tmp /var/tmp /dev/shm
# 查找可疑二进制文件
find / -name "*miner*" -o -name "*xmrig*" -o -name "*sys-mon*" 2>/dev/null
# 查看最近修改的文件(按时间排序)
find / -type f -mtime -1 2>/dev/null | head -30

二、溯源根因(定位主进程与启动入口)

1. 进程树溯源

通过进程树找到父进程/主进程,定位启动源:

bash 复制代码
# 查看完整进程树
pstree -p
# 查看指定进程的父进程链
pstree -p [可疑PID]
# 查看进程的父PID
ps -o ppid= -p [可疑PID]

2. 内核模块检查(隐藏型挖矿)

部分高级木马会加载内核模块隐藏进程:

bash 复制代码
# 查看已加载内核模块
lsmod
# 过滤可疑模块(名字异常、无说明)
lsmod | grep -v "_" | head -20
# 检查模块加载日志
dmesg | grep "module"

3. 可执行文件与启动配置溯源

找到恶意进程的真实路径与启动配置:

bash 复制代码
# 查看进程对应的可执行文件
ls -l /proc/[可疑PID]/exe
# 查看进程的启动命令行
cat /proc/[可疑PID]/cmdline
# 检查 systemd 服务配置
systemctl status [可疑服务名]
cat /etc/systemd/system/[可疑服务名].service

4. 日志溯源(定位攻击入口)

通过系统日志找到攻击源与入侵路径:

bash 复制代码
# 查看 SSH 登录日志(定位暴力破解)
cat /var/log/auth.log | grep -E "Failed password|invalid user"
# 查看系统日志
journalctl -xe --since "1 day ago"
# 查看 apt 操作日志(排查是否被篡改)
cat /var/log/apt/history.log

三、病毒处理与清除

1. 终止恶意进程

bash 复制代码
# 强制终止进程(-9 不可忽略)
kill -9 [可疑PID]
# 批量终止所有相关子进程
pkill -f [恶意进程名]

2. 删除恶意文件与自启入口

bash 复制代码
# 删除恶意可执行文件
rm -f /path/to/malicious/file
# 删除 systemd 服务
systemctl stop [恶意服务名]
systemctl disable [恶意服务名]
rm -f /etc/systemd/system/[恶意服务名].service
# 删除定时任务
crontab -e  # 手动删除恶意行
rm -f /etc/cron.d/[恶意任务文件]

3. 清理残留与加固

bash 复制代码
# 清理临时目录
rm -rf /tmp/* /var/tmp/*
# 检查并删除可疑用户
cat /etc/passwd | grep -E "miner|sys|logs"
userdel -r [可疑用户名]
# 重置 root 密码(防止后门)
passwd root

4. 恢复误删依赖(若清理时误删)

bash 复制代码
# 从 apt 日志恢复本次 autoremove 误删的包
apt update && apt install -y $(grep -A500 "Command: apt autoremove" /var/log/apt/history.log | grep "Removing" | awk '{print $2}')

四、安装与使用杀毒软件

1. ClamAV(开源免费,适合服务器)

安装

bash 复制代码
apt update
apt install -y clamav clamav-daemon
# 更新病毒库
freshclam

使用

bash 复制代码
# 全盘扫描(推荐)
clamscan -r / --exclude-dir="^/sys" --exclude-dir="^/proc" --exclude-dir="^/dev"
# 扫描指定目录
clamscan -r /home /tmp
# 后台守护进程扫描
systemctl start clamav-daemon
systemctl enable clamav-daemon

2. rkhunter(检查 rootkit 与后门)

安装

bash 复制代码
apt install -y rkhunter

使用

bash 复制代码
# 检查系统
rkhunter --check
# 查看报告
cat /var/log/rkhunter.log

3. chkrootkit(轻量 rootkit 检测)

安装

bash 复制代码
apt install -y chkrootkit

使用

bash 复制代码
chkrootkit
相关推荐
碧海银沙音频科技研究院19 分钟前
基于VMware虚拟机ubuntu开发博通BK7258方法
linux·运维·ubuntu
云边有个稻草人3 小时前
【Linux系统】进程地址空间
linux·虚拟地址空间·进程地址空间·虚拟地址空间是怎么实现的?·为什么要有虚拟地址空间?·怎么理解虚拟地址空间?
谁似人间西林客5 小时前
工厂大脑如何让汽车制造告别“救火式”运维?
运维·汽车·制造
飞飞传输5 小时前
数字化科研提速关键 构建安全可控一体化跨网数据传输体系
大数据·运维·安全
wanhengidc5 小时前
服务器中带宽的重要性
运维·服务器·网络·安全·web安全
云游牧者7 小时前
K8S故障排查三板斧-CSDN博客
运维·docker·云原生·kubernetes·k8s·容器化·故障排查
程序员老邢7 小时前
【技术底稿 32】Nginx 经典大坑复盘:本机公网域名自环代理,导致接口返回首页 / 404 实战排障
java·运维·nginx·前后端分离·技术底稿·后端部署
忧云7 小时前
开源 SSH 客户端 Netcatty:免费替代 Termius,带 AI 的现代化运维工具
运维·开源·ssh
想唱rap8 小时前
传输层协议TCP
linux·运维·服务器·网络·c++·tcp/ip
曦夜日长8 小时前
Linux系统篇,权限(二):缺省权限、最终权限的计算、文件隔离的两种方式
linux·运维·服务器