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> <管理员用户名> <密码> <验证方式>

(0)

相关推荐

  • Windows 2000中NTFS磁盘权限应用

    WIN2000中添加了一个与WIN98及以前的WINDOWS版本不同的一个特性,那就是NTFS权限,由于有了这个特性,那么在WIN2000中就可以实现文件夹及文件级别的安全控制,这不同于WIN98中的 ...

  • 解决Windows 2000中DLL文件报错或丢失

    用“系统文件检查器”工具,管理员可以扫描所有受保护的文件以验证其版本。“系统文件检查器”工具还检查和重新填充 %SystemRoot%System32Dllcache 文件夹。如果 Dllcache ...

  • Windows 2000安全策略的使用技巧

    第一、安全策略 Windows 2000系统本身就有很多安全方面的漏洞,这是众所周知的。通过打补丁的方法可以减少大部分的漏洞,但是并不能杜绝一些小漏洞,而往往这些小漏洞也是导致被攻击或入侵的重要途径。 ...

  • Windows 2000下优化NTFS系统

     NTFS简介 NTFS是“新技术文件系统”的缩写。微软推出NTFS文件系统就是为了弥补FAT文件系统的一些不足,其中最大的改进是容错性和安全性能。 容错性 NTFS可以自动地修复磁盘错误而不会显示出 ...

  • 怎么样手动删除 Windows NT 或 Windows 2000

    这篇文章中的信息适用于: Microsoft Windows NT Server 3.1, 3.5, 3.51, 4.0 Microsoft Windows NT Workstation 3.1, 3 ...

  • 在Windows 2000系统中使用“计划作业”备份系统

    尽管使用Windows 2000系统的备份程序对系统进行备份并不复杂,但如果能够制定适当的备份计划并由系统自动进行备份无疑将更加方便.在Windows 2000系统中达到这种目的并不难,利用系统自带的 ...

  • 巧用windows任务管理器中的系统进程关闭无响应程序等电脑疑难问题

    经常使用电脑的朋友一定对Windows 任务管理器很熟悉,任务管理器的作用对很多电脑高手来说是非常重要的,通过任务管理器我们可以查看到当前电脑上正在运行哪些程序,可以查看CPU的使用情况等如下图: 任 ...

  • Windows 2000进程列表详解

    最基本的系统进程(也就是说,这些进程是系统运行的基本条件,有了这些进程,系统就能 正常运行) smss.exe Session Manager csrss.exe 子系统服务器进程 winlogon ...

  • 在windows XP中安装SATA硬盘的方法

    首先为大家简单的介绍下什么是SATA硬盘,然后顺着这个主题为大家讲解下如何在windows XP中安装SATA硬盘?请看以下详细内容介绍: SATA的全称是Serial Advanced Techn ...