一.脚本病毒概述
    脚本程序的执行环境需要WSHWindows Script HostWindows脚本宿主)环境,WSH为宿主脚本创建环境。即当脚本到达计算机时,WSH充当主机的部分,它使对象和服务可用于脚本,并提供一系列脚本执行指南。
    WSH是微软提供的一种基于32Windows平台的、与语言无关的脚本解释机制,它使得脚本能够直接在Windows桌面或命令提示符下运行。利用WSH用户能够操纵WSH对象、ActiveX对象、注册表和文件系统,还可以访问活动目录服务。WSH依赖于IE提供的Visual BasicScriptJavaScript脚本引擎,所对应的程序C:\”是一个脚本语言解释器。
    Visual BasicScriptJavaScript作为客户端编程语言,当一个以该语言编制的程序被下载到一个兼容的浏览器中时,浏览器将自动执行该程序。
    “爱虫欢乐时光尼姆达求职信等病毒都是属于这一类的病毒。
    脚本病毒的主要特点:
    1)由于脚本是直接解释执行,可以直接通过自我复制的方式感染其它同类文件,并且使异常处理变得非常容易。
    2)脚本病毒通过HTML文档、Email附件或其它方式,可以在很短的时间内传遍世界各地,通常是使用在邮件附件中安置病毒本体的方法,然后利用人们的好奇心,通过邮件主题或邮件内容诱骗人们点击附件中的病毒体而被感染。
    3)新型的邮件病毒邮件正文即为病毒,用户接收到带毒邮件后,即使不将邮件打开,只要将鼠标指向邮件,通过预览功能病毒也会被自动激活。
    4)病毒源码容易被获取,变种多。由于VBS病毒解释执行,其源码可读性好,即使病毒源码经过加密处理后,其源码的获取还是比较简单。因此,这类病毒稍微改变一下病毒的结构或者特征值,很多杀毒软件可能就无能为力了。
    5)欺骗性强。脚本病毒为了得到运行机会,往往会采用各种让用户不太注意的手段,譬如,邮件的附件采用双后缀,如jpg.vbstxt.vbs,由于系统默认不显示后缀,这样,用户看到此文件时就会认为它是一个jpg图片或文本文件。
二.爱虫病毒分析
1.病毒简介
    “爱虫VBS.LoveLetter)病毒从200054日开始在欧洲大陆迅速传播,并向全世界蔓延。该病毒别名叫做LoveLetterLoveBugVeryFunny。它采用VBScript编写,其传播原理
是通过Microsoft Outlook将名为LOVE-LETTER-FOR-YOU.TXT.vbs”的邮件发送给用户地址薄里所有的地址。它可以产生Script.ini文件,将包括病毒的LOVE-LETTER-FOR-YOU.HTM文件通过mIRC蔓延到Internet聊天室中。该病毒还有多个发作破坏模块,查本地驱动器和网络驱动器,在所有目录和子目录中搜索可以感染的目标如:.vbs.vbe.js.jse.css.wsh.sct.hta.jpg.jpeg.wav.txt.gif.doc.htm
.html.xls.ini.bat.mp3.mp2等,它用病毒代码覆盖原有的内容,并在文件名后面添加.vbs的扩展名,从而取代宿主文件。.mp2.mp3文件被隐藏起来,并未破坏。
    当病毒运行后会在系统中留下以下文件:
    1\windows\Win32DLL.vbs
    2\system\MSKernel.vbs
    3\system\LOVE-LETTER_FOR_YOU.TXT.vbs
    该病毒还修改注册表中的一些路径以便在启动Windows时运行。它还在\windows\system下搜索名为的文件,如果该文件不存在,则修改IE的默认初始页面下载的文件,并修改注册键值为:HKLM\Software\Microsoft\Windows\CurrentVersiion\Run\WIN-BUGSFIX
    该病毒已经有很多变种,并被反病毒厂家定为高危险性病毒。所以,提醒用户在接收之前,一定要先升级自己的杀毒软件,拦截住这种破坏性很大的病毒。另外,广大用户除了不要冒然打开不明真相的英文邮件及附件外,最好也不要浏览陌生网站和下载其中内容。
