宠文网

30天打造专业红客

宠文网 > 现代小说 > 30天打造专业红客

第7章

书籍名:《30天打造专业红客》    作者:翟羽佳
    《30天打造专业红客》章节:第7章,宠文网网友提供全文无弹窗免费在线阅读。!


Telnet服务虽然也属于客户机/服务器模型的服务,但它更大的意义在于实现了基于Telnet协议的远程登录(远程交互式计算),那么什么是远程登录?

我想这个大家都明白一点,定义:远程登陆是指用户使用Telnet命令,使自己的计算机暂时成为远程主机的一个仿真终端的过程。仿真终端等效于一个非智能的机器,它只负责把用户输入的每个字符传递给主机,再将主机输出的每个信息回显在屏幕上。

使用Telnet协议进行远程登陆时需要满足以下条件:在本的计算机上必须装有包含Telnet协议的客户程序;必须知道远程主机的Ip地址或域名;必须知道登录标识与口令。

Telnet远程登录服务分为以下4个过程:

1)本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名;

2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net  Virtual  Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据报;

3)将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;

4)最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。

再说一下什么叫Telnet协议?简单点说Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:

1)Telnet定义一个网络虚拟终端为远的系统提供一个标准接口。客户机程序不必详细了解远的系统,他们只需构造使用标准接口的程序;

2)Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项;

3)Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。

关于这个就说这么多了,至于其他的一些就不说了,因为没什么帮助对我门,如果你有兴趣,可以去本站查查相关资料

再说说Win2000的Telnet服务,因为大部分服务器用的都是2000的

Win2000为我们提供了Telnet客户机和服务器程序:Telnet.exe是客户机程序(Client),tlntsvr.exe是服务器程序(server),同时它还为我们提供了Telnet服务器管理程序tlntadmn.exe。    其实从应用层面上,Win2000的Telnet服务并没有什么可说的,绝大部分内容你都可以从HELP文件中得到,我在此只是把它稍微整理一下而已.Windows  2000  默认安装了  Telnet  服务,但是并没有默认启动。下面给出HELP文件中  Telnet  服务的一部分默认设置:

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

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

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

MaxFailedLogins:在连接终止之前显示尝试登录失败的最大次数。默认是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服务。如图1

2  NTLM

提到了telnet就不能不提NTLM,我想这也是让入侵者最为头痛的一件事,哪怕你获得了管理员帐号和密码,想简单通过NTLM也并非易事,况且win2000中的telnet默认仅以NTLM方式验证身份,这就让我们不得不关注NTLM这个东东,那么什么是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上的帐户是xinxin,密码是1234,你扫到B的管理员帐号是Administrator,密码是5678,当你想Telnet到B时,NTLM将自动以当前用户的帐号和密码作为登录的凭据来进行上面的7项操作,即用xinxin和1234,而并非用你扫到的Administrator和5678,且这些都是自动完成的,根本不给你插手的机会,因此你的登录操作将失败。

由于Telnet服务器对NTLM的使用有3个选项,所以当你Telnet远地机器时,会显示下面情况中的一种:

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:

\\为0时不使用NTML身份验证,直接输入用户名和密码,比如你可以输入扫到的Administrator和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  Authentication  failed  due  to  insufficient  credentials.  Please  login  withclear  text  username  and  password

Server  allows  NTLM  authentication  only

Server  has  closed  connection

遗失对主机的连接。