如何防范vbs脚本病毒

1.如何从样本中提取(加密)脚本病毒   对于没有加密的脚本病毒,我们可以直接从病毒样本中找出来,现在介绍一下如何从病毒样本中提取加密VBS脚本病毒,这里我们以新欢乐时光为例。用JediEdit打开folder.htt。我们发现这个文件总共才93行,第一行,几行注释后,以开始,节尾。相信每个人都知道这是个什么类型的文件吧!   第87行到91行,是如下语句:87:[code]<SCRIPT language=vbscript> 88:ExeString = "Afi FkSeboa)EqiiQbtq)S^pQbtq)AadobaPfdj)>mlibL^gb`p)CPK...;后面省略,很长!89:Execute("Dim KeyArr(3),ThisText"&vbCrLf&"KeyArr(0) = 3"&vbCrLf&"KeyArr(1) = 3"&vbCrLf&"KeyArr(2) = 3"&vbCrLf&"KeyArr(3) = 4"&vbCrLf&"For i=1 To Len(ExeString)"&vbCrLf&"TempNum = Asc(Mid(ExeString,i,1))"&vbCrLf&"If TempNum = 18 Then"&vbCrLf&"TempNum = 34"&vbCrLf&"End If"&vbCrLf&"TempChar = Chr(TempNum + KeyArr(i Mod 4))"&vbCrLf&"If TempChar = Chr(28) Then"&vbCrLf&"TempChar = vbCr"&vbCrLf&"ElseIf TempChar = Chr(29) Then"&vbCrLf&"TempChar = vbLf"&vbCrLf&"End If"&vbCrLf&"ThisText = ThisText & TempChar"&vbCrLf&"Next") 90:Execute(ThisText) 91:<script>[/code]   第87和91行不用解释了,第88行是一个字符串的赋值,很明显这是被加密过的病毒代码。看看89行最后的一段代码ThisText = ThisText & TempChar,再加上下面那一行,我们肯定能够猜到ThisText里面放的是病毒解密代码(熟悉vbs的兄弟当然也可以分析一下这段解密代码,too simple!就算完全不看代码也应该可以看得出来的)。第90行是执行刚才ThisText中的那段代码(经过解密处理后的代码)。  那么,下一步该怎么做呢?很简单,我们只要在病毒代码解密之后,将ThisText的内容输出到一个文本文件就可以解决了。由于上面几行是vbscript,于是我创建了如下一个.txt文件:首先,copy第88、89两行到刚才建立的.txt文件,当然如果你愿意看看新欢乐时光的执行效果,你也可以在最后输入第90行。然后在下面一行输入创建文件和将ThisText写入文件vbs代码,整个文件如下所示: ExeString = "Afi... ’ 第88行代码 Execute("Dim KeyAr... ’ 第89行代码 set fso=createobject("scripting.filesystemobject") ’ 创建一个文件系统对象 set virusfile=fso.createtextfile("resource.log",true) ’ 创建一个新文件resource.log,用以存放解密后的病毒代码 virusfile.writeline(ThisText) ’ 将解密后的代码写入resource.log   OK!就这么简单,保存文件,将该文件后缀名.txt改为.vbs(.vbe也可以),双击,你会发现该文件目录下多了一个文件resource.log,打开这个文件,怎么样?是不是“新欢乐时光”的源代码啊!  2.vbs脚本病毒的弱点  vbs脚本病毒由于其编写语言为脚本,因而它不会像PE文件那样方便灵活,它的运行是需要条件的(不过这种条件默认情况下就具备了)。笔者认为,VBS脚本病毒具有如下弱点:  1)绝大部分VBS脚本病毒运行的时候需要用到一个对象:FileSystemObject  2)VBScript代码是通过Windows Script Host来解释执行的。  3)VBS脚本病毒的运行需要其关联程序Wscript.exe的支持。  4)通过网页传播的毒需要ActiveX的支持  5)通过Email传播的病毒需要OE的自动发送邮件功能支持,但是绝大部分病毒都是以Email为主要传播方式的。   3.如何预防和解除vbs脚本病毒  针对以上提到的VBS脚本病毒的弱点,笔者提出如下集中防范措施:  1)禁用文件系统对象FileSystemObject  方法:用regsvr32 scrrun.dll /u这条命令就可以禁止文件系统对象。其中regsvr32是Windows\System下的可执行文件。或者直接查找scrrun.dll文件删除或者改名。还有一种方法就是在注册表中HKEY_CLASSES_ROOT\CLSID\下找到一个主键{0D43FE01-F093-11CF-8940-00A0C9054228}的项,咔嚓即可。  2)卸载Windows Scripting Host  在Windows 98中(NT 4.0以上同理),打开[控制面板]→[添加/删除程序]→[Windows安装程序]→[附件],取消“Windows Scripting Host”一项。和上面的方法一样,在注册表中HKEY_CLASSES_ROOT\CLSID\下找到一个主键{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}的项,咔嚓。  3)删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射  点击[我的电脑]→[查看]→[文件夹选项]→[文件类型],然后删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射。  4)在Windows目录中,找到WScript.exe,更改名称或者删除,如果你觉得以后有机会用到的话,最好更改名称好了,当然以后也可以重新装上。  5)要彻底防治VBS网络蠕虫病毒,还需设置一下你的浏览器。我们首先打开浏览器,单击菜单栏里“Internet 选项”安全选项卡里的[自定义级别]按钮。把“ActiveX控件及插件”的一切设为禁用,这样就不怕了。呵呵,譬如新欢乐时光的那个ActiveX组件如果不能运行,网络传播这项功能就玩完了。  6)禁止OE的自动收发邮件功能  7)由于蠕虫病毒大多利用文件扩展名作文章,所以要防范它就不要隐藏系统中已知文件类型的扩展名。Windows默认的是“隐藏已知文件类型的扩展名称”,将其修改为显示所有文件类型的扩展名称。  8)将系统的网络连接的安全级别设置至少为“中等”,它可以在一定程度上预防某些有害的Java程序或者某些ActiveX组件对计算机的侵害。  9)呵呵,最后一项不说大家也应该知道了,杀毒软件确实很必要,尽管有些杀毒软件挺让广大用户失望,不过,选择是双方的哦。在这个病毒横飞的网络,如果您的机器没有装上杀毒软件我觉得确实挺不可思议的。


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn