网页挂马常见缝隙剖析与检测

访客6年前黑客资讯1063

一、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]  黑客接单网

相关文章

Pastebin Hacking新姿态:运用jQuery替换进行歹意软件传达

跟着各种网络技能不断发展,黑客关于网站进犯也总是不断改换战略以及通过相互之间的交流来改善进犯技能。而事实上就现在网站安全方面,面对的应战首要也正是来自于进犯技能不断的演进,使得防护也需不断晋级。在之...

你的网站是怎样被黑的

前语 这个标题的来历是@evilcos(余弦大大)在Github上共享的一个PPT,感兴趣的能够去他的repo下载。写这篇博客主要是想给自己最近业余时间学到的安全相关的常识做个总结,主要是关于网站常见...

PHP反序列化与WordPress一些意外BUG的风趣结合

几个月前,我正在编写一篇关于PHP反序列化缝隙的博客文章,决定为这篇文章找一个实在方针,能够让我将测试数据传输给PHP unserialize ()函数来完结演示意图。所以我下载了一批WordPres...

浏览器进犯结构BeEF Part 4:绕过同源战略与浏览器署理

从这一章开端,正式进入了进犯阶段。BeEF供给了很多的进犯模块,能够直接运用。除了已有的模块,BeEF还供给了API,能够运用API来自行开发新的进犯模块。这一章,要介绍怎么绕过同源战略,还会介绍Be...

分析NETWIRE网络垂钓举动中对Process Hollowing的运用

无文件进犯是当时较为常见的一种进犯手法,歹意软件经过其payload来躲避检测,而无需在磁盘上编写可履行文件。无文件履行最常见的技能之一是代码注入——进犯者不需要直接履行歹意软件,而是将歹意软件代码注...

xHunt:针对科威特航运组织的攻击行动-黑客接单平台

2019年5月至6月,unit42安全团队在一起针对科威特航运业的进犯事情中,检测到了一个新后门东西——Hisoka,它的作用是下载几个的定制东西进行后缝隙运用,一切东西好像都由同一个开发人员创立,最...