网页挂马常见漏洞分析与检测

作者:媒体转发 时间:2018-09-29 09:58

字号
一、CVE-2018-8373漏洞的初步分析

2018年8月15日,趋势科技披露了他们发现的一起浏览器漏洞攻击事件。在检测到的攻击流量中,攻击者使用了cve-2018-8373这个漏洞来攻击IE浏览器,访问存在该漏洞的页面可能导致远程代码执行。有经验的研究员应该了解,在大部分的EK工具包中,针对IE浏览器的漏洞经常被用来做网页挂马,国外通常称为“Drive-By-Download”攻击。

该漏洞使用的混淆方式和之前披露的 CVE-2018-8174 类似,漏洞利用代码估计是同一批人所编写的。而趋势科技在报告中提到他们通过启发式分析检测到了该流量,目前来说主流的浏览器漏洞检测方式分为静态和动态两类,静态检测是匹配其触发漏洞以及漏洞利用的关键代码特征,动态检测则是检测浏览器的敏感行为,当然也有利用机器学习对恶意网页进行分类、检测的技术,不再详述。接下来先简单分析下 CVE-2018-8373。

由于没有拿到攻击样本,只能依据简单的poc来进行分析、复现。poc的代码如下:

网页挂马常见漏洞分析与检测

接下来我们有两种调试的方式,第一种是利用windbg加载IE浏览器,并通过开启页堆来跟踪漏洞的触发点。第二种是将其中的vbscript代码提取出来,写入到vbs脚本文件中,利用wscript.exe程序加载vbs脚本,再进行分析。由于该demo并没有使用到document相关的api,加上使用wscript.exe调试起来相对简单点,所以这里使用第二种方法进行调试,接下来通过调试来看下poc中对应的二进制程序的代码实现。在win环境下,由vbscript.dll对vbs脚本进行解释执行,通过ida打开vbscript.dll并且加载符号,可以看到一些意义性较强的函数,大致能根据这些函数名称来定位具体的vbs脚本中的代码。

网页挂马常见漏洞分析与检测

接下来我们有两种调试的方式,第一种是利用windbg加载IE浏览器,并通过开启页堆来跟踪漏洞的触发点。第二种是将其中的vbscript代码提取出来,写入到vbs脚本文件中,利用wscript.exe程序加载vbs脚本,再进行分析。由于该demo并没有使用到document相关的api,加上使用wscript.exe调试起来相对简单点,所以这里使用第二种方法进行调试,接下来通过调试来看下poc中对应的二进制程序的代码实现。在win环境下,由vbscript.dll对vbs脚本进行解释执行,通过ida打开vbscript.dll并且加载符号,可以看到一些意义性较强的函数,大致能根据这些函数名称来定位具体的vbs脚本中的代码。

在poc中,将MyClass通过new进行创建并赋值给指定变量cls,该操作首先会触发类的创建以及初始化,创建类的函数由vbscript!VBScriptClass::Create函数完成,在初始化类的各项属性后,将该class封装为一个variant变量,class的创建如下:

网页挂马常见漏洞分析与检测

最后会将该class封装成一个variant类型的变量

网页挂马常见漏洞分析与检测

最后会将该class封装成一个variant类型的变量

网页挂马常见漏洞分析与检测

在微软的官网以及windows kits的头文件中均可以查到variant types的定义,部分如下:

网页挂马常见漏洞分析与检测

在微软的官网以及windows kits的头文件中均可以查到variant types的定义,部分如下:

网页挂马常见漏洞分析与检测

针对不同类型的variant变量解释如下:

网页挂马常见漏洞分析与检测

针对不同类型的variant变量解释如下:

网页挂马常见漏洞分析与检测

创建类成功后则会调用vbscript!VBScriptClass::InitializeClass函数对class的内容进行初始化 :

网页挂马常见漏洞分析与检测

创建类成功后则会调用vbscript!VBScriptClass::InitializeClass函数对class的内容进行初始化 :

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接