现在我的梦想是,成为一名Windows Script Kid,挺好玩的。2003年5月的时候开始 看Windows的一些东西,结果到头来看了一年的SDK、DDK文档,离我的梦想太遥远了。
最近有了一些不大不小的实际需求,需要对付一些比较变态的苛刻环境,于是着手学 习Windows命令行环境中的操作知识,比如VBS、WMI、BAT、ASP等等,发现蛮有意思。
这两天在tk的指引下向着我的梦想迈出了第一步,以后会更新一些我的旅行经历,就 是学习记录啦。对于成功的Windows Script Kid或者这样那样的Windows安全专家来 讲,就没有必要看了。对于有类似于我经历的兄弟们,不妨多来瞅瞅哦,某种意义上 这是另一个世界的东西,处于你所擅长的领域之外。
☆ 用tlntadmn.exe更改telnet服务的身份认证方式
这里以Windows 2000上的telnet服务为讨论对象,XP/2003有变化,另行讨论。
tlntadmn.exe是一个命令行(CLI)工具,使用很简单。在那种简单的远程cmd shell中 以交互模式执行tlntadmn有些问题,很多输出看不到,而登录微软的telnet服务后在 其中以交互模式执行tlntadmn没有任何问题。
显然最初只有简单的远程cmd shell,下面的讨论基于这个前提。执行tlntadmn.exe, 虽然很多输出看不到,但可盲敲输入:
3 4 y %SystemRoot%\system32\cmd.exe /q /k y 7 y 0 (这个值对应键值NTLM的键值数据) y 8 y 23 (这个值对应键值TelnetPort的键值数据) y 0 0
重启telnet服务后,采用传统的明文口令身份认证方式。如果设置成1,则优先尝试 NTLM身份认证再尝试明文口令身份认证。缺省是2,只允许NTLM身份认证。上述步骤 顺带重置了DefaultShell、TelnetPort,以防变态管理员的变态行为。
为加速操作过程,编写批处理命令如下:
echo ^3>tlntadmn.txt echo ^4>>tlntadmn.txt echo y>>tlntadmn.txt echo %SystemRoot^%\system32\cmd.exe /q /k>>tlntadmn.txt echo y>>tlntadmn.txt echo ^7>>tlntadmn.txt echo y>>tlntadmn.txt echo ^0>>tlntadmn.txt echo y>>tlntadmn.txt echo ^8>>tlntadmn.txt echo y>>tlntadmn.txt echo 23>>tlntadmn.txt echo y>>tlntadmn.txt echo ^0>>tlntadmn.txt echo ^0>>tlntadmn.txt tlntadmn.exe < tlntadmn.txt > nul del tlntadmn.txt net stop telnet net start telnet
直接将上述内容复制/粘贴到cmd.exe中执行即可。