最近心血来潮想起自己在阿里云的ecs主机很久没登录上去看看了,就抽空登上去看看
突然发现我啥也没运行,自己搭建的个人网站也没人访问,这个CPU怎么一直稳定在30%的消耗?
好奇的我就用top命令查看了一下,看到是Gitlab子进程exe一直在占用CPU
一开始我以为是Gitlab在后台一直启动了什么任务,我就直接杀掉该进程了
没想到过一会儿这个进程进程又自动恢复了
咦?我记得我刚安装好的Gitlab不这样的啊
所以百度查了一下这个,结果就看到了这个文章:Gatlab 10.4.6中挖矿病毒处理与升级过程记录
该文章的描述的情况与自己的情况一模一样
该文章大致意思是说低版本GItlab没有修复的漏洞造成的被别人投入挖矿病毒了
看了一下自己的服务器,当时为了省事就在宝塔上安装了中文版的Gitlab,版本才8.x,最新的已经到了12.x了
得,现在升级也来不及了,先处理病毒吧
按照文章的方法,查看了进程关联文件以及父进程等,发现运行文件隐藏了,不太好找
文章说的用busybox找到所有类似进程并杀掉发现自己又没安装这个命令,想着这个步骤貌似不是很麻烦就自己动手写一个脚本吧
大致思路如下:
1、扫描所有进程下exe链接/tmp/kami (deleted),返回进程号
2、杀掉进程
3、清理整个Gitlab旧版本文件目录(病毒文件很大可能就在里面)
4、重新安装最新版本Gitlab
因为是个人Gitlab,电脑上也有本地库且是最新的,就没有备份之前提交的文件和做Git项目迁移了,安装完最新Gitlab重新push一下项目就可以了
编写的脚本如下(很简单的一个脚本):
#!/bin/sh proc_dir=/proc for i in `ls $proc_dir` do if [ $i -gt 1 ] 2>/dev/null;then a=`ls -l $proc_dir/$i |grep "/tmp/kami (deleted)"` if [ $? -eq "0" ];then echo "找到相关进程:$i" echo "清理进程:$i" kill -9 $i fi fi done
将以上代码放入文件,授予执行权限,然后执行就好了
然后我在宝塔上面卸载了中文版的Gitlab,安装了最新版本的Gitlab,重新push了我的项目,后续再观察有没有反弹吧