2.病毒的杀毒步骤
    1)在Windows下查看进程列表中是否有wscript这个文件,如有此文件说明已经感染。将该文件结束任务
    2)进入C:\Windows\System中,运行MSCONFIG.EXE选择启动模板,将所有的后缀为*.vbs”的文件选择为禁用状态。
    3)在保证内存中无wscript这个文件后,重启计算机。
    4)查一个叫的文件并删除它,如果安装了mIRC则删除script.ini文件,删除含LOVE-LETTER-FOR-YOU.TXT附件的Email
    5)打开注册表编辑器并删除下列键值:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\MSKernel32
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServer\Win32DLL
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\WIN-BUGFIX
3.病毒各模块功能介绍
    爱虫病毒的结构化做得很好,各个模块功能非常独立,彼此并不相互依赖,流程也非常清楚,下面对每个函数过程的功能作一简单介绍。
    1Main
    爱虫病毒的主模块,它集成调用其它各个模块。
    2regruns
    该模块主要用来修改注册表Run下面的启动项指向病毒文件、修改下载目录,并负责随机从给定的4个网址中下载文件,并使启动项指向该文件。
    3html
    该模块主要用来生成LOVE-LETTER-FOR-YOU.HTM文件,该HTM文件执行后会执行里面的病毒代码,并在系统目录生成一个病毒副本MSKernel32.vbs文件。
    4spreadtoemail
    该模块主要用于将病毒文件作为附件发送给Outlook地址薄中的所有用户,也是破坏性最大的一个模块。
    5listadriv
    该模块主要用于搜索本地磁盘,并对磁盘文件进行感染。它调用了folderlist()函数,该函数主要用来遍历整个磁盘,对目标文件进行感染。folderlist()函数的感染功能实际上是调用了infectfile()函数。infetcfile()可以对十余种文件进行覆盖,并且还会创建script.ini文件,以便于利用IRC通道进行传播。
4.脚本病毒的预防和清除
    脚本病毒的运行和传播有如下特点:
    1VBS代码是通过Windows Script Host来解释执行的。
    2VBS病毒的运行需要其关联程序的支持。
    3)大部分VBS病毒运行的时候需要用到一个对象:FileSystemObject
    4)通过网页传播的脚本病毒需要ActiveX的支持。
    5)通过Email传播的病毒需要OE的自动发送邮件功能支持。
    防范脚本病毒措施有:
    1)卸载Windows Scripting Host
    打开控制面板|“添加/删除程序|Windows安装程序|“附件|取消Windows Scripting Host”一项。
    2)禁用文件系统对象FileSystemObject
    regsvr32 scrrun.dll /u这条命令就可以禁止文件系统对象。其中regsvr32Windows\System下的可执行文件。或者直接查scrrun.dll文件删除或者改名。
    3)在Windows目录中,到,更改名称或者删除。
    4)设置浏览器。首先打开浏览器,单击菜单栏里Internet选项安全选项卡里的自定义级别按钮。把ActiveX控件及插件的一切设为禁用。
    5)禁止OE的自动收发邮件功能。
三.svir病毒专杀设计分析
1svir.vbs脚本病毒特征
    svir.vbs病毒具备爱虫病毒的部分功能,是以爱虫病毒为基础,减弱其破坏性,并将感染范围控制到一定的范围内的模拟病毒。使用记事本打开文件C:\ExpNIS\AntiVir-Lab\Virus\Scr
iptVir\svir.vbs根据爱虫病毒原理和源代码中的相关注释了解它的工作原理和感染现象。
2.脚本病毒专杀工具设计
    VBS是一种较为常用的脚本语言,它语法简单而且功能强大,我们下面介绍如何使用VBS脚本语言编程实现脚本病毒专杀工具。
    为了使程序更清晰易懂,我们应使用模块化设计,也易于为程序扩展新功能。我们将专杀工具分为四个功能模块,各模块的作用分别是删除病毒文件、删除病毒添加的自启动项、查杀指定目录下的病毒文件和结束病毒进程。
3.结束病毒进程
    在查杀病毒时应该首先结束病毒的进程再进行其它操作,但我们现在查杀的是脚本病毒,使用的工具也是脚本语言,它们都是由Windows脚本宿主”解释执行的,所以如果我们首先就将此进程结束,则专杀工具程序的其它部分就不能工作了。因此在查杀脚本病毒时要在专杀程序其它模块的工作完成后,再结束此进程。
    我们可以通过下列代码结束指定的进程。
    首先通过GetObject("winmgmts:")获得WMI对象,WMI(Windows Management Instrumentation)技术是微软提供的Windows下的系统管理工具。在WMI对象下有很多的子项,在这里我们要获得系统中所有的进程列表子项中名为”的进程,然后使用Terminate方法结束此进程。
4.删除病毒文件
    下面代码用于删除指定目录中的指定文件。
    ExpandEnvironmentStringsvb采用什么的编程机制方法用于返回环境变量的扩展值,%SystemRoot%即是C:\WINDOWS”目录。GetFile方法用于在指定的路径中返回相应的对象,然后使用此对象的Delete方法将指定文件删除。
5.删除病毒添加的自启动项
    使用regdelete方法来删除指定的注册表项,如下面代码所示:
6.查杀指定目录下的病毒文件
    在这个模块中我们可以使用病毒源码中遍历文件夹和感染文件的部分代码,实现查杀病毒的功能。
    此模块作用是遍历指定文件夹及其子文件夹,然后调用病毒查杀模块clearvirus进行杀毒。根据svir.vbs”病毒的特点,对目录中的文件的扩展名进行判断。如果是扩展名为.vbs”的文件,则使用Delete方法删除。如果不是,则使用文件Attributes的属性将此文件属性改为0,即普通文件。
    根据svir.vbs病毒源码中的相关部分编写相应的杀毒模块。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。