Board logo

标题: [网络工具] WMIC的应用:一个远程开启TELNET服务的批处理 [打印本页]

作者: lxzzr    时间: 2010-8-9 09:35     标题: WMIC的应用:一个远程开启TELNET服务的批处理

记得以前见过一个命令行程序OpenTelnet.exe,好像是个黑客工具,还有一个是VBS的脚本吧,不记得了

这个脚本和它是一样的功能。当然,我发这个脚本的目的不是让大家拿去搞别人的电脑^_^

这个脚本纯粹是批处理,没有第三方,只有一个外部命令WMIC,其余都是内部命令(考虑到兼容性);

具体使用看帮助吧,都是中文,呵呵,需要说明的是,需要管理员权限,但并不是有管理员密码就行了(远程访问权限),2003的系统默认不用做任何修

改,XP的稍做修改就行(加入域的不用)。之所以说是以“标准方式”,是因为在某些系统上管理员将Telnet服务删掉了而这个脚本并不会安装一个新的Telnet服务...

代码某些地方可能不是很完善,效率有点低...

不多说了。代码:
  1. @ECHO OFF
  2. IF "%1" EQU "/?" GOTO :HELP
  3. IF "%1"# EQU ""# GOTO :HELP
  4. SET "TEMP_HOST=%1"
  5. SET "TEMP_PORT=%4"
  6. SET "TEMP_NTLM=%5"
  7. SET "TEMP_ITEM=Software\Microsoft\TelnetServer\1.0"
  8. SET "WMIC_REGEDIT=WMIC /NODE:"%TEMP_HOST:~2%" /USER:"%2" /PASSWORD:"%~3" /NAMESPACE:\\ROOT\DEFAULT PATH STDREGPROV CALL"
  9. SET "WMIC_SERVICE=WMIC /NODE:"%TEMP_HOST:~2%" /USER:"%2" /PASSWORD:"%~3" /NAMESPACE:\\ROOT\CIMV2 PATH WIN32_SERVICE WHERE NAME"
  10. IF "%TEMP_PORT%" EQU "" SET "TEMP_PORT=23"
  11. IF "%TEMP_NTLM%" EQU "" SET "TEMP_NTLM=01"
  12. IF %TEMP_PORT% GTR 1024 ECHO.错误的连接端口,应该小于1024.&EXIT /B
  13. IF %TEMP_NTLM% GTR 0002 ECHO.错误的 NTLM 验证方式[0,1,2].&EXIT /B
  14. IF "%TEMP_NTLM%" EQU "0" SET "TEMP_NTLM=4"
  15. IF "%TEMP_NTLM%" EQU "1" SET "TEMP_NTLM=6"
  16. IF "%TEMP_NTLM%" EQU "2" SET "TEMP_NTLM=2"
  17. FOR /F "USEBACKQ SKIP=3 TOKENS=2,* DELIMS==" %%A IN (`"(WMIC /NODE:"%TEMP_HOST:~2%" /USER:"%2" /PASSWORD:%3 OS GET NAME)2<&1"`) DO (ECHO.错误...%%A&EXIT /B)
  18. SET "SEARCH____,#1=FOR /F "USEBACKQ SKIP=6 TOKENS=3 DELIMS= " %%A IN (`"%WMIC_REGEDIT% GETDWORDVALUE ^^^&H80000002^,"%TEMP_ITEM%"^,"#1""`) DO (SET DEFAULT_=%%A)"
  19. SET "SEARCH____,#2=FOR /F "USEBACKQ SKIP=1 TOKENS=1,2 DELIMS= " %%A IN (`"%WMIC_SERVICE%='#2' GET STARTMODE,STATE 2^>NUL"`) DO (SET MODE_#2=%%A&SET STAT_#2=%%B)"
  20. %SEARCH____,#1:#1=TelnetPort%
  21. SET DEFAULT_PORT=%DEFAULT_:~0,-1%
  22. %SEARCH____,#1:#1=SecurityMechanism%
  23. SET DEFAULT_NTLM=%DEFAULT_:~0,-1%
  24. %SEARCH____,#2:#2=TLNTSVR%
  25. SET MODE_TLNTSVR=%MODE_TLNTSVR%
  26. SET STAT_TLNTSVR=%STAT_TLNTSVR%
  27. IF "%STAT_TLNTSVR%" EQU "" ECHO.TELNET 服务不存在.&EXIT /B
  28. %SEARCH____,#2:#2=NTLMSSP%
  29. SET MODE_NTLMSSP=%MODE_NTLMSSP%
  30. SET STAT_NTLMSSP=%STAT_NTLMSSP%
  31. SET "CHANGE_PORT=%WMIC_REGEDIT% SETDWORDVALUE ^&H80000002,"%TEMP_ITEM%","TelnetPort","%TEMP_PORT%""
  32. SET "CHANGE_NTLM=%WMIC_REGEDIT% SETDWORDVALUE ^&H80000002,"%TEMP_ITEM%","SecurityMechanism","%TEMP_NTLM%""
  33. FOR /F "USEBACKQ SKIP=5 TOKENS=3 DELIMS= " %%A IN (`"%CHANGE_PORT%"`) DO (SET RETURN=%%A)
  34. IF NOT "%RETURN%" EQU "0;" ECHO.错误...%RETURN%更改连接端口失败.&EXIT /B
  35. FOR /F "USEBACKQ SKIP=5 TOKENS=3 DELIMS= " %%A IN (`"%CHANGE_NTLM%"`) DO (SET RETURN=%%A)
  36. IF NOT "%RETURN%" EQU "0;" ECHO.错误...%RETURN%更改 NTLM 验证方式失败.&EXIT /B
  37. CLS
  38. CALL :HELP
  39. ECHO.-------------------------------------------------------------------------------
  40. ECHO.正在连接到: %TEMP_HOST:~2%, 端口: %TEMP_PORT% ...
  41. %WMIC_SERVICE%='ntlmssp' CALL CHANGESTARTMODE >NUL 2>NUL
  42. %WMIC_SERVICE%='tlntsvr' CALL CHANGESTARTMODE >NUL 2>NUL
  43. IF /I "%STAT_NTLMSSP%" EQU "Stopped" %WMIC_SERVICE%='ntlmssp' CALL STARTSERVICE>NUL 2>NUL
  44. IF /I "%STAT_TLNTSVR%" EQU "Running" %WMIC_SERVICE%='tlntsvr' CALL STOPSERVICE >NUL 2>NUL
  45. FOR /F "USEBACKQ SKIP=4 TOKENS=3 DELIMS= " %%A IN (`"%WMIC_SERVICE%='tlntsvr' CALL STARTSERVICE"`) DO (SET RETURN=%%A)
  46. IF NOT "%RETURN%" EQU "0;" ECHO.错误...%RETURN%TELNET 服务无法启动.&EXIT /B
  47. IF EXIST %WINDIR%\SYSTEM32\TELNET.EXE (TELNET %TEMP_HOST:~2% %TEMP_PORT%) ELSE (ECHO.'Telnet.exe' 文件丢失.)
  48. IF "%6" EQU "/R" (
  49. ECHO.
  50. ECHO.正在恢复默认配置 ...
  51. %WMIC_REGEDIT% SETDWORDVALUE ^&H80000002,"%TEMP_ITEM%","TelnetPort","%DEFAULT_PORT%" >NUL 2>NUL
  52. %WMIC_REGEDIT% SETDWORDVALUE ^&H80000002,"%TEMP_ITEM%","SecurityMechanism","%DEFAULT_NTLM%" >NUL 2>NUL
  53. %WMIC_SERVICE%='ntlmssp' CALL CHANGESTARTMODE %MODE_NTLMSSP% >NUL 2>NUL
  54. %WMIC_SERVICE%='tlntsvr' CALL CHANGESTARTMODE %MODE_TLNTSVR% >NUL 2>NUL
  55. %WMIC_SERVICE%='tlntsvr' CALL STOPSERVICE >NUL 2>NUL
  56. IF /I "%STAT_TLNTSVR%" EQU "Running" %WMIC_SERVICE%='tlntsvr' CALL STARTSERVICE>NUL 2>NUL
  57. IF /I "%STAT_NTLMSSP%" EQU "Stopped" %WMIC_SERVICE%='ntlmssp' CALL STOPSERVICE >NUL 2>NUL
  58. )
  59. EXIT /B
  60. :HELP
  61. CLS
  62. ECHO.
  63. ECHO. 作者:lxzzr E-mail:lxzzr@21cn.com 2010/02/07/21:00
  64. ECHO.
  65. ECHO. 这是一个以标准方式开启远程 TELNET 服务的脚本.
  66. ECHO. 需要 RPC 服务支持及管理员权限,不依赖 IPC 服务,可以自定义 NTLM 验证方式及连接端口,默认连接端口:23.
  67. ECHO.
  68. ECHO. NTLM 验证方式:
  69. ECHO. 0.不使用 NTLM 验证;
  70. ECHO. 1.先使用 NTLM 验证,如果失败再使用用户名和密码 (默认);
  71. ECHO. 2.只使用 NTLM 验证;
  72. ECHO.
  73. ECHO. 如果指定了 /R 参数,那么则在退出时恢复远程主机的默认配置.
  74. ECHO.
  75. ECHO. 格式: %~n0 \\远程IP ^<用户名^> ^<密码^> Telnet端口 NTLM验证方式 /R
  76. GOTO :EOF
