热点推荐:
您现在的位置: 电脑学习网 >> 网络技术 >> 正文

Telnet服务攻防之新手上路

2013-09-12 16:07:34  来源: 网络技术 

  Telnet服务是最早的远程访问服务。它是在网络发展的早期,所有的操作系统还基于命令模式控制时,为了解决用户远程维护主机、远程办公等用户需求而特意开发的一个服务,被一直沿用到现在。
  当终端服务这个基于图形界面访问的服务推出之后,现在已经很少有人利用Telnet服务进行远程访问和远程办公了。但是Telnet服务却摇身一变成为了黑客的最爱。据统计,被黑客利用得最多的一个系统服务,就是Telnet服务。
  黑客为什么不喜欢使用同样基于远程访问,并且更加方便直观的终端服务,而偏爱Telnet服务呢?难道因为黑客就喜欢在黑乎乎的命令窗口中操作吗?NO,当然不是这样。因为使用Telnet服务进行远程控制更加隐蔽,对系统的资源消耗也非常小,并且只需要一个命令即可开启和关闭它。所以对于网络安全来讲Telnet服务是一个非常危险的服务。
  Telnet服务使用Telnet协议传输,在系统中使用的默认端口为TCP23端口。由于Telnet协议是集成在TCP/IP协议中的,所以我们无法使用删除协议的办法来禁止Telnet服务。在我们讲防御Telnet服务之前,首先来看看黑客是如何利用Telnet服务的(笔者系统为Windows2000)。
攻:利用Telnet服务入侵
1.开启Telnet服务
  要想利用系统当中的Telnet服务必须先开启Telnet服务,因为在默认情况下Telnet服务是被系统所禁止的。wWW.itcompUtER.com.CN所以当黑客使用缓冲溢出,IPC$等方法拿到远程主机的Shell之后,必须开启Telnet服务。
  在命令行方式下开启Telnet服务的方法非常简单,只要在命令行当中键入“net start telnet”命令,即可开启系统中的Telnet服务。这是黑客使用得最多的一种开启Telnet服务的手法(图1)。


 

图1
2.利用Telnet服务
  那么是不是启动了Telnet服务,黑客就可以利用Telnet服务连接到远程主机中去了呢?在命令行窗口中键入“telnet IP”命令,如telnet 192.168.0.3,这时命令行窗口会出现如图2所示的情况。


 

图2
  在这个窗口中,无论用户选择“Y”还是“N”都会出现“失去了跟主机的连接”提示。
  这是因为用户没有通过远程主机的NTLM验证。正是利用NTLM这个基于WorkGroup网络当中的身份验证协议,使得黑客不能轻易地利用到Telnet服务,这时即使黑客知道了Telnet服务器的管理员用户名和密码,他仍然通不过NTLM验证,这无疑给系统带给了一定的安全性。
3.突破NTLM验证
  既然入侵者无法通过NTLM验证,那么Telnet服务就安全了?其实黑客有非常多的方法可以突破NTLM验证。
  比如黑客知道了Telnet服务器上的一个管理员组的用户名和密码(如用户名为xiewei,密码为12345),那么黑客可以在自己的系统中建立一个用户名和密码与之相同的管理员组用户。然后按住“Shift”键不放,找到“开始→程序→附件”中的“命令提示符”,右击“命令提示符”选项,可以在右键菜单中看到一个“运行方式”选项,打开它就可以看到一个选择用户打开程序的选项,勾上“下列用户”,黑客就可以在选项中填入刚刚建立的与Telnet服务器上等同的管理员组用户(图3), 确定之后在打开的命令行窗口中,连接Telnet服务器,就可以非常顺利地通过NTLM验证。


 

图3
  这只是突破NTLM验证方法中的一种,黑客如果拿到了远程系统的CmdShell,可以上传一些第三方的工具,如Ntlm.exe,然后执行这一工具也可以删除NTLM验证。
  在系统中用户其实也可以手动地更改NTLM验证的设置,在“Telnet服务管理器”中就提供了修改NTLM验证的选项。用户可以在“程序→控制面板→管理工具”中找到“Telnet服务管理”选项,单击就可以打开。或者用在命令行窗口下键入“tlntadmn.exe”也可以打开“Telnet服务管理器”。用户可以看到“Telnet服务管理器”是以命令行的方式出现的。选择当中的选项3“显示 / 更改注册表设置” (图4),用户可以看到会出现一个选项的列表,总共有八个选项。


 

