redis因为没有配置密码而被种植了挖矿木马,附清理方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/diyiday/article/details/83755205

公司目前架构为exsi虚拟化平台,在一台物理机上面虚拟多个虚拟机,然后安装不同的业务,其中开发有需要安装redis的需求,因此给开发安装了一个基于docker的redis数据库。
由于当时开发那边没有密码的要求,所以当时就没有配置密码。因此隐患就来了。

一段时间后,发现公司连接机房的网络经常中断,3389远程连接中断,ssh连接断线重连,于是就开始排查问题,终于发现redis数据库中存在异常情况

发现异常

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

从上面的图,可以看出redis的数据明显是被串改了,然后填入了黑客的数据,并让redis定时执行一个黑客脚本。

如下的黑客脚本我已经下载一下了,有兴趣研究的同学,可以下载下来研究一下。地址如下:

https://shell-1251121573.cos.ap-guangzhou.myqcloud.com/tmp.tKOLZdySXb

处理异常

由于redis我是基于docker搭建,于是就删除了原来的redis容器,创建一个新的容器,并配置了密码。
这个操作对实体服务器并没有影响,我就没有在意多的事情,这个事情告一段落了。

发现新的问题

由于实体服务器有好多虚拟机,一段时间后,有部分虚拟机的cpu还有网络经常提示有异常。cpu占用100%,网络流量很大,定时任务经常被清空等等问题出现,我猜测可能是当时redis没有配置密码。导致其他弱口令的机器被批量扫描入侵了。然后种植了挖矿木马
于是一个个排查弱口令的机器。
终于在有的机器上面发现了异常情况,这台机器有大量的异常进程,cpu占用很高,网络流量也很大
通过

top -c

查看服务器cpu使用情况

在这里插入图片描述

发现进程pid为13427的明显有问题。后面带有一串不熟悉的网址。初步判断是挖矿木马

ps -ef  查看所有进程

在这里插入图片描述

发现了一堆的异常进程,这样cpu不耗尽才怪呢。

ifconfig 查看一下网络流量。简直是巨大,我说为什么我的ssh经常掉线呢,宽带都被挤没了

在这里插入图片描述

确定了 pid为13427进程有问题,于是就开始排查了

ll /proc/13427 

查看这个进程里面的的一些关联信息(由于13427进程id被我干掉了,有生成了新的13699进程,)

在这里插入图片描述

exe -> /var/tmp / user/sh

一般exe对应的就是执行的程序的路径,就像下面那个。对应 /usr/sbin/smbd

在这里插入图片描述

但是上面那个奇葩的路径什么鬼?一脸迷茫。

cd  /var/tmp/  user/sh  

根本进不去。

cd  /var/tmp/

进入这个目录也没有找到user/sh 这个文件路径啊,我顿时就迷茫了,难道病毒压根就没有这文件。
但是不可能啊,明明就指向这个路径,怎么可能没有呢,难道隐藏了?
执行了ls -a命令。也是没有发现任何隐藏的文件

在同事的提醒下,于是我进入到 /var/tmp/ 执行了ls- l命令。

在这里插入图片描述

一般的ll,只会显示 ./和…/路径,可是多出来一个/是什么东西。 如果不仔细,还真是发现不了。
于是就猜测,黑客可能是把文件夹名称通过转义隐藏了,导致我们在/var/tmp目录下执行 cd / 只会回到根目录,而压根进不去黑客隐藏的目录。

就在尝试了好多次都没有办法的时候,我突然想到,能不能通过给这个文件夹重命名呢,于是执行了如下命令

mv \ 111

就是把名字为\的文件夹重命名为111,结果奇迹出现了

在这里插入图片描述

重命名成功了。原来黑客利用了转移字符 \ 这个字符明明的文件夹,在linux下是不会显示任何东西的,只会显示一个空格。而你不会轻易发现。这个操作真是玩的很溜。

现在知道问题了,而且已经重命名了,接下来执行查看进程看一下

ll /proc/13427 

下面就显示正常了

exe ->/var/tmp/111/god/haiduc

这个路径就行黑客的木马路径了。然后果断删除这个111整个文件夹。然后整个系统的cpu和网络全部降下来了。

在这里插入图片描述

黑客还利用了定时任务,让木马每分钟的都启动

在这里插入图片描述

定时任务里面,也是隐藏了路径,开始看到这个路径,我也是一脸懵逼。

/var/tmp /user/miner

这样的奇怪的写法从来没有见过,在根目录下也找不到/user/miner这个路径。

后来其实只要看成下面的写法就可以理解。

	/var/tmp/\/user/miner

好了,病毒文件夹删除了,定时任务也清空了,接下来就开始排查其他服务器有没有什么问题了。

感谢开发的同事tim给我提供灵感,和我一起解决这个问题。其实清理这个木马的难点就是黑客使用了迷雾。使用转移字符转换了文件夹路径,导致好多人发现不了,这点实在是高明。

https://zhuanlan.zhihu.com/p/34587314

猜你喜欢

转载自blog.csdn.net/diyiday/article/details/83755205