商务合作: on9gcn@163.com skype: sam793561805

一个Banner就感染了上百万PC,雅虎、MSN等大型网站都中招

admin 2016-12-9 15:213 人围观, 发现评论数0个

简介 :一个广告Banner,不需要任何交互就能让你的PC感染恶意程序,是不是感觉很牛掰?据说就目前为止,已经有上百万PC因为这样的原因被感染。而且很多大型网站似乎都中招了,其中就包括雅虎和MSN,如果你最近看到过下面这 ...

一个广告Banner,不需要任何交互就能让你的PC感染恶意程序,是不是感觉很牛掰?据说就目前为止,已经有上百万PC因为这样的原因被感染。而且很多大型网站似乎都中招了,其中就包括雅虎和MSN,如果你最近看到过下面这样的广告,就真的要小心了!注意,只是看到就要小心。

像素中的恶意代码

安全公司ESET的恶意软件研究专家在本周二发布了报告,将这个Exploit Kit称为Stegano。Stegano可以将恶意代码嵌入banner广告的像素中,而这些banner广告通常都在一些广为人知的大型网站上,每日访问量超百万。按照ESET的说法,很多是新闻类媒体网站。

Stegano第一次出现可以追溯到2014年,但是从今年10月初开始演变成了如今这种利用banner广告在各大型网站传播的方式。

Stegano这个名字衍生于Steganography(隐写术)这个词,这门技术其实是通过一些技术手段将信息或内容隐藏在一些数字图像之中,因为肉眼不可见而实现所谓的隐形效果。

其实Stegano是将恶意代码隐藏在透明PNG图像的阿尔法通道(Alpha Channel)之中,学设计的同学应该知道,图像的Alpha通道可以通过更改每一个像素的透明度值来定义它们的透明程度。而恶意代码的传递竟然是通过Alpha通道的值来传递的,实在是相当高端。接下来,就如大家所知道的那样,有人将这个包装后的恶意广告部署在了一些流量较大的主流网站上。

微信截图_20161208145523.png

从左到右依次为初始版本;恶意版本和为了演示效果的恶意版本增强型

“由于这种修改十分细微,被恶意修改过的广告跟初始版本看起来基本没有什么差别。”

能看出来下面这两张图哪张是原图,哪张含恶意代码么~

微信截图_20161208154526.png

专家还提到,这些恶意广告会显示名为Browser Defence或者Broxu的软件宣传内容,隐蔽性极强!最近浏览大型网站,如果你也看到这两个软件的广告了,那就得警惕起来了!

“这些banner广告位于URL为hxxps://browser-defence.com或hxxps://broxu.com的远程域。”

发起了这次攻击的组织叫做AdGholas,他们擅长使用一些有效的技术手段来通过广告传播恶意软件,即大家所知道的恶意广告。他们上次实施攻击就在7月,仅在一天内就利用恶意软件感染了超过一百万PC。

Malwarebytes恶意软件情报分析的负责人Jerome Segura提到,在短时间内阻止AdGholas的攻击还是可能实现的,但他们很快就可以利用在线广告的其他安全漏洞继续发起攻击。从Segura的观察来看,受灾的网站至少就包括了雅虎和MSN。

“这是我见过手段最先进的恶意广告攻击之一。” Segura说道。

Stegano原理

一旦有用户访问了存在这种恶意广告的网站,这个嵌入在广告中的恶意脚本就可以在不跟用户交互的情况下将用户电脑的信息发送给攻击者的远程服务器。

这个恶意脚本针对的是用IE浏览器的用户,它会先利用IE的CVE-2016-0162漏洞来扫描用户电脑,看看自己是否在沙箱或者某些安全软件的虚拟环境之中。

在验证了用户浏览器之后,恶意脚本会通过TinyURL(短网址)服务将浏览器重定向到一个网址。之后会加载一个Flash文件,这个文件能够根据用户使用的不同Flash Player版本来利用Flash Player的不同漏洞(CVE-2015-8651,、CVE-2016-1019、CVE-2016-4117),虽然这几个漏洞现在已经补上了。

7bc34d33521f4e69a3b8e07f9d860e98.jpg

