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

栏目: 编程工具 · 发布时间: 5年前

内容简介:DEVON安全研究人员追踪到恶意广告攻击活动越来越使用复杂的攻击方式来隐藏payload。DEVCON安全研究人员发现至少一个攻击组织通过polyglot漏洞利用来分发恶意广告payload。Polyglot图像和Steganographic图像(隐写)的定义很容易混淆,但这两个攻击之间有明显的区别。隐写漏洞利用使用的是隐藏在图像中的修改像素值。通过修改像素值,人眼无法检测到图像质量的明显变化。但是漏洞利用也需要一些额外的脚本来了解模式和offset来找出漏洞利用的像素,然后将这些聚合在可执行JS文件中。P

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

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

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

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

黑客使用Polyglot图像隐藏恶意广告活动 正常BMP图像头部

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

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

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

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

下面看一下文件的尾部。

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

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

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

·黑客使用Polyglot图像隐藏恶意广告活动 会显示给用户一个图片,而会忽略JS脚本。

·  会执行有效的JS,而忽略图像数据。

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

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

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

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

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

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

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

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

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

最后重定向的结果:

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

但是这种新的攻击方法其实并不新颖。安全研究人员和渗透测试人员也常使用这种技术来执行 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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

PHP经典实例

PHP经典实例

(美)斯克拉、(美)切贝特伯格 / 李松峰、秦绪文、李丽 / 中国电力出版社 / 2009-10 / 98.00元

PHP经典实例(第2版)能够为您节省宝贵的Web开发时间。有了这些针对真实问题的解决方案放在手边,大多数编程难题都会迎刃而解。《PHP经典实例(第2版)》将PHP的特性与经典实例丛书的独特形式组合到一起,足以帮您成功地构建跨浏览器的Web应用程序。在这个修订版中,您可以更加方便地找到各种编程问题的解决方案,《PHP经典实例(第2版)》中内容涵盖了:表单处理;Session管理;数据库交互;使用We......一起来看看 《PHP经典实例》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具