对VBS脚本在系统安全中几个妙用方法的介绍

安全 应用安全
是VBS脚本在系统安全中的几个妙用方法是本文所要阐述的重点,以下就是文章的主要内容的详细解析,望大家会对其有个更好的了解。

以下的文章主要向大家讲述的是VBS脚本在系统安全中的几个妙用方法,VBS脚本病毒的大量流行使我们对VBS的相关功能有了一个更为全面的认识,现在大家对它也开始重视起来。VBS代码在本地是通过Windows Script Host(WSH)解释执行的。

VBS脚本病毒的大量流行使我们对VBS的功能有了一个全新的认识,现在大家对它也开始重视起来。VBS代码在本地是通过Windows Script Host(WSH)解释执行的。VBS脚本的执行离不开WSH,WSH是微软提供的一种基于32位Windows平台的、与语言无关的脚本解释机制,它使得脚本能够直接在Windows桌面或命令提示符下运行。利用WSH,用户能够操纵WSH对象、ActiveX对象、注册表和文件系统。在Windows 2000下,还可用WSH来访问Windows NT活动目录服务。

 

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

一、给注册表编辑器解锁

用记事本编辑如下内容:

DIM WSH

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

WSH.POPUP("解锁注册表编辑器!")

'显示弹出信息“解锁注册表编辑器!”

 

  1. WSH.Regwrite"HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools",0,"REG_DWORD" 

'给注册表编辑器解锁

WSH.POPUP("注册表解锁成功!")

'显示弹出信息“注册表解锁成功!”

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

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

用记事本编辑如下内容:

Dim WSHShell'定义变量

set WSHShell=CreateObject("WScript.shell") '创建一个能与操作系统沟通的对象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命令,这时候没有发现共享列表了

 

  1. New Roman"> 

三、显示本机IP地址

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

 

  1. Dim WS  
  2. Set WS=CreateObject("MSWinsock.Winsock")  
  3. IPAddress=WS.LocalIP  
  4. MsgBox "Local IP=" & IPAddress  

 

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

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

入侵系统成功后黑客做的第一件事便是清除日志,如果以图形界面远程控制对方机器或是从终端登陆进入,删除日志不是一件困难的事,由于日志虽然也是作为一种服务运行,但不同于http,ftp这样的服务,可以在命令行下先停止,再删除,在命令行下用net stop eventlog是不能停止的,所以有人认为在命令行下删除日志是很困难的,实际上不是这样,比方说利用脚本编程中的VMI就可以删除日志,而且非常的简单方便。源代码如下:

 

  1. strComputer"." 
  2. Set objWMIService = GetObject("winmgmts:" _  
  3. & "{impersonationLevel=impersonate,(Backup)}!\\" & _  
  4. strComputer & "\root\cimv2")  
  5. dim mylogs(3)  
  6. mylogs(1)="application"  
  7. mylogs(2)="system"  
  8. mylogs(3)="security"  
  9. for Each logs in mylogs  
  10. Set colLogFiles=objWMIService.ExecQuery _  
  11. ("Select * from Win32_NTEventLogFile where LogFileName='"&logs&"'")  
  12. For Each objLogfile in colLogFiles  
  13. objLogFile.ClearEventLog()  
  14. Next  
  15. next  

 

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

 

【编辑推荐】

  1. syskey—系统安全的多重保护
  2. 强化系统安全从应对木马开始
  3. 提高Linux系统安全性的五要诀
  4. 如何保护Windows Server 2008系统安全
  5. Windows 7系统安全大揭秘
责任编辑:佚名 来源: hi.baidu.com
相关推荐

2010-03-16 15:12:41

Linux系统

2009-10-28 16:20:01

2010-04-14 17:54:06

2010-03-10 13:42:44

Python脚本

2010-09-07 10:14:18

2010-09-15 09:58:20

2016-11-17 14:39:49

域名安全域名系统

2010-06-22 16:24:57

Autoconf教程

2014-07-09 10:34:49

2018-03-22 13:01:58

2010-01-10 11:27:20

2010-09-26 11:29:58

2011-03-23 14:44:59

Unix系统root

2011-03-23 14:11:15

安全Unix系统

2010-03-17 17:06:10

python脚本语言

2010-08-27 14:45:31

2010-03-30 14:07:26

CentOS系统

2009-07-05 11:25:39

2011-03-23 15:32:31

2011-03-22 12:58:16

点赞
收藏

51CTO技术栈公众号