jQuery技术

Pastebin Hacking新姿势:使用jQuery替换进行恶意软件传播

字号+ 作者:H5之家 来源:H5之家 2016-02-05 14:00 我要评论( )

随着各种网络技术不断发展,黑客对于网站攻击也总是不断变换策略以及通过互相之间的交流来改进攻击技术。而事实上就

随着各种网络技术不断发展,黑客对于网站攻击也总是不断变换策略以及通过互相之间的交流来改进攻击技术。而事实上就目前网站安全方面,面临的挑战主要也正是来自于攻击技术不断的演进,使得防御也需不断升级。在之前也发布过《恶意软件新玩法:隐匿在Pastebin上的后门》,而这一次,我们将展示一种新的攻击方法,是通过结合上述的技术,使用伪造的jquery Pastebin文件来进行恶意软件传播。

FreeBuf百科:Pastebin

Pastebin,官网地址为,在PasteBin上的可以将代码、文本进行粘贴并存储好,比如在Paste文本框内贴好文本、代码,并选择类型,比如截图中的css,再点击submit,就会自动上传并获得分享地址。通过这种方式,我们可以很好地进行代码或者其他文本的分享。

恶意链接的发现

早在几个星期之前,SuCuri安全团队通过SiteCheck开始检测扫描WordPress的站点,但在通过逆向分析某个WordPress网站的/wp-includes/js/jquery/jquery.js以及/wp-includes/js/jquery/jquery-migrate.min.js文件中的JavaScript代码时发现,出现某些不属于原始文件的代码,我们可以在下面检测到受感染的jquery文件的截图中看到,相应的URL其实是被写在 payload里面的。

从上面的分析结果来看(其中 war/moc.nibetsap//:ptth反过来过来的网址是),上述的两个文件被注入了从 Pastebin加载进来的恶意脚本。在之前,我们在infected Magento sites的案例中也有了解到类似的攻击方式。那么,从某种程度上来说,这两个攻击案例是相关联的。不过,这个WordPress的感染方式更加有趣,所以也让我们仔细看看先前检测到的Pastebin链接。

成对出现的Paste

jquery.js 和 jquery-migrate.min.js这两个文件是WordPress的核心文件。一般来说,黑客在获得访问网站的访问权限后,有时会选择将上述文件的内容替换成恶意代码,实现跨站攻击。

在这个案例中,我们可以发现,

1、攻击者向 jquery.js文件嵌入的恶意脚本是从以下网址加载的(成对出现),

hxxp://pastebin .com/raw/HC90NJsp hxxp://pastebin .com/raw/dWe3gcb5 (or hxxp://pastebin .com/sE8cX1Pi)

2、向jquery-migrate.min.js文件嵌入的恶意脚本则是通过以下网址加载的,

hxxp://pastebin .com/raw/WMMc4sS8 hxxp://pastebin .com/raw/rDiH4Bjy

现在我们对于这些成对的Pastebin链接可能会产生一些问题。

1、为什么攻击者会注入两个脚本? 2、为什么攻击者会将合法代码从WordPress的核心文件中移除? 3、它不会对被感染的网站造成破坏么?

以上的问题我们将在下面通过分析来找到答案。

链接中的 Pastebin内容

让我们先剖析下每对 Pastebin链接的内容,

HC90NJsp 实际上是jQuery (v1.11.3)的原始源码,它相对应的链接,dWe3gcb5却是一个恶意脚本,会将访问者重定向到hxxps://goo .gl/54Miz5 同样的, WMMc4sS8是 jQuery Migrate库的原始脚本,它相对应的链接rDiH4Bjy也是一个恶意脚本,会将访问者重定向到hxxps://goo .gl/54Miz5或者 hxxp://get .adobe.com .flashplayer .frogsland .com/flashplayer_20ga/上

那现在我们了解了,在此案例中,黑客获取访问权限后,会将jQuery库文件移除,而在每一个感染 WordPress jQuery文件的脚本中,第一个感染的Pastebin脚本是用于补充此前移除的 jQuery原始代码,而第二个脚本则用于植入恶意程序。

目前尚不清楚为何攻击者要先移除现有的代码,再从Pastebin加载进去。比较有可能的是,这样会使得恶意程序的感染以及二次感染更容易。攻击者在实施攻击时还是需要检查是否 .js文件已经感染成功,而通过将全部代码都更换,来确保恶意程序的成功感染。因为jQuery代码被嵌入到攻击的脚本中的话,会导致攻击脚本会相当长,所以攻击者想到了通过将 jQuery库文件保存在 Pastebin上,然后只提供一个额外的调用。

Pastebin用户信息

经过对pastebin上的paste内容的追踪,我们发现,上述调用的paste所属的用户并不是匿名的,有两个用户是跟它有关联的。

Emonostin –资料显示该用户创建于2015年12月2日 Jstoolshope – 资料显示该用户则创建于2015年12月17日

再经过研究发现,两个用户都只有两个paste, 而其中Emonostin的pastes是用于加载到 jquery-migrate.min.js文件中,而Jstoolshope的pastes是用于加载到 jquery.js文件的。

那么到这里,我们也会产生疑问,为什么攻击者会选择使用经过注册的用户账户来进行文件的加载。首先,因为这样会显得更灵活,攻击者可以针对自己的pastes内容进行随时更换。比如,如果黑客需要重定向URL,那么就可以直接在paste里面的代码做。下图为恶意程序在pastebin.com上的修改时间,

其实在Pastebin上,针对每一个paste 也提供了关于浏览次数的统计信息。我们看到,jquery.js 的两个paste的浏览次数均为20,000+,而 jquery-migrate.min.js的两个相关的paste则有接近 40,000的浏览量。乍一看,这种情况似乎又很合乎逻辑,上述提到的两个成对的paste浏览量都是接近的。到这里,我们也会猜测,是不是植入恶意程序的.js脚本在paste有浏览记录的同时也会被下载。但是,从 pastebin FAQ社区的回复说,关于Pastebin上paste的浏览统计量,并不仅仅只是针对paste下载的次数。所以从Pastebin的计数数据来看,并不能准确评估攻击的次数。但为了获取更加可靠的统计数据,我们可以看goo.gl的重定向情况。

恶意代码

现在让我们看回恶意代码,经过具体的分析,我们发现它会检查 “tmid_no_session”(在一个版本中)以及“tmid_no_check”(另外一个版本) cookie 的状态。如果 cookie中的状态是设置为“1”,那么则不会返回信息给到访问者。但接着脚本会将cookie状态设置为“3”,并将访问者重定向到第三方网址。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评
a