图4
  大家可以发现,选项7是针对NTLM验证的,它的默认值是“2”,其中还有两个值可以选择,分别是“0”和“1”。“0”的意思是不使用 NTLM 身份验证;“1”则表示先尝试 NTLM 身份验证,如果失败,再使用用户名和密码;“2”的意思是只使用 NTLM 身份验证。
  如果把NTLM的值改为“0”或者“1”,在Telnet连接的时候,我们都可以顺利地通过NTLM验证。所以接下来的步骤,选择列表中的“(7)NTML”,并且选择“Y”更改默认值,最后把NTLM验证的值改为“0”或者“1”即可(图5)。从图5中可以看到“Telnet服务管理器”提示,只有当Telnet服务重新启动之后配置才能够生效。用户可以在命令行窗口下键入“net stop telnet”和“net start telnet”即可重新启动Telnet服务。


 

图5
  接下来远程用户就可以使用“telnet IP”连接到Telnet服务器上了,虽然没有了NTLM验证的限制,但是访问用户必须键入Telnet服务器的管理员组用户名和密码方能访问到。当访问到时,用户就可以执行Windows SHELL命令来管理远程主机了。
防:全面封锁Telnet服务
  知道了黑客利用Telnet服务的手法,那么针对Telnet服务的防御办法自然也就有了。根据黑客利用Telnet服务的思路,笔者总结了防御Telnet服务四种方法。
1.管理好用户的密码
  最简单的方法,管理好本机系统当中的用户名和密码,如果用户名和密码无法被黑客取得,那么黑客将很难利用到Telnet服务。
2.修改服务端口
  从前面的内容中大家可以了解到Telnet服务使用的是系统的23端口,如果我们修改了Telnet服务的默认端口,无疑隐藏了Telnet服务的入口点,给系统带来了一定的安全保障。修改方法非常简单,首先打开“Telnet服务管理器”,同样选择当中的选项3“显示 / 更改注册表设置”,打开Telnet服务管理列表,选择当中的选项8“TelnetPort”,选择“Y”更改Telnet服务的默认端口23,把Telnet服务的端口改为1024或1024以上的端口,确定即可。接着重新启动Telnet服务,配置即可生效。以后用户只要键入“telnet IP 1024”即可访问到Telnet服务器。
3.禁用Telnet服务
  大家知道要想使用Telnet服务必须开启Telnet服务,假如黑客利用缓冲溢出或者其它方法拿到了用户的CmdShell,那么他只要在中CmdShell下键入“net start telnet”即可启动Telnet服务,并且可以利用Telnet服务作为用户系统中的后门使用。有什么办法才能够阻止黑客开启Telnet服务呢?其实办法非常简单,禁用Telnet服务即可实现。用户打开“控制面板→管理工具→服务”在当中找到Telnet服务选项,双击就可以进入“Telnet服务属性”对话框,在“启动类型”中选择“已禁用”,单击“确定”按钮即可。
4.终极Telnet服务
  禁用服务并不是防御Telnet服务的终极办法,针对这一限制,黑客专门有一些第三方工具,只要拿到了远程主机的CmdShell,他只须上传该工具到远程主机并运行它就可以突破禁用服务这一限制,开启Telnet服务。
  所以针对这个问题,笔者最后给大家介绍一种最完美的防御方法。
  首先打开“Telnet服务管理器”,同样选择选项3“显示 / 更改注册表设置”,进入Telnet服务管理列表,大家可以看到其中的选项4“DefaultShell”,前面我们已经介绍过这个选项的具体含义,“显示Telnet服务所对应的程序。默认值是: %Systemroot%\System32\Cmd.exe /q /k”,这个含义的具体意思是什么呢?为什么当我们通过Telnet验证的时候能够取得远程主机的命令控制权限呢?
  因为我们可以看到Telnet服务对应的默认程序是“%Systemroot%\System32\Cmd.exe /q /k”也就是系统根目录WinNT(或Windows)下System32目录下的Cmd.exe,我们都知道Cmd.exe是系统中的命令行窗口,那么当远程用户通过了Telnet验证的话,远程系统就会把自己的Cmd.exe调给远程用户使用,这就是为什么使用Telnet能够拿到远程主机命令控制权限的最根本原因。
  讲到这里似乎防御方法也出来了,其实思路很简单,我们把Telnet服务所对应的默认程序改为一个未知的程序,这样即使黑客知道了远程主机的管理员用户和密码,突破了NTLM验证对方仍然无法拿到对主机的命令控制权,因为Telnet服务对应的默认程序已经不在是Cmd.exe中。有了好思路我们就来具体使用这个方法。
  选择Telnet服务管理列表中的选项4“DefaultShell”,就会提示我们是否更改Telnet服务的默认设置,选择“Y”,并且把Telnet服务对应的默认程序改为一个未知的文件,如:%SystemRoot%\system32\xiewei.exe,我的系统中根目录下根本不存在xiewei.exe文件,设置好之后重新启动服务。
  设置好之后,我们来看一下它的效果。假如现在黑客知道这台系统的管理员用户Administrator,密码为12345,并且这台系统开启了Telnet服务,NTLM验证也被突破,那么使用 “Telnet IP”连接到这台系统,这时会提示键入远程系统的用户名和密码,证明已经通过了NTLM验证,在正确地输入用户名密码之后,系统仍然提示“失去了跟主机的连接”。
  通过对这种方法,用户可以全面禁止系统中的Telnet服务。

 