“在执行成功之后,Stegano会再次检查自己是否被监控,它的执行Shell代码会收集一些安全产品安装或者执行的数据,这些行为就可以看出Stegano的开发者十分多疑。”ESET的安全专家在blog中提到,“如果攻击者发现检查的结果没什么问题,就会试图再次从这个服务器下载一个加密payload,然后把它伪装成一个gif图片。”

过程中会下载伪装的的“GIF图片”,再解密其中的payload,然后通过egsvr32.exe或rundll32.exe执行。恶意payloads的类型可能包括后门、间谍软件、银行木马、文件窃取等。

下面这张ESET的图表可能能让你更直观的了解Stegano的攻击过程:

Stegano2.png

2到3秒你就被黑了?

以上所有操作都是自动的,仅发生在2到3秒之间,期间未与用户产生任何交互。

截止目前,Stegano exploit kit已经被广泛利用,包括著名的Ursnif银行木马和Ramnit恶意软件。

Stegano在2014年使用时,目标是荷兰用户;2015年春天开始针对捷克;到了最近,殃及范围扩大到加拿大、英国、澳大利亚、西班牙和意大利这5个国家。

而且这次攻击中,Stegano每个攻击国家采用特定的exploit包,以达到最大范围的转播。

由于AdGholas对攻击目标电脑的安全环境进行多次审查,致使在研究他们攻击方式的时候也遇到了不少麻烦。最后他是用了一台家用电脑并下载了Wireshark,这个不会被监测到的网络抓包工具才让他有幸观察到了一次完整的攻击。

Segura先是在11月27日发现了针对雅虎的攻击,没想到两天后恶意广告又出现了。AdGholas在这次攻击中仅仅是改变了域,连域所在的IP地址都没变。

“如果没看出来的话我们就遇到大麻烦了。” Segura说道,“这些攻击在没有人意识到的情况下就已经发生了。”

就算通过各种方式扫描恶意广告,但像AdGholas这样的入侵者还是防不胜防。“只要在线广告存在一天,问题同样存在。”Segura说,“当然,也不能够以偏概全,合法的在线广告还是占了大多数的。”

ESET的报告中并没有提到受灾的具体包含哪些大型网站。对普通用户来说,最好的防御办法就是保证你的电脑运行最新版的软件和App,同时使用能监测到这种恶意广告的杀毒软件吧。

有关Stegano的技术分析

如前文所述,Stegona实际上2014年就已经出现了,不过当前的版本经过了极大加强。据ESET所说,和Stegona比起来,其他一些比较有名的Exploit Kits,比如说Angler和Neutrino实在是小巫见大巫了。

在绝大部分感染场景中,存在问题的广告都会展示一个名叫Browser Defence的产品,最近还有在展示Broxu软件的。以下的分析仅针对Browser Defence。

恶意广告本身位于browser-defence.com这个域名下,URI构造类似于下面这样(注意还是用的https):

hxxps://browser-defence.com/ads/s/index.html?w=160&h=600

这里的index.html会加载countly.min.js,为脚本提供提供初始参数。这里的countly可不是随便从GitHub复制一段代码,其中的代码进行了大量混淆和自定义修改。这些代码主要负责的是初始环境检查。随后初始环境信息会发回服务器(当成1×1 gif文件的XOR加密过的参数发回),形如下面这样:

systemLocale^screenResolution^GMT offset^Date^userAgent^pixelRatio

随后脚本就会请求广告Banner了。根据前面初始环境检查结果,返回恶意广告,或者也可能是不存在恶意的广告。

脚本接下来就会加载Banner,然后读取RGBA结构(有兴趣的可以去了解RGBA color space色彩空间,即红绿蓝三个通道+Alpha通道)。如果说加载的是恶意banner,就会从图片的Alpha通道中解码一部分JS。

至于具体怎么解码Alpha通道中的代码,这里面具体是有一套算法的,是不是感觉很有意思?详情参见ESET的原文

微信截图_20161208154526.png

某些像素的Alpha通道包含了一些值,所以我们从图片中看起来,图片会呈现出一些噪点,主要就是因为这些存在恶意的值。现在知道上面这两张图的差别了吗?实际上,这也的确很难检测到。


12下一页
收藏 邀请
返回顶部