********************************************************************************
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管理規(guī)范服務(WMI)。該服務為系統(tǒng)重要服務,默認啟動。
支持平臺:win2kpro win2kserver winxp win.net
使用方法:
在命令行方式下使用windows自帶的腳本宿主程序cscript.exe調(diào)用腳本,例如:
c:\&;cscript RTCS.vbe 目標IP> 用戶名> 密碼> NTLM驗證方式> telnet服務端口>
其中 NTLM 值可取0,1,2:
0: 不使用 NTLM 身份驗證;
1: 先嘗試 NTLM 身份驗證。如果失敗,再使用用戶名和密碼;
2: 只使用 NTLM 身份驗證。
空密碼用兩個雙引號""表示。
腳本自動檢查目標telnet服務情況,如果未啟動則啟動它,相反就關閉。
同一個命令執(zhí)行兩遍,就開/關一次服務。
關閉服務時也必須輸入共5個參數(shù),這樣可以根據(jù)需要把服務設置還原為默認值(NTLM=2,端口23)。
如果telnet服務被禁用,將自動更改為“手動”。
如果要對本地使用,IP地址為127.0.0.1或者一個點(用.表示),用戶名和密碼都為空(用""表示)。
此腳本為自由軟件,修改發(fā)布請著明原作者。謝謝合作。
本人提供有限技術支持,有問題請到論壇發(fā)短消息給我。我的ID是zzzevazzz
最后更新:2002-8-23
更新記錄:
1.10 更改了輸出顯示格式。
1.09 解決了空密碼的問題。
1.08 代碼加密并以測試版發(fā)布。
1.07 增加對付服務被“禁用”的功能。
1.06 解決在圖形界面下運行的問題。
1.05 對參數(shù)做簡單判斷,防止誤操作。
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.scriptfullnamechr(34))
wscript.quit
end if
if wscript.arguments.count5 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 ntlm0 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