实操案例
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:
用
sysdig -c topprocs_cpu
,可以发现病毒进程号(需要安装sysdig,ubuntu18前需要docker)检查 /etc/sysctl.conf 如果该文件只有一行 fs.file-max == 2097152 则大概率被隐藏 文件 / 进程 类病毒感染,注释掉这一行并执行 sysctl -p
检查服务 systemctl list-units --type=service --all 检查异常服务 例如 : 服务名称中出现连续随机数字字符 (UNIT列) 服务自动重启(auto-restart) (SUB 列)
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