Windows 2000中的NTLM安全策略讲解

  现在Win 2000 默认安装了 Telnet 服务,但是并没有默认启动。通过“开始”“网络工具”“服务”(或运行tlntsvr.exe程序)就可启动该服务。在客户端单击“开始”按钮,在弹出的菜单中选择“运行”命令,然后输入以下命令建立连接:

  telnet[Remote-system][Port-number]

  这时候会在屏幕上显示:

  正常情况下,服务启动后,键入该命令后应该是远程计算机回送Login和Password信息,提示用户输入用户名和口令。在Linux网络操作系统下就是这样:

  telnet porky.math.ukans.edu

  Trying 129.237.128.11...

  Connected to porky.math.ukans.edu.

  Escape character is '^]'.

  SunOS UNIX(porky)

  login:wl

  password:xxxxxx


  可是仔细看看上面的显示,根本没有给你输入用户名和密码的机会,直接断开连接,这是什么原因呢?原来是win2000中的telnet的一种验证身份方式所致:即Windows NT LAN Manager (NTLM)。早期的SMB协议在网络上明文传输口令,后来出现了"LAN Manager Challenge/Response"验证机制,简称LM,它十分简单以至很容易被破解,微软随后提出了WindowsNT挑战/响应验证机制,即NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系。NTLM工作流程是这样的:

  1、客户端首先在本地加密当前用户的密码成为密码散列

  2、客户端向服务器发送自己的帐号,这个帐号是没有经过加密的,明文直接传输

  3、服务器产生一个16位的随机数字发送给客户端,作为一个 challenge(挑战)

  4、客户端再用加密后的密码散列来加密这个 challenge ,然后把这个返回给服务器。作为 response(响应)

  5、服务器把用户名、给客户端的challenge 、客户端返回的 response 这三个东西,发送域控制器

  6、域控制器用这个用户名在 SAM密码管理库中找到这个用户的密码散列,然后使用这个密码散列来加密 challenge。

  7、域控制器比较两次加密的 challenge ,如果一样,那么认证成功。

  从上面的过程我们可以看出,NTLM是以当前用户的身份向Telnet服务器发送登录请求的,而不是用你自己的帐户和密码登录,显然,你的登录将会失败。举个例子来说,你家的机器名为A(本地机器),你登录的机器名为B(远地机器),你在A上的帐户是ABC,密码是1234,你在B上的帐号是XYZ,密码是5678,当你想Telnet到B时,NTLM将自动以当前用户的帐号和密码作为登录的凭据来进行上面的7项操作,即用ABC和1234,而并非用你要登录帐号XYZ和5678,且这些都是自动完成的,根本不给你动手的机会,因此你的登录操作将失败。

  NTLM身份验证选项有三个值。默认是2。可以有下面这些值:

  0: 不使用 NTLM 身份验证。

  1: 先尝试 NTLM 身份验证,如果失败,再使用用户名和密码。

  2: 只使用 NTLM 身份验证。

  Telnet服务器使用NTLM的有3选项之一时,客户机会显示下面情况中的一种:

  1)身份验证选项=0时

  Microsoft (R) Windows (TM) Version 5.00 (Build 2195)

  Welcome to Microsoft Telnet Service

  Telnet Server Build 5.00.99201.1

  login:

  password:

  NTLM身份验证选项为0时不使用NTML身份验证,直接输入用户名和密码,比如你可以输入自己的登录帐号密码XYZ和5678。

  2)身份验证选项=1时

  NTLM Authentication failed due to insufficient credentials. Please login withclear text username and password

  Microsoft (R) Windows (TM) Version 5.00 (Build 2195)

  Welcome to Microsoft Telnet Service

  Telnet Server Build 5.00.99201.1

  login:

  password:

  这时先尝试 NTLM 身份验证,如果失败,再使用用户名和密码,其实这种方式对于我们来说,与上一种方式没什么区别。

  3)身份验证选项=2时,就是我们一开始遇到的现象。

  对NTLM身份验证选项值的改变可以使用Win2000为我们提供Telnet服务器管理程序tlntadmn.exe;其实Win2000同时为我们提供了Telnet客户机和服务器程序:Telnet.exe是客户机程序(Client),tlntsvr.exe是服务器程序(server),及Telnet服务器管理程序tlntadmn.exe。若我们不需要NTLM身份验证可以按以下步骤设置:

  1、单击“开始”—>“运行“,键入tlntadmn,然后确定

  2、在弹出的选项中选择 Display, 再选择 Change Registry Settings.

  3、选择 NTLM.

  4、改变 NTLM 值为0不使用NTML身份验证

  5、重新启动Telnet 服务器。

  其实也可以使用tlntadmn.exe 对Telnet 服务的其他默认设置来进行配置,配置后需要重新启动Telnet服务。如下图 :


  AllowTrustedDomain:是否允许域用户访问。默认值是1,允许信任域用户访问。可以改为0: 不允许域用户访问(只允许本地用户)。

  DefaultDomain:可以对与该计算机具有信任关系的任何域设置。默认值是"."。

  DefaultShell:显示 shell 安装的路径位置。默认值是: %systemroot%System32Cmd.exe /q /k

  MaxFailedLogins:在连接终止之前显示尝试登录失败的最大次数。默认是3。

  LoginScript:显示 Telnet 服务器登录脚本的路径位置。默认的位置就是“%systemroot%System32login.cmd”,你可以更改脚本内容,这样登录进Telnet的欢迎屏幕就不一样了。

  TelnetPort:显示 telnet 服务器侦听 telnet 请求的端口。默认是:23。你也可以更改为其他端口。

  因此NTLM也是Windows 2000的一种重要安全策略,对于入侵者来说,NTLM就是横在面前的一座大山,哪怕你获得了管理员帐号和密码,想简单通过NTLM也并非易事,况且win2000中的telnet默认仅以NTLM方式验证身份,当然道高一尺,魔高一丈,作为网络管理员,不是说有了NTLM保护,就可以高枕无忧了,对于网络高手或黑客来说,时刻在扑捉系统漏洞和管理员疏忽,要突破NTLM的封锁,常见的有以下几种方法:

  1、通过修改远程注册表更改telnet服务器配置,将验证方式从2改为1或0;

  2、使用NTLM.exe,上传后直接运行,可将telnet服务器验证方式从2改为1;

  3、在本地建立扫描到的用户,以此用户身份开启telnet客户机并进行远程登录;

  4、使用软件,比如opentelnet.exe(需要管理员权限且开启IPC管道)

  5、使用脚本,如RTCS,(需要管理员权限但不依赖IPC管道)

  基本上是以上的5种,其中后两种是我们比较常用的开telnet的手法,而且使用方法十分简单,命令如下:

  OpenTelnet.exe server username password NTLMAuthor telnetport

  OpenTelnet.exe 服务器地址 管理员用户名 密码 验证方式(填0或1) telnet端口

  cscript RTCS.vbe targetIP username password NTLMAuthor telnetport

  cscript RTCS.vbe <目标IP> <管理员用户名> <密码> <验证方式>

