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
相关推荐
uesowys7 分钟前
CentOS Linux安装部署OpenClaw
linux·centos·安装部署openclaw
IMPYLH17 分钟前
Linux 的 rm 命令
linux·运维·服务器·网络·bash
YIN_尹34 分钟前
【Linux系统编程】进程地址空间
linux·c++
white-persist1 小时前
【vulhub shiro 漏洞复现】vulhub shiro CVE-2016-4437 Shiro反序列化漏洞复现详细分析解释
运维·服务器·网络·python·算法·安全·web安全
代码中介商2 小时前
手把手教你Linux 打包压缩与 gcc 编译详解
linux·运维·服务器·编译·打包·压缩
longerxin20202 小时前
阿里云AlmaLinux操作系统允许root登录配置步骤
linux·服务器·阿里云
独小乐2 小时前
019.ADC转换和子中断|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·mcu·arm
HYNuyoah2 小时前
docker 安装win10系统
运维·docker·容器
liulilittle2 小时前
Prompt for OpenCode + CodeX-5.3:多个重型任务交付给AI自动化完成
运维·自动化·prompt
GottdesKrieges3 小时前
OceanBase租户级物理恢复
linux·oceanbase