zoukankan      html  css  js  c++  java
  • 安全技术:网页挂马工作原理完全分析 狼人:

    通常,微软IE工作过程描述如下:

     

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

    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.特定文件格式检测,检测已知的格式溢出。

    通过对以上几项的加权处理,可以实现有效对已知和未知网页挂马的检测。

  • 相关阅读:
    netCore3.1项目搭建过程记录-省的每次都傻乎乎的不知道应该先干啥
    探究 position-sticky 失效问题
    协议的设计一般采用结构体进行数据打包,在协议设计的结构体中能不能使用指针 ?
    ROS pluginlib
    ROS NodeHandle命令空间问题
    ROS 常见命令
    ROS ros::spin() 和 ros::spineOnce区别
    PPM图像文件格式
    Qtcreator for visual studio版本调试问题
    Install Typora For Linux
  • 原文地址:https://www.cnblogs.com/waw/p/2202472.html
Copyright © 2011-2022 走看看