首页    新闻    下载    文档    论坛     最新漏洞    黑客教程    数据库    搜索    小榕软件实验室怀旧版    星际争霸WEB版    最新IP准确查询   
名称: 密码:      忘记密码  马上注册
安全知识 :: windows技术

VBS 脚本在系统安全中的 八则巧妙应用


http://www.gipsky.com/
VBS脚本<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=病毒 target="_blank"><font color=red>病毒</font></a></b>的大量流行使我们对VBS的功能有了一个全新的熟悉,现在大家对它也开始重视起来。VBS代码在本地是通过Windows Script Host(WSH)解释执行的。VBS脚本的执行离不开WSH,WSH是<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=微软 target="_blank"><font color=red>微软</font></a></b>提供的一种基于32位Windows平台的、与语言无关的脚本解释机制,它使得脚本能够直接在Windows桌面或命令提示符下运行。利用WSH,用户能够操纵WSH对象、ActiveX对象、<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>和文件系统。在Windows 2000下,还可用WSH来访问Windows NT活动目录服务。



  用VBS编写的脚本程序在窗口界面是由wscript.exe文件解释执行的,在字符界面由cscript.exe文件解释执行。wscript.exe是一个脚本语言解释器,正是它使得脚本可以被执行,就象执行批处理一样。关于VBS大家一定比我熟悉多了,所以再不废话,直接进入主题,看看我总结的VBS在系统安全中的八则妙用吧。



  一、给<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>编辑器解锁



  用记事本编辑如下内容:



DIM WSH

SET WSH=WSCRIPT.CreateObject("WSCRIPT.SHELL") '击活WScript.Shell对象

WSH.POPUP("解锁<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>编辑器!")

'显示弹出信息“解锁<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>编辑器!”

WSH.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion

\Policies\System\DisableRegistryTools",0,"REG_DWORD"

'给<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>编辑器解锁

WSH.POPUP("<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>解锁成功!")

'显示弹出信息“<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=注册表 target="_blank"><font color=red>注册表</font></a></b>解锁成功!”

保存为以.vbs为扩展名的文件,使用时双击即可。



  二、关闭Win NT/2000的默认共享



  用记事本编辑如下内容:



Dim WSHShell'定义变量

set WSHShell=CreateObject("WScript.shell") '创建一个能与<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=操作系统 target="_blank"><font color=red>操作系统</font></a></b>沟通的对象WSHShell

Dim fso,dc

Set fso=CreateObject("Scripting.FileSystemObject")'创建文件系统对象

set dc=fso.Drives '获取所有驱动器盘符

For Each d in dc

Dim str

WSHShell.run("net share"&d.driveletter &"$ /delete")'关闭所有驱动器的隐藏共享

next

WSHShell.run("net share admin$ /delete")

WSHShell.run("net share ipc$ /delete")'关闭admin$和ipc$管道共享



  现在来测试一下,先打开cmd.exe,输入net share命令就可以看到自己机子上的共享。双击执行stopshare.vbs后,会看见窗口一闪而过。然后再在cmd里输入net share命令,这时候没有发现共享列表了



  三、显示本机IP地址



  有许多时候,我们需要知道本机的IP地址,使用各种软件虽然可以办到,但用VBS脚本也非常的方便。用记事本编辑如下内容:



Dim WS

Set WS=CreateObject("MSWinsock.Winsock")

IPAddress=WS.LocalIP

MsgBox "Local IP=" & IPAddress



  将上面的内容保存为ShowIP.vbs,双击执行即可得到本机IP地址。



  四、利用脚本编程删除日志



  入侵系统成功后<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=黑客 target="_blank"><font color=red>黑客</font></a></b>做的第一件事便是清除日志,假如以图形界面远程控制对方机器或是从终端登陆进入,删除日志不是一件困难的事,由于日志虽然也是作为一种服务运行,但不同于http,ftp这样的服务,可以在命令行下先停止,再删除,在命令行下用net stop eventlog是不能停止的,所以有人认为在命令行下删除日志是很困难的,实际上不是这样,比方说利用脚本编程中的VMI就可以删除日志,而且非常的简单方便。源代码如下:



strComputer= "."

Set objWMIService = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate,(Backup)}!\\" & _

strComputer & "\root\cimv2")

dim mylogs(3)

mylogs(1)="application"

mylogs(2)="system"

mylogs(3)="security"

for Each logs in mylogs

Set colLogFiles=objWMIService.ExecQuery _

("Select * from Win32_NTEventLogFile where LogFileName='"&logs&"'")

For Each objLogfile in colLogFiles

objLogFile.ClearEventLog()

Next

