教你如何解决telnet漏洞问题(1)
教你如何解决telnet漏洞问题(1)
telnet漏洞问题,一直是我们对它忧心忡忡的焦点问题。这个问题到底如何来解决呢?下面我们对一位网友的文章进行了整理和分享。希望在这里能够跟大家一起讨论下这个问题。那么具体的内容请浏览下文。
早期Solaris 2.6、7 和 8 的 telnetd存在一个漏洞, 可以通过/bin/login的环境变数 TTYPROMPT 绕过验证,导致无需身份认证即可登录。最近,Solaris 10的telnet又被发现出现了漏洞,Sun也及时推出了补丁。
我们先来看问题的症状。漏洞出现的系统环境为Solaris 10及以后版本,安装时没有选择默认安装。漏洞表现为通过在Solaris的telnet命令的-l选项后指定任意一个“-fusername”参数,就可以直接登录进入Solaris系统。
命令格式:
- telnet -l "-fbin" target_address
下面是通过telnet漏洞以bin用户登录系统的演示。
- # telnet -l "-fbin" myhost
- Trying 172.21.60.120...
- Connected to myhost.
- Escape character is '^]'.
- Sun Microsystems Inc. SunOS 5.10 Generic January 2005
- $ id -a
- 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服务是否启动。
- # svccfg list | grep telnet
- network/telnet
- # svcs -l network/telnet
- fmri svc:/network/telnet:default
- name Telnet server
- enabled true
- stateonline
- next_state none
- state_time Mon Feb 26 03:50:13 2007
- restartersvc:/network/inetd:default
禁止telnet服务。
- # svcadm disable svc:/network/telnet:default
2. 下载安装Sun的安全补丁需Sun服务支持)。
评论暂时关闭