telnet命令使用详解
telnet命令登录的过程如下:
telnet 主机名/IP
启动telnet会话。
例: telnet 192.168.0.1
如果这一命令执行成功,将从远程机上得到login:提示符。
一旦telnet成功地连接到远程系统上,就显示登录信息并提示用户输人用户名和口令。如果用户名和口令输入正确,就能成功登录并在远程系统上工作。在telnet提示符后面可以输入很多命令,用来控制telnet会话过程,在telnet联机帮助手册中对这些命令有详细的说明。
  用户结束了远程会话后,一定要确保使用logout命令退出远程系统。然后telnet报告远程会话被关闭,并返回到用户的本地机的Shell提示符下。
  r-系列命令 除ftp和telnet以外,还可以使用r-系列命令访问远程计算机和在网络上交换文件。使用r-系列
命令需要特别注意,因为如果用户不小心,就会造成严重的安全漏洞。用户发出一个r-系列命令后,远程系统检查名为/etc/hosts.equiv的文件,以查看用户的主机是否列在这个文件中。如果它没有到用户的主机,就检查远程机上同名用户的主目录中名为.rhosts的文件,看是否包括该用户的主机。如果该用户的主机包括在这两个文件中的任何一个之中,该用户执行r-系列命令就不用提供口令。
  虽然用户每次访问远程机时不用键入口令可能是非常方便的,但是它也可能会带来严重的安全问题。我们建议用户在建立/etc/hosts.equiv和.rhosts文件之前,仔细考虑r-命令隐含的安全问题。
****************************************************** 
Win2000的Telnet服务
  其实从应用层面上,Win2000的Telnet服务并没有什么可说的,绝大部分内容你都可以从HELP文件中得到,我在此只是把它稍微整理一下而已。
  1 基本配置
  Win2000为我们提供了Telnet客户机和服务器程序:是客户机程序(Client),是服务器程序(server),同时它还为我们提供了Telnet服务器管理程序。
  Windows 2000 默认安装了 Telnet 服务,但是并没有默认启动。下面给出HELP文件中 Telnet 服务的一部分默认设置:
  AllowTrustedDomain:是否允许域用户访问。默认值是1,允许信任域用户访问。可以改为0: 不允许域用户访问(只允许本地用户)。
  DefaultDomain:可以对与该计算机具有信任关系的任何域设置。默认值是"."。
  DefaultShell:显示 shell 安装的路径位置。默认值是: % /q /k
  MaxFailedLogins:在连接终止之前显示尝试登录失败的最大次数。默认是3。
  LoginScript:显示 Telnet 服务器登录脚本的路径位置。默认的位置就是“%d”,你可以更
改脚本内容,这样登录进Telnet的欢迎屏幕就不一样了。
  NTLM:NTLM身份验证选项。默认是2。可以有下面这些值:
  0: 不使用 NTLM 身份验证。
  1: 先尝试 NTLM 身份验证,如果失败,再使用用户名和密码。
  2: 只使用 NTLM 身份验证。
  TelnetPort:显示 telnet 服务器侦听 telnet 请求的端口。默认是:23。你也可以更改为其他端口。
  以上各项设置你可以使用(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 p
assword
  Server allows NTLM authentication only
  Server has closed connection
  遗失对主机的连接。
  C:>
  \仔细看看上面的显示,根本没有给你输入用户名和密码的机会,直接断开连接,扫到了密码也是白扫
  所以对于入侵者来说,NTLM是横在我们面前的一座大山,必须要除掉它,一般我们有如下几种方法:
  1通过修改远程注册表更改telnet服务器配置,将验证方式从2改为1或0;
  2使用,上传后直接运行,可将telnet服务器验证方式从2改为1;
  3在本地建立扫描到的用户,以此用户身份开启telnet客户机并进行远程登录;
  4使用软件,比如(需要管理员权限且开启IPC管道)
  5使用脚本,如RTCS,(需要管理员权限但不依赖IPC管道)
  基本上是以上的5种,其中后两种是我们比较常用的开telnet的手法,而且使用方法十分简单,命令如下:
  \server username password NTLMAuthor telnetport
  \服务器地址 管理员用户名 密码 验证方式(填0或1) telnet端口
  cscript RTCS.vbe targetIP username password NTLMAuthor telnetport
  cscript RTCS.vbe <目标IP> <管理员用户名> <密码> <验证方式>
Telnet常用命令:
Close:
该命令用语终止连接。它自动切断与远程系统的连接,也可以用它退出Telnet,在冒失的进入一个网络主机时,想退出的话,就可以用到这个命令。
open:
用它来与一个命名机器连接,要求给出目标机器的名字或IP地址。如果未给出机器名,Telnet就将要你选择一个机器名。必须注意,在使用"Open"命令之前应该先用"close"来关闭任何已经存在
的连接。
Set ECHO:
用于本地的响应是On或是Off。作用是是否把输出的内容显示在屏幕上。和DOS的ECHO基本上是一样。如果机器是处于ECHO ON的话,想改变为OFF,那么就可以输入SET ECHO,想再改变回ECHO OFF,那么就再键入SET ECHO就可以了。(这儿说的比较简短,如果有不明白的,可以与我联系)
Set escape char:
建立"escape"字符到某个特殊的符号,若想用某种控制符号来代替,可以用"asis"或者键入符号"^"加字母b(如:^b)。在正常工作时,是不需要用"escape"这个字符的,并且这个被用作"escape"的符号不应该再被使用。这类似于许多程序中对键盘上的每一个键设定其真正的涵义。但如果正在运行一个 daisy-chained 应用系统,那么可以重新议定"escape"字符的特征便是很有用的。例如:用Telnet从系统A到系统B,接着又用Telnet注册进入系统C。如果正在系统C上工作时出了故障,那么当"escape"代表符是相同时,就没法中断系统B到系统C的连接。键入"escape"代表符,将总是处于系
统A的命令模式。如果在每个Telnet部分使用不同的"escape"代表符,便可以通过键入适当的符号,来选择其中一个命令模式,这也可以用于其他的应用中(像终端仿真)。
Quit:
用它可顺利地推出Telnet程序。
Z:
用语保留Telnet但暂时回到本地系统执行其他命令。并且在Telnet中的连接以及其他的选择在Telnet恢复时仍被保留。
Carriage Return:
telnet远程登录配置用于不具体的一个命令从命令模式返回到所连接的远程机器上。另外,还有许多其他的命令可以推出命令模式。下面举一个例子,是从注册进入到porky.math.ukans.edu ,然后进入命令模式,然后返回porky::
telnet porky.math.ukans.edu
Trying 129.237.
Connected to porky.math.ukans.edu.
Escape character is ';^>';.
SunOS UNIX(porky)
login:wl
password:
Last Login: Tue Mar 28 05:35 from ns.bta
SunOS Release 4.1.3_U1(SLIPPERY1) #3: Sun Nov 20 23:47:23 CST 1999
No match.
if:Expression syntax.
porky/serv/wl?
porky/%CTRL->
telnet:?
CoMMands may be abbreviated, CoMMand are:
open connect to a site
close close currect connection
quit exit telnet
display display operating parameters
send transmit special characters (';send ?'; for more)
set set operating parameters(';set ?'; for more)
status print status information
toggle toggle operating parameters(';toggle ?'; for more)
mode try to enter line-by-line or character-at-a-time mode
print help information
telnet:set escape ^b
escape character is ’^b’
porky/%logout
ns.bta%
注意:set命令也可以退出命令模式。当然,如果不行,可以回车输入一空行,也能回到porky。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。