记一次处理Gitlab漏洞引起的挖矿病毒处理

shell   2023-02-03 10:05   4927   0  

最近心血来潮想起自己在阿里云的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了我的项目,后续再观察有没有反弹吧

博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。