一、CVE-2019-8373缝隙的开始剖析
2019年8月15日,趋势科技发表了他们发现的一同浏览器缝隙进犯事情。在检测到的进犯流量中,进犯者运用了cve-2019-8373这个缝隙来进犯IE浏览器,拜访存在该缝隙的页面或许导致长途代码履行。有经历的研究员应该了解,在大部分的EK工具包中,针对IE浏览器的缝隙经常被用来做网页挂马,国外一般称为“Drive-By-Download”进犯。
该缝隙运用的混杂 *** 和之前发表的 CVE-2019-8174 相似,缝隙运用代码估量是同一批人所编写的。而趋势科技在陈述中提到他们经过启发式剖析检测到了该流量,现在来说干流的浏览器缝隙检测 *** 分为静态和动态两类,静态检测是匹配其触发缝隙以及缝隙运用的要害代码特征,动态检测则是检测浏览器的灵敏行为,当然也有运用机器学习对歹意网页进行分类、检测的技能,不再胪陈。接下来先简略剖析下 CVE-2019-8373。
因为没有拿到进犯样本,只能依据简略的poc来进行剖析、复现。poc的代码如下:
接下来咱们有两种调试的 *** ,之一种是运用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类型的变量
在微软的官网以及windows kits的头文件中均能够查到variant types的界说,部分如下:
针对不同类型的variant变量解说如下:
创立类成功后则会调用vbscript!VBScriptClass::InitializeClass函数对class的内容进行初始化 :
在vbscript!VAR::IsFunction函数中获取class指针
随后调用class的虚函数vbscript!CScriptEntryPoint::Call 进行初始化,终究的调用栈如下:
调试过该vbs缝隙的研究人员应该了解,vbscript!CScriptRunTime::RunNoEH担任对编译后的vbs代码进行解说履行。这儿履行类的初始化操作,首要包含了array数组的界说以及Class_Initialize函数的履行。vbscript中创立数组的函数为vbscript!MakeArray,如下:
其间参数a1代表传入的数组的维度个数,因为poc中界说的数组维度为空,因而a1为0,因而直接回来0,array数组并没有结构成功。
随后在函数Initialize_Class中,运用Redim函数将array数组从头界说为一个数组长度为3的一维数组。但因为前次创立数组失利,其实这儿并没有好像趋势科技中的陈述所说,调用vbscript!RedimPreserveArray函数来对数组进行从头分配,而是再次调用了vbscript!MakeArray这个函数创立了一个数组。在调试进程平分别对vbscript!MakeArray以及vbscript!VBScriptClass::InitializeClass下断点,会发现先射中MakeArray后射中InitializeClass,紧接着再次射中MakeArray。
vbscript中的数组类型为tagSafeArray,结构如下:
[1] [2] [3] 黑客接单网
近期,研究人员发现了一种新式的技能支持欺诈技能,进犯者能够使用这种技能来绑架Google Chrome用户的阅读会话。 想必我们对技能支持欺诈不会感到生疏,微软Windows的技能支持站点便是许多进犯...
在HTML5中 标签参加了一个新的特点ping。规划者参加它的理由是, Ping能够使浏览器对外发送一个异步恳求,一般用来广告的追寻、点击率计算或完结一次HTTP重定向。 可是听到监督、追寻这个词,...
1. 导言 针对linux服务器进犯首要包含溢出提权进犯、端口扫描、后门程序植入等进犯手法,而针对web运用程序的进犯则掩盖愈加广泛,包含SQL注入、XSS、指令履行、文件包含、木马上传等缝隙。本文...
0×01导言 在计算机科学中,笼统语法树是源代码语法结构的一种笼统表明,它以树状的办法体现编程言语的语法结构,树上的每个节点都对应为源代码中的一种语法结构。笼统语法树能够说是静态代码剖析中最常用的,也...
Web Application Protection(WAP)是用于源代码静态剖析和数据发掘的一个东西,WAP首要检测运用PHP(4.0版别及以上)编写的web应用程序,而且由于它的误报率很低而遭到...
本文介绍了怎么完结谷歌最新的XSSGame的进程,完结了这八个应战就有时机取得Nexus 5x。实际上这八个应战整体来说都不难,都是些常见的xss。通关要求是只要能弹出alert窗口即可。 第一关...