过期罐头电脑论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5759|回复: 0
收起左侧

妙用VBS脚本保护Windows 安全性

[复制链接]
minveil 2011-1-19 08:01:48 | 显示全部楼层
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"HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem
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 & "rootcimv2")
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循环,删除数组中的每一个元素,即各个日志。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

一键重装系统|雨人系统下载|联系我们|网站地图|过期罐头电脑论坛

GMT+8, 2024-12-22 16:23 , Processed in 0.037631 second(s), 25 queries .

官方免责声明:本站内容来自网友和互联网.若侵犯到您的版权.请致信联系,我们将第一时间删除相关内容!

Powered by Discuz!

专注于win7_win10_win11系统下载装机

© 2010-2023 GQGTPC.Com

快速回复 返回顶部 返回列表