不能访问Internet怎么办 问:局域网中使用一台服务器(Windows 2000 Server)做ICS主机,实现Internet连接共享,所有客户机自动获取IP地址信息。现在,要在这个服务器上做一个VPN的连接,连到外地的VPN服务器上,并启用VPN连接的共享(对于内网),使所有内网中的客户机都能通过VPN访问外地的VPN服务器。然而,问题也接踵而至。第一,启用VPN共享后,VPN可以正常使用,但所有的客户机不能访问Internet。第二,安装SyGate后,Internet是可以访问了,但VPN中的Outlook 2000(MS Exchange方式)就不能用了。应当如何处理?电脑知识网推荐
答:首先,服务器同时做ICS主机和VPN连接的共享是不恰当的,二者只能取其一。当在服务器上创建VPN连接时,启用了VPN连接的共享,而在创建这个共享的时候,原来的Internet 连接共享被去掉,从而导致客户机不能连接Internet。
其次,Exchange Server与远程的VPN服务器安装在同一台计算机上,不能使用VPN中的Outlook 2000(MS Exchange方式),估计是SyGate的问题。
解决步骤如下:
第一步,在Windows 2000服务器上安装WinGate,不要使用Windows 2000的Internet连接共享。在创建VPN连接时“启用此连接的Internet连接共享和启用请求拨号功能”,并选择正确的局域网网卡。
第二步, 正确设置客户端IE。在“工具”→“Internet连接选项”→“连接”→“局域网设置”→“代理服务器”中,添加Windows 2000服务器的IP地址和WinGate默认的代理端口号80。
第三步,在服务器上正确设置WinGate。在服务器端,运行WinGate程序组中的GateKeeper,输入管理员密码并登录,单击“users”选项卡,双击“assumed users”,在对话框中选择“By IP Address”选项卡,单击“Add”按钮显示“Location”对话框,在第一个文本框中输入客户机的IP地址,选择“guest”,然后单击“OK”按钮。重复操作,一直把所有的客户机地址添加完毕。  
什么是Intel Matrix RAID

  多硬盘组建RAID磁盘阵列是目前提高硬盘读写速度和数据安全性能的最有效方法,一般使用在有特殊要求的企业级用户上。而随着大容量硬盘的普及,大多数的家庭用户也希望能够拥有一个既廉价,又可以兼顾磁盘性能与数据安全的RAID系统。Intel Matrix RAID就是这样一个可以满足家庭用户需要的磁盘阵列系统。
一、什么是Intel Matrix RAID
  RAID磁盘阵列就是使用两个或者两个以上的物理硬盘进行协作,逻辑上作为一个磁盘驱动器来使用,通过不同的协作方式来提高磁盘子系统各方面的性能,例如存储容量、读写速度以及数据安全性等等。目前使用较为普遍的有RAID 0、RAID 1、RAID 0+1、RAID 5等等,RAID 0可以成倍地提高硬盘读写速度,但只要其中一个硬盘损坏,即可导致全部数据丢失。
  Matrix RAID是Intel芯片组特有的磁盘阵列技术,在Matrix RAID模式中数据存储形式如下:两个硬盘各自的前半部分被用来创建RAID 0,主要用于存储对读写速度比较敏感的操作系统文件、应用程序文件和虚拟内存文件,而两个硬盘的剩余部分则用来创建RAID 1,主要用来存储对安全性比较敏感的用户个人文件和重要数据。如果其中某个硬盘发生故障,RAID 0中的数据虽然可能丢失,但是RAID 1中的数据却会得到保存。利用Intel Matrix RAID技术,我们只需两块硬盘的低成本投入,即可享受到RAID 0+1的高性能与数据安全性,非常适合于普通家庭用户。
二、组建Intel Matrix RAID
  在硬件方面,并不是所有的Intel芯片组都支持Matrix RAID功能,主板必须使用Intel ICH6R或者更高级的南桥芯片,注意,必须是带R的南桥系列芯片才支持RAID功能。而组建Matrix RAID要求至少有两块硬盘,其容量大小最好一致,否则会造成空间的浪费。下面笔者以两块三星HD250HJ硬盘为例,介绍Matrix RAID的组建过程。
  示范平台:
  CPU:Core 2 Duo E6320
  主板:DFI 975X/G(ICH7R)
  内存:Kingston DDR2 800 1GB×2
  硬盘:三星HD250HJ ×2
