今年一个同事离职,交接给了我一个网站,网站域名是lqkfqrc.com。这个网站前几个月出过一些问题,有几次流量攻击导致服务器宕机,有两次网站被改了标题和关键词。今天接到网站,我习惯性地进行了一次安全检查,顺便把网站也备份一下。所以就有了接下来的木马清除记。
网站之前是在万网租用的服务器,因为流量超了上限,导致网站关停三次,被迫换了一个景安的VPS,换了之后倒是没有因为流量过大关站,但被篡改成赌博标题也严重影响了当时的网站排名。因为这个网站是花钱让别人做的,在服务期后技术人员也不再提供网站的维护,所以上次被挂马还是我们这边的编辑进行清除的。
废话说多了,直接进服务器看。我先在第一时间把数据库和网站源码进行了备份,又用织梦自带的数据库进行了一下备份,然后都下载到了本地。因为前同事离职前有一周歇年假,但这个网站在三天前竟然还有更新。所以先从这个最近更新的文件入手,查看一下。
经检测,这些文件都没有用,都是病毒生成的文件,准确地说是一个站群生成程序。不过这个肯定不是源头,继续再找。对于织梦程序来说,大多数漏洞都是来源于上传漏洞,于是我检查了uploads文件夹里每一个最新文件。结果发现了一个图片是刚刚生成的,就在我登录的时候。
这个名为dedecms.png的文件位于uploads/media文件夹里,直接是打不开的,可是用记事本打开后,发现它就是一个文本文件,里面写好了后台登录的路径和登录名、密码。那么这个文件是怎么来的呢?来查一下后台登录的文件。
不出意外,在dedecms的登录文件login.php中,找到了图中的两行代码,一个略懂php的人可以一眼看出file_put_contents这种写入函数,我立马对比从官网下载的dedecms安装包,果然这两行是后加上的。看来漏洞是找到了,删掉就好了。
虽然是找到了问题所在,但是这个文件是如何被改的呢?此文件修改日期是2018年11月15日,也就是说黑客在这一天之前就拿到了此文件的读写权限。考虑到他是用这个文件来获取管理员密码的,所以他在进行此项修改之前,是没有管理员密码的,线索似乎断了。怎么办呢?
通过服务器的IIS日志,我把线索接上了。在2018年11月15日的IIS访问日志上,访问login.php文件的前几秒,一个名为lndex.php的文件被访问过,细看这并不是我常见的默认首页,第一个字母是小写的L,而不是大写的I。我在根目录下的m文件夹里找到了它,打开看果然功能很强大,是一个类似于在线FTP的东东。
看这个文件的修改日期,竟然是2016年1月10日,跟一些系统文件的日期是一样的。因为我之前接触过一个木马是可以修改这个日期的,所以我很淡定。
看这个文件还是有密码的,用户名是admin,密码是xiaoer,登录之后就能管理文件。
于此同时,我发现了这个怪怪文件名的文件,kqv74zpji6.php,在这个m文件夹,不应该有这种随机名文件啊,难道也是?没错,这是另一款木马,不知道是不是同一个人种下的,按服务器里显示的时间是2018年7月3日就存在的。我想找一下当时的IIS日志,想到这个VPS是在9月17日才换的,看来是没办法了。
不过又在uploads/flink文件夹里找到了一个名为config.php的文件,内容如下:
这下真的没线索了,如果可以查找IIS日志,木马源头可能更容易定位,不过现在,只能逐个文件夹去查看了。不过我已经在官网修复了几个漏洞,并把查的以上问题都做了删除和修复,相信应该已经没事了吧。此次谢比特木马清除记就此结束。