Linux 为什么没有服务器端病毒?为什么都是针对桌面端或者浏览器攻击?
作者:卡卷网发布时间:2024-12-01 20:25浏览数量:118次评论数量:0次
1 导语
最近在做性能测试时,发现一台服务器的性能很差,一排查才发现原来是中了挖矿病毒,通常来说,服务器中病毒后,最快速的处理方式就是重装系统,但对于运行着重要业务的系统来说,重装系统较为麻烦。本文主要介绍Linux服务器上挖矿病毒的排查和查杀过程。
2 病毒排查
通常来说挖矿病毒主要是利用服务器的cpu或gpu资源来进行挖矿,所以我们可以通过top、htop、nvidia-smi等命令来判断cpu、或gpu资源利用率是否异常。比如下图为服务器的cpu利用率,可以看到大部分cpu的使用率都是100%
同时可以使用ps命令来判断是否有异常进程,使用netstat或ss命令判断有没有异常的网络连接,使用lsattr命令检查是否有文件被上锁。
通常一些病毒都会对上面提到的这些命令做一些修改,让你无法正常的进行排查,这时候可以找一台同版本操作系统把相关的命令文件直接拷贝过来。比如我这台服务器在检查时就发现把ps、top、chattr、reboot、shutdown等命令都做了修改或加了锁
在用htop的时候发现,这病毒占用了服务器50%的cpu资源,这主要是因为这个病毒利用cgroup对运行的病毒程序做了资源限制,保证病毒程序不会把服务器的资源占满,让服务器管理员不易察觉到服务器中毒,不得不说,这病毒考虑的还挺周到。
使用netstat检查发现有一个异常的网络连接
一查发现这个地址是一个国外的矿池,因此确认是中了挖矿病毒
3 病毒查杀
该病毒进程使用top和ps命令无法正常看到,需要使用sysdig命令来找出系统中使用率最高的进程
sysdig -c topprocs_cpu
可以看到286962这个进程cpu使用率最高,占用了40个cpu的资源,跟我们前面用htop观察到的一致
根据进程id找到对应的进程文件,可以看到该进程是一个已经被标记为deleted的文件,因此使用ps和top命令是看不到的
根据进程找到具体的服务信息,可以看到进程使用了cgroup做资源限制,同时对应的service为71028928.service
查看service文件可以找到具体的病毒文件
将病毒文件及对应的service文件删除,再kill掉病毒进程
再重点查找一下是否有autorestart的服务,确认是否有异常的病毒服务,如有,进行清理
到此,病毒清理完成,可尝试重启服务器看病毒是否还有残留
4 使用脚本清理病毒
关注公众号singless,后台回复bd可获取病毒清理脚本。
脚本目前只适配了ubuntu22.04,如需在其他操作系统使用,需自行修改脚本文件。
脚本目前提供4个功能,cpu使用率最高的进程查询、病毒服务清理、恢复被病毒修改的文件。
解压脚本,并执行
bash virus_killer.sh
按提示输入1、2、3、4执行不同的功能。按1会查找系统中cpu使用率最高的进程,并打印出对应的进程id,按y可将该进程清理,按n取消操作。
病毒服务清理,按2进行病毒服务清理操作,会列出服务器中疑似病毒的服务,选择服务对应的序号会将选择的服务对应服务名、服务路径及运行的进程打印出来,按y可执行清理操作。按n可取消操作
文件恢复,执行脚本,按3执行文件恢复操作
关注公众号 singless,获取更多有价值的文章
免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。
相关推荐

你 发表评论:
欢迎