复制代码

作者: 523066680    时间: 2010-8-9 17:40

哗,lxzzr出手了,我网络一窍不通,看着好膜拜啊~
作者: lxzzr    时间: 2010-8-9 19:20

汗,好久没来了,有愧啊....
作者: 0x5h31l    时间: 2010-8-27 15:33

晕。。这么好的东西怎么没人顶呢。。。。。。。。。
作者: canyuexiaolang    时间: 2010-8-27 15:40

晕。这么邪恶的东西。。怎么会没人顶呢...
作者: fenglin124    时间: 2010-10-5 12:42

这个东西,执行不了啊,怎么回事了。。。
作者: cuipengfei    时间: 2010-10-15 14:32

一闪而过就木有了,怎么回事?
作者: lxzzr    时间: 2010-10-19 19:10

6楼、7楼:将代码保存为 oten.bat, 命令提示符下跳转到 oten.bat 所在目录,再执行:oten.bat /?
作者: Batcher    时间: 2010-10-19 21:11     标题: 回复 7楼 的帖子

先检查一下你的电脑上有没有WMIC:
开始
运行
cmd
wmic
作者: cuipengfei    时间: 2010-11-30 11:09

怎么没有用啊?一闪而过就没有了?怎么搞啊?
作者: diannaoleyuan    时间: 2010-12-2 12:53

这么好的东西怎么没人顶呢。。。。。。。。。
作者: busboy    时间: 2013-12-18 21:31

这个脚本有什么用?
作者: mayz1994@qq.com    时间: 2014-1-22 14:12

无从下手。从哪修改都不知道




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2