实操案例

kswapd0病毒

症状

体现为CPU占用高,htop显示占用最高是一个kswapd0进程

查杀

CPU挖矿病毒伪装为kswapd0进程


根目录硬盘空间异常

症状

根目录被占满,即使清理出新的空间也很快被重新占满;

检查硬盘占用发现有一大块空间「消失」了(df和du对不上)

查杀

该病毒生成大文件后用进程占住文件句柄,然后删除该文件,因此在文件系统看不到(du)这个大文件。可以用:

sudo lsof |grep deleted |grep -v /dev/shm

来查找消失的文件,参考https://zhuanlan.zhihu.com/p/656743621 进行删除(/dev/shm的文件不用管)。删除完后参考这里进行清理。

另外有一种情况lsof并查找不到大文件,可以重启一下看看有没有文件出现在系统程序堆里(可以用du找到)


CPU被占但看不到进程

症状

CPU高占用(通常正好是占用物理进程数那么多,所以有超进程的cpu上htop体现为正好占了一半的core);且htop没有显示高占用的进程

查杀

参考https://blog.csdn.net/weixin_43693967/article/details/134572130

  1. sysdig -c topprocs_cpu,可以发现病毒进程号(需要安装sysdig,ubuntu18前需要docker)

  2. 检查 /etc/sysctl.conf 如果该文件只有一行 fs.file-max == 2097152 则大概率被隐藏 文件 / 进程 类病毒感染,注释掉这一行并执行 sysctl -p

  3. 检查服务 systemctl list-units --type=service --all 检查异常服务 例如 : 服务名称中出现连续随机数字字符 (UNIT列) 服务自动重启(auto-restart) (SUB 列)

  4. systemctl status 异常服务名 ,例如 systemctl status yayaya91556176.service

其实通常用sysdig后就可以直接顺着进程号看ls -l /proc/PID/来找到恶意程序的位置了,然后删除程序、kill掉进程即可


kill不掉的-bash进程

症状

CPU高占用,htop显示很多-bash进程,kill掉之后会不断地继续产生

查杀

实际案例:

  • 查看htop,占cpu很大的是若干-bash进程。以用户david为例,其中TIME最大的应该是父进程

  • 父进程进程号12804,在root用户查看/proc/12804,其中运行的脚本位于/var/tmp/.cache/java

  • 父进程号会不断变化,又没有看到守护进程,可能是cron定时程序:在david用户查看crontab -l,看到/var/tmp/.cache/upd的定时程序

  • 删掉/var/tmp/.cache/文件夹,新建一个readonly的占位文件夹;kill掉所有-bash进程

Last updated