1.BIOS的设置
  把两块硬盘分别正确连接到电脑上,开机后进入BIOS菜单的“Integrated Peripherals”选项里,把“SATA Mode”选项设定为“RAID”(不同品牌主板对选项的描述可能有所不同)。保存并重新启动计算机,此时在BIOS自检画面过后会提示同时按下“Ctrl+I”组合键进入RAID的设置菜单。选择“Create RAID Volume”来创建磁盘阵列,在Name栏目中填入将要创建的RAID卷的名称。
  接着进入RAID Level菜单中,选择你所要组建的RAID的模式。RAID Level菜单中并无具体的Matrix RAID这个选项,我们首先选择创建一个RAID 0,并且把两个HD250HJ硬盘都添加到RAID成员中。接着在“RAID Volume”栏目里填进所要用于组建RAID 0部分的硬盘空间大小(图2)。此时可以根据你的具体需要来自由设置。
  以笔者的情况为例,每个硬盘的大小为250GB,各分出160GB组建RAID 0,剩下的空间则组建RAID 1,于是先在“RAID Volume”中填进320GB。完成后选择“Create Volume”创建磁盘阵列。接着再选择创建一个RAID 1,还是把这两个硬盘添加到RAID成员中,并把剩下的硬盘空间全部用于RAID 1。如果需要重点保护的数据比较多,可以在前面的步骤中减少用于RAID 0的硬盘空间。
2.驱动及软件的安装
  Matrix RAID比较特殊,必须在安装XP时就通过F6按键从软驱加载驱动,无法在安装系统后补加该驱动。但是很多朋友都已经没有使用软驱了,这种情况下我们可以选择把RAID驱动程序集成到XP安装光盘中,省去从软驱加载的麻烦步骤。所需的软件及下载地址:
  ① XP安装光盘
  ② Microsoft.Net Framework 2.0
  http://drivers.mydrivers.com/drivers/135-54350
  ③ nLite软件
  http://download.it.com.cn/softweb/software/system/syscomain/200412/4093.html
  ④ Intel RAID驱动
  针对32位的Windows XP/2000系统:
  http://america.giga-byte.com/FileList/Driver/motherboard_driver_sataraid_intel_bootdisk_32.exe
  针对64位的Windows XP系统:
  http://america.giga-byte.com/FileList/Driver/motherboard_driver_sataraid_intel_bootdisk_64.exe
  ⑤ Intel Matrix Storage Manager 7.6驱动程序
  http://drivers.mydrivers.com/drivers/181-72432
  安装步骤如下:
  (1)安装Microsoft.Net Framework 2.0、nLite软件,把XP安装光盘放入光驱。
  (2)启动nLite, 在“Windows安装文件所在位置”对话框中指定为光驱。然后nLite会让你选择“修改保存Windows安装文件所在位置”,选择任意一个空白文件夹即可。
  (3)进入“任务选择”菜单,选中“整合驱动”以及“创建可引导ISO”两项。在进一步的对话框中点击“插入”,选择Intel RAID驱动包中的iaStor.Inf文件,然后软件会列出所有包含的驱动,全部选择并添加即可。
  (4)选择生成ISO文件或者直接刻录成新的XP安装光盘。
  注:上述步骤同样适用于NVIDIA、AMD、SiliconImage、JMicron、Marvell等其他芯片组实现无软驱安装RAID驱动,只需在步骤3中选择添加相应的RAID驱动包。
  (5)接着使用该光盘安装XP,你会发现已经不用从软驱加载RAID驱动了。顺利完成系统安装之后还要安装Intel的Matrix Storage Manager驱动程序。
3.RAID性能测试
  点击“开始”菜单的Intel Matrix Storage Console快捷方式,并且选择进入高级模式,可以看到两个HD250HJ硬盘都工作在磁盘阵列Array_0000中,并且同时存在RAID 0、RAID 1两个卷。

  接着用HD Tune、HD Tach等磁盘测试软件来检测组建Matrix RAID之后的性能提升。从测试图中可以看到,RAID 0部分的读写性能实现了成倍的提升,可以很好地提高系统的运行速度。而RAID 1部分性能虽然没有得到提升,但由于是映像阵列,可以在两个硬盘中同时存储相同的数据,即使一个硬盘损坏,还可以在另一个硬盘中找到保存的相关数据,确保了数据的安全性。

写在最后
  利用Intel独有的Matrix RAID功能,我们可以在只有两个硬盘的情况下同时实现RAID 0和RAID 1两种磁盘阵列方式。可以在RAID 0分卷中安装操作系统和应用程序,而在RAID 1分卷中保存重要的数据,从而搭建起一个读写速度与数据安全性并重的廉价RAID磁盘阵列系统。使用Intel芯片组的朋友赶紧动手吧,体验一下Matrix RAID的独特魅力。

 
From:http://www.itcomputer.com.cn/Article/Network/201309/1061.html
    Copyright © 2005-2013 电脑知识网 Computer Knowledge   All rights reserved.