黑客使用Polyglot图像隐藏恶意广告活动

ang010ela 漏洞 2019年2月28日发布
Favorite收藏

导语:本文介绍一种利用Polyglot图像来实现图像和JS脚本一体来隐藏恶意payload的攻击活动。

DEVON安全研究人员追踪到恶意广告攻击活动越来越使用复杂的攻击方式来隐藏payload。DEVCON安全研究人员发现至少一个攻击组织通过polyglot漏洞利用来分发恶意广告payload。Polyglot图像和Steganographic图像(隐写)的定义很容易混淆,但这两个攻击之间有明显的区别。

隐写漏洞利用使用的是隐藏在图像中的修改像素值。通过修改像素值,人眼无法检测到图像质量的明显变化。但是漏洞利用也需要一些额外的脚本来了解模式和offset来找出漏洞利用的像素,然后将这些聚合在可执行JS文件中。

Polyglot漏洞利用的特点是文件可以同时在图像和JS文件中。不需要外部脚本就可以提取payload。但是文件怎么样同时是图像文件又是JS文件呢?原理就在于计算机识别这两个文件类型的方式。

下面是计算机读取正常BMP文件的情况。需要知道的是攻击者如何将它转换成polyglot,并利用浏览器。

Normal BMP Image Header正常BMP图像头部

前两个字节(红色框)是BMP图像的BM的十六进制表示。接下来的4个字节(8A C0 A8 00)表示图像文件的大小。然后是4个null字节(00 00 00 00),数据偏移量是(8A 00 00 00)。这些字节就给出了计算机正确执行文件需要的主要信息。

下面是Polyglot BMP图像文件的header:

sc2.png

看起来很像。也是以BM开始的,大小和数据偏移offset也有。攻击者就是利用修改和控制图像的大小和十六进制字符来使计算机将该文件识别为其他文件的。攻击者修改了图像的大小字段就变成了/**(字符代码)。这些字符加起来就是一个JS的注释。JS备注是用来使JS翻译器忽略这些字符串,比如忽略/*到*/之间的字符串。

下面看一下文件的尾部。

sc3.png

JS注释是以*/结尾的,攻击者然后加入了字符串=和`。攻击者就将文件类型BM转成JS变量,并设置为另一个高度混淆的payload。下面解释了JS翻译器的原理:

sc4.png

该文件在浏览器中有两种方式运行:

· <img src="polyglot.jpg"/> 会显示给用户一个图片,而会忽略JS脚本。

· <script src="polyglot.jpg"></script> 会执行有效的JS,而忽略图像数据。

研究人员已经检测到隐藏在恶意广告payload中的漏洞利用。攻击者有一些有创意的图片:

Exploited.png

研究人员发现攻击以正常BMP文件的方式加载,而在浏览器中是以JS的方式加载BM变量到内存中,如下图所示:

sc8.png

图像文件的后面部分含有一个解码脚本,该脚本实际上是一个高度混淆的JS。攻击是分层的,而且使用了一些技术来隐藏恶意活动,并且阻碍逆向工程师找出其真正的工作原理。

sc9.png

上面的脚本都是用下面的这个简单那叫吧来解码的。这会解码会隐藏在BM变量中的数据:

sc10.png

下面是解码的BM数据。最后解码的脚本并不像我们常见的恶意广告活动中的漏洞利用。它在浏览器中引入了一个cloudfront的url,会将受害者重定向到其他加载SPIN THE WHELL类游戏的页面。

sc11.png

最后重定向的结果:

但是这种新的攻击方法其实并不新颖。安全研究人员和渗透测试人员也常使用这种技术来执行shell代码和发起服务器攻击。JS/GIF polyglots是一种围绕服务器安全策略而执行XSS攻击的方法。类似的攻击方法已经出现不止一次了。研究人员详细更多的高级攻击组织将会进入恶意广告欺诈攻击活动中。

参考文献:

https://warroom.rsmus.com/bmp-x86-polyglot/

https://en.wikipedia.org/wiki/Gifar

http://stegosploit.info/

https://www.robertxiao.ca/hacking/defcon2018-assembly-polyglot/

https://hackaday.com/2015/11/06/stegosploit-owned-by-a-jpg/

https://ajinabraham.com/blog/bypassing-content-security-policy-with-a-jsgif-polyglot

https://portswigger.net/blog/bypassing-csp-using-polyglot-jpegs

https://www.alchemistowl.org/pocorgtfo/pocorgtfo08.pdf

本文翻译自:https://www.devcondetect.com/blog/2019/2/24/hacking-group-using-polyglot-images-to-hide-malvertsing-attacks如若转载,请注明原文地址: https://www.4hou.com/vulnerable/16437.html
点赞 3
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论