next



  将上面的代码保存为cleanevent.vbs文件即可。在上面的代码中,首先获得object对象,然后利用其clearEventLog()方法删除日志。建立一个数组,application,security,system,假如还有其他日志也可以加入数组。然后用一个for循环,删除数组中的每一个元素,即各个日志。



  五、利用脚本伪造日志



  删除日志后,任何一个有头脑的治理员面对空空的日志,马上就会反应过来被入侵了,所以一个聪明的<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=黑客 target="_blank"><font color=red>黑客</font></a></b>的学会如何伪造日志。利用脚本编程中的eventlog方法创造日志非常简单,请看下面的代码:



set ws=wscript.createobject("Wscript.shell")

ws.logevent 0 ,"write log success" '创建一个成功执行日志



  将上面的代码保存为createlog.vbs即可。这段代码很轻易理解,首先获得wscript的一个shell对象,然后利用shell对象的logevent方法。logevent的用法:logevent eventtype,"description" [,remote system],其中eventtype为日志类型,可以使用的参数如下:0代表成功执行,1执行出错,2警告,4信息,8成功审计,16故障审计。所以上面代码中,把0改为1,2,4,8,16均可,引号中的内容为日志描述。利用这种方法写的日志有一个缺点,即只能写到应用程序日志,而且日志来源只能为WSH,即Windows Scripting Host,所以不能起太多的隐蔽作用,在此仅供大家参考。



  六、禁用开始菜单选项



  用记事本编辑如下内容:



Dim ChangeStartMenu

Set ChangeStartMenu=WScript.CreateObject("WScript.Shell")

RegPath="HKCR\Software\Microsoft\Windows\CurrentVersion\Policies\"

Type_Name="REG_DWORD"

Key_Data=1

 

StartMenu_Run="NoRun"

StartMenu_Find="NoFind"

StartMenu_Close="NoClose"

 

Sub Change(Argument)

ChangeStartMenu.RegWrite RegPath&Argument,Key_Data,Type_Name

MsgBox("Success!")

End Sub

 

Call Change(StartMenu_Run) '禁用“开始”菜单中的“运行”功能

Call Change(StartMenu_Find) '禁用“开始”菜单中的“查找”功能

Call Change(StartMenu_Close) '禁用“开始”菜单中的“关闭系统”功能



  将以上代码保存为ChangeStartMenu.vbs文件,使用时双击即可。



  七、执行外部程序



  用记事本编辑如下内容:



DIM objShell

set objShell=wscript.createObject("wscript.shell")

iReturn=objShell.Run("cmd.exe /C set var=world", 1, TRUE)



  保存为.vbs文件即可。在这段代码中,我们首先设置了一个环境变量,其名为var,而值为world,用户可以使用%Comspec%来代替cmd.exe,并且可以把命令:set var=world改成其它的命令,这样就可以使它可以运行任意的命令。



  八、重新启动指定的IIS服务



  用记事本编辑如下内容:



Const ADS_SERVICE_STOPPED = 1

Set objComputer = GetObject("WinNT://MYCOMPUTER,computer")

Set objService = objComputer.GetObject("Service","MYSERVICE")

If (objService.Status = ADS_SERVICE_STOPPED) Then

objService.Start

End If



  将它以startsvc.vbs为名保存在C盘根目录。并通过如下命令执行:cscript c:\startsvc.vbs。运行后,经你指定的IIS服务项将被重新开启。



  最后,我们再说说开篇时提到的VBS脚本<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=病毒 target="_blank"><font color=red>病毒</font></a></b>的防范方法。VBS<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=病毒 target="_blank"><font color=red>病毒</font></a></b>的执行离不开WSH,在带给人们便利的同时,WSH也为<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=病毒 target="_blank"><font color=red>病毒</font></a></b>的传播留下可乘之机。所以要想防范VBS<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=病毒 target="_blank"><font color=red>病毒</font></a></b>,可以选择将WSH卸载,只要打开控制面板,找到“添加/删除程序”,点选“Windows安装程序”,再鼠标双击其中的“附件”一项,然后再在打开的窗口中将“Windows Scripting Host”一项的“√”去掉,然后连续点两次“确定”就可以将WSH卸载。或者,你也可以点击“我的电脑”→“查看”→“文件夹选项”,在弹出的对话框中,点击“文件类型”,然后删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射,都可以达到防范VBS脚本<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=&word=病毒 target="_blank"><font color=red>病毒</font></a></b>的目的。
<< 如何应用微软的网络负载平衡 Windows 系统文件恢复技巧 >>
评分
10987654321
API:
gipsky.com& 安信网络
网友个人意见,不代表本站立场。对于发言内容,由发表者自负责任。

系统导航

 

Copyright © 2001-2010 安信网络. All Rights Reserved
京ICP备05056747号