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
相关推荐
wanhengidc2 小时前
服务器 网络科技运行
运维·服务器
鹿鸣悠悠2 小时前
AI自动化编写自动化脚本
运维·自动化
another heaven2 小时前
【软考 DES与AES加密算法详解(原理、特点、流程、对比)】
运维·服务器·网络
黑蛋同志2 小时前
Ubuntu安装llama.cpp
linux·ubuntu·llama
Dovis(誓平步青云)2 小时前
《 One-KVM 的硬件级远控方案,通过 玩客云 等廉价硬件实现 视频信号采集 + 键鼠模拟 + 虚拟 USB》
运维·前端·网络·ai编程
Lz__Heng2 小时前
VCSA服务器手动清除HA配置
运维·vmware
桌面运维家2 小时前
服务器负载均衡:策略选择与Session一致性保障指南
运维·服务器·负载均衡
yy_xzz2 小时前
【Linux开发】 Linux 信号处理——预防僵尸进程
linux·运维·信号处理
dustcell.2 小时前
企业级高可用电商平台实战项目设计
运维·redis·nginx·docker·web·lvs·haproxy