网页挂马工作原理完全分析

作为网页挂马的散布者,其目的是将木马下载到用户本地,并进一步执行,当木马获得执行之后,就意味着会有更多的木马被下载,进一步被执行,进入一个恶性的循环,从而使用户的电脑遭到攻击和控制。为达到目的首先要将木马下载到本地。根据上图的流程,常见的方式有以下几种:

1.将木马伪装为页面元素。木马则会被浏览器自动下载到本地。

2.利用脚本运行的漏洞下载木马

3.利用脚本运行的漏洞释放隐含在网页脚本中的木马

4.将木马伪装为缺失的组件,或和缺失的组件捆绑在一起(例如:flash播放插件)。这样既达到了下载的目的,下载的组件又会被浏览器自动执行。

5.通过脚本运行调用某些com组件,利用其漏洞下载木马。

6.在渲染页面内容的过程中利用格式溢出释放木马(例如:ani格式溢出漏洞)

7.在渲染页面内容的过程中利用格式溢出下载木马(例如:flash9.0.115的播放漏洞)

在完成下载之后,执行木马的方式有以下几种:

1.利用页面元素渲染过程中的格式溢出执行shellcode进一步执行下载的木马

2.利用脚本运行的漏洞执行木马

3.伪装成缺失组件的安装包被浏览器自动执行

4.通过脚本调用com组件利用其漏洞执行木马。

5.利用页面元素渲染过程中的格式溢出直接执行木马。

6.利用com组件与外部其他程序通讯,通过其他程序启动木马(例如:realplayer10.5存在的播放列表溢出漏洞)

在与网马斗争的过程中,为了躲避杀毒软件的检测,一些网马还具有了以下行为:

1.修改系统时间,使杀毒软件失效

2.摘除杀毒软件的HOOK挂钩,使杀毒软件检测失效

3.修改杀毒软件病毒库,使之检测不到恶意代码。

4.通过溢出漏洞不直接执行恶意代码,而是执行一段调用脚本,以躲避杀毒软件对父进程的检测。

网页挂马的检测

传统的检测防御方式:

1.特征匹配。将网页挂马的脚本按脚本病毒处理进行检测。但是网页脚本变形方、加密方式比起传统的PE格式病毒更为多样,检测起来也更加困难。

2.主动防御。当浏览器要做出某些动作时,做出提示,例如:下载了某插件的安装包,会提示是否运行,比如浏览器创建一个暴风影音播放器时,提示是否允许运行。在多数情况下用户都会点击是,网页木马会因此得到执行。

3.检查父进程是否为浏览器。这种方法可以很容易的被躲过且会对很多插件造成误报。

安天防线的行为分析方式:

1.检测伪装文件格式。通过对文件格式精确的识别,判断页面元素是否为伪装的恶意代码。

2.检查页面元素来源是否为长期散布网页挂马的站点。

3.检测特定函数调用堆栈实现。

(a)区分用户下载文件,浏览器自动下载文件。

(b)检测已知缓冲区漏洞。

(c)检测进程创建调用堆栈、调用参数是否和浏览器常规一致,以检测未知漏洞造成的文件执行。

4.对文件执行进行监控,检测文件执行参数等特征。

5.对部分目录写文件操作进行监控。

6.检测系统时钟修改。

7.检测对系统DLL内存镜像修改(导入、导出表、函数体内容)。

8.检查PE文件和CAB包裹的数字签名。

9.特定文件格式检测,检测已知的格式溢出。

通过对以上几项的加权处理,可以实现有效对已知和未知网页挂马的检测。
posted @ 2009-05-13 10:49  TONYBINLJ  阅读(593)  评论(0编辑  收藏  举报