辅助工具

工具名称 用途 安装方式
rkhunter 检测rootkit、挖矿木马 apt install rkhunter
chkrootkit 检测隐藏进程与后门 apt install chkrootkit
clamav 全盘病毒扫描 apt install clamav

通用

确认进程

  1. 输出高CPU进程
    检查是否有名为 java、python、bash、sshd、kworker 等伪装进程
    1
    ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | head -n 20
  2. 检查进程实际路径
    如果路径指向 /tmp/.X11-unix/…、.font-unix/、.configrc5/ 等,极可能是挖矿木马
    1
    ls -l /proc/$PID/exe

检查网络连接是否连向矿池

检查是否有陌生的外联地址

1
sudo netstat -antlp | grep ESTABLISHED

可使用 情报社区VirusTotal 查询IP是否为矿池

排查计划任务与启动项

系统 自启 计划任务
Ubuntu systemctl list-unit-files --state=enabled crontab -l && systemctl list-timers
CentOS/RHEL systemctl list-unit-files --state=enabled crontab -l && systemctl list-timers
Windows reg query "HKLM\...\Run" schtasks /query
macOS ls ~/Library/LaunchAgents/ launchctl list && crontab -l
FreeBSD service -e crontab -l && ls /etc/periodic/

自启动和计划任务查询方法

查找隐藏文件与目录

1
find / -type d -name ".*" 2>/dev/null | grep -E ".configrc5|.X|.font|.opt|.rsync"

终止进程并清理

  • 解除文件锁定
    1
    chattr -i /path/to/file
  • 清理
    1
    2
    kill -9 $PID
    rm -f /path/to/miner/binary

kdevtmpfsi

kdevtmpfsi 是一种极其顽固的挖矿病毒,它并不是单独运行的,而是由一个名为 kinsing 的守护进程不断复活,并通过定时任务和隐藏机制反复生成。

断网防止复活下载

1
2
3
# 临时断掉外网出口(保留SSH)
iptables -A OUTPUT -p tcp --dport 80 -j DROP
iptables -A OUTPUT -p tcp --dport 443 -j DROP

解除隐藏机制

该病毒会利用 /etc/ld.so.preload 隐藏进程,导致 top 看不

1
2
3
4
5
6
# 查看是否被篡改
cat /etc/ld.so.preload

# 如果有内容(如 /etc/libsystem.so),先备份后清空
cp /etc/ld.so.preload /etc/ld.so.preload.bak
> /etc/ld.so.preload

这次尝试重启系统后,就恢复了真身

杀掉所有相关进程

1
2
# 杀掉 kdevtmpfsi 和 kinsing 进程
ps aux | grep -E 'kdevtmpfsi|kinsing' | awk '{print $2}' | xargs kill -9

删除文件本体

1
2
3
4
5
6
7
# 全盘查找并强制删除
find / -type f -name "kdevtmpfsi" -exec rm -f {} \;
find / -type f -name "kinsing*" -exec rm -rf {} \;

# 常见路径
rm -rf /tmp/kdevtmpfsi
rm -rf /var/tmp/kinsing

清除定时任务与启动项

1
2
3
4
5
6
7
# 查看并删除定时任务
crontab -l
crontab -r # 清空所有定时任务(谨慎操作)

# 检查系统级定时任务
rm -f /var/spool/cron/root
rm -f /etc/cron.d/*kinsing*

检查 SSH 被植入的公钥

1
2
ll ~/.ssh
# 如果发现陌生公钥,直接清空该文件

加固

项目 操作
Redis 关闭外网访问,设置强密码,禁用 CONFIG 命令
SSH 禁用密码登录,改为密钥登录,修改默认端口
Web服务 禁用 exec/system/shell_exec 等危险PHP函数
定时监控 安装 fail2banclamav 或云安全中心