时间: 2024-10-15 20:28:15

Windows 2000中的NTLM安全策略讲解的相关文章

浅析Win 2000中的NTLM安全策略

在中小型网络中,很多用户选择Windows 2000作为网络OS,利用其简单的配置和用户熟悉的图形界面提供Internet服务,Telnet便是其提供的服务之一.Telnet最基本应用就是用于Internet的远程登录,共享远程系统中的资源.它可以使用户坐在已上网的电脑键盘前通过网络进入的另一台已上网的电脑,并负责把用户输入的每个字符传递给主机,再将主机输出的每个信息回显在屏幕上.这种连通可以发生在同一房间里面的电脑或是在世界各范围内已上网的电脑.Telnet服务与其他网络应用一样属于客户机/服

全自动:Windows 2000 中的 DNS 动态更新 (转)

全自动:Windows 2000 中的 DNS 动态更新 域名系统 (DNS) 为域名(比如 ftp.microsoft.com)与相应 IP 地址或多个地址的解析提供了一个方法.DNS 是一个可缩放的分布式资源记录数据库,可为最大的网络(如 Internet)提供名称解析.在 DNS 中,A(地址)资源记录提供名称对 IP 地址的解析,PRT(指针)资源记录提供 IP 地址对名称的解析.但是,最早设计 DNS 时所有运行 TCP/IP 的计算机都是手工配置的.用特定的 IP 地址手工配置一台计

