Telnet协议的配置及流程
扫描二维码
随时随地手机看文章
其实从应用层面上,Win2000的Telnet服务并没有什么可说的,绝大部分内容你都可以从HELP文件中得到,我在此只是把它稍微整理一下而已。 Win2000为我们提供了Telnet客户机和服务器程序:Telnet.exe是客户机程序(Client),tlntsvr.exe是服务器程序(server),同时它还为我们提供了Telnet服务器管理程序tlntadmn.exe。Windows 2000 默认安装了 Telnet 服务,但是并没有默认启动。
下面给出HELP文件中 Telnet 服务的一部分默认设置:AllowTrustedDomain:是否允许域用户访问。默认值是1,允许信任域用户访问。可以改为0: 不允许域用户访问(只允许本地用户)。DefaultDomain:可以对与该计算机具有信任关系的任何域设置。默认值是"."。DefaultShell:显示 shell 安装的路径位置。默认值是:%systemroot%\System32\Cmd.exe /q /kMaxFailedLogins:在连接终止之前显示尝试登录失败的最大次数。默认是3。LoginScript:显示 Telnet服务器登录脚本的路径位置。默认的位置就是“%systemroot%\System32\login.cmd”,你可以更改脚本内容,这样登录进Telnet的欢迎屏幕就不一样了。NTLM:NTLM身份验证选项。默认是2。可以有下面这些值:0: 不使用 NTLM身份验证。
1: 先尝试 NTLM身份验证,如果失败,再使用用户名和密码。2: 只使用 NTLM身份验证。TelnetPort:显示 telnet服务器侦听 telnet 请求的端口。默认是:23。你也可以更改为其他端口。以上各项设置你可以使用tlntadmn.exe(Telnet服务器管理程序)来进行非常方便的配置,配置后需要重新启动Telnet服务。
提到了telnet就不能不提NTLM,我想这也是让入侵者最为头痛的一件事,哪怕你获得了管理员帐号和密码,想简单通过NTLM也并非易事,况且win2000中的telnet默认仅以NTLM方式验证身份,这就让我们不得不关注NTLM这个东东,那么什么是NTLM呢?早期的SMB协议在网络上明文传输口令,后来出现了"LAN Manager Challenge/Response"验证机制,简称LM,它十分简单以至很容易被破解,微软随后提出了WindowsNT挑战/响应验证机制,即NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系。
1.客户端首先在本地加密当前用户的密码成为密码散列2.客户端向服务器发送自己的帐号,这个帐号是没有经过加密的,明文直接传输3.服务器产生一个16位的随机数字发送给客户端,作为一个 challenge(查问口令;盘问)4.客户端再用加密后的密码散列来加密这个 challenge ,然后把这个返回给服务器。作为 response(响应)5.服务器把用户名、给客户端的challenge 、客户端返回的 response 这三个东西,发送域控制器6.域控制器用这个用户名在 SAM密码管理库中找到这个用户的密码散列,然后使用这个密码散列来加密 challenge。7.域控制器比较两次加密的 challenge ,如果一样,那么认证成功。从上面的过程我们可以看出,NTLM是以当前用户的身份向Telnet服务器发送登录请求的,而不是用你扫到的对方管理员的帐户和密码登录,显然,你的登录将会失败。举个例子来说,你家的机器名为A(本地机器),你入侵的机器名为B(远地机器),你在A上的帐户是xinxin,密码是1234,你扫到B的管理员帐号是Administrator,密码是5678,当你想Telnet到B时,NTLM将自动以当前用户的帐号和密码作为登录的凭据来进行上面的7项操作,即用xinxin和1234,而并非用你扫到的Administrator和5678,且这些都是自动完成的,根本不给你插手的机会,因此你的登录操作将失败。