Windows 2000中Internet连接共享组网手记

介绍 ICS(Internet连接共享)是Windows 2000内置的一种网络连接共享服务,它可以使家庭网络或小型办公室网络用户非常容易的连接到Internet. 要使用ICS,有几点需要注意: (1)启用ICS的计算机必须具有两个网络接口:一个连接到内部局域网,通常是网卡:一个连接到Internet,通常是Modem或ISDN接口. (2)要配置ICS,必须具有Administrators组权限. (3)ICS设置完成后,本地的网络将使用动态的地址分配机制,因此不应该将此功能与其他Windo

在Windows 2000中配置ASP开发环境

window|window 采用ASP(Active Server Page)编写个人网页,已成为越来越多的个人网站作者的一种梦想.ASP是一种网页脚本语言,它最重要的特点是数据库驱动和动态交互.引入ASP,会使你的个人网站具有很强的数据交换和动态交互能力. 将你的个人电脑变成个人Web服务器 也许很多朋友觉得这是一件不可思议的事情,其实这并不难做到,笔者现以Windows 2000 professional为例说明实现方法. 在Windows 2000 Professional中集成了一个很有

Windows 2000中实现远程访问服务

随着Internet的飞速发展及人们对移动办公需求的增加,越来越多的人希望可以远程访问位于公司内部的局域网,远程访问技术由此应运而生.下面我们就来讨论一下如何在Windows 2000的网络中实现远程访问服务(Remote Access Service-RAS). 远程访问服务是一个标准的C/S模式(客户端/服务器)的服务,分为远程访问服务器和远程访问客户端两部分.首先在内网中找一台计算机作为远程访问服务器,在Windows 2000的家族产品中只有Windows 2000 Server以上版本

Windows 2000中环境变量的妙用

笔者很早就装上了Windows 2000 Professional版本,C盘仍然装的是Winodws 98,而Winodws 2000装在E盘上(应用软件是在Windows 98下安装的).我试着在不安装的情况下打开一些软件,结果发现,Visual FoxPro 6,VC++,WPS 2000等软件能够直接使用,WinZip8.0等软件输入注册号后也能使用,Photoshop等软件打开后弹出一系列对话框,显示如下信息:无法找到以下动态链接库PFPICK.dll与制定的路径:D \Program

如何恢复windows 2000中个人配置

近日装了windows 2000的Server版,在没装Active Directory时,进入windows 大约需要1分半钟(我机器的配置是K6-2 400 64M内存 硬盘是西数的WD205BA).由于要搞DCOM后来装了Active Directory.结果进入windows 大约用了10分钟,他在"准备网络"时用的时间最多,估计是在搜索整个网络是否有相同的域.如此慢的速度我实在无法忍受,最后把Active Directory给删去了. 这下倒好,当重新启动进入windows时

Windows 2000中NTFS权限介绍及应用

WIN2000中添加了一个与WIN98及以前的WINDOWS版本不同的一个特性,那就是NTFS权限,由于有了这个特性,那么在WIN2000中就可以实现文件夹及文件级别的安全控制,这不同于WIN98中的帐号和密码,在WIN98中,只要知道了帐号和密码,那么就可以对计算机完全控制,而无法实现对某个帐户只允许读取某个文件夹或者某个文件的功能.而在WIN2000中,完全可以完美的实现这一点.OK,Let's go! 首先,先说一下要实现该功能的前提条件,那就是你的分区必须是NTFS分区,如果是FAT或者

Windows 2000中的NTFS权限设置

WIN2000中添加了一个与WIN98及以前的WINDOWS版本不同的一个特性,那就是NTFS权限,由于有了这个特性,那么在WIN2000中就可以实现文件夹及文件级别的安全控制,这不同于WIN98中的帐号和密码,在WIN98中,只要知道了帐号和密码,那么就可以对计算机完全控制,而无法实现对某个帐户只允许读取某个文件夹或者某个文件的功能.而在WIN2000中,完全可以完美的实现这一点.OK,Let's go! 首先,先说一下要实现该功能的前提条件,那就是你的分区必须是NTFS分区,